Спречете NetworkManager да прикажува зачувана VPN лозинка
Прашајте секој пат, предајте ја на приврзок за клучеви или чувајте датотека само за root. Секој избор носи поинаква изложеност, а знаменцето за лозинката треба да одговара на него.
NetworkManager може да чува VPN лозинка за врската да се подигне без никој да ја внесе, и може повторно да ја прикаже таа вредност преку уредувачот или преку nmcli --show-secrets. Достапни се три модели на сопственост, а однесувањето при прикажување е само симптом за тоа кој сте го избрале. Прво изберете го моделот, потоа поставете го знаменцето што му одговара, наместо да криете поле со заменски текст што ќе го збуни следниот човек.
Три модели на сопственост
Првиот модел прашува секој пат. Ништо не се чува, тајната постои само за време на активацијата, и секој што ја започнува врската мора да ја знае лозинката. Тоа е најмалку удобната опција и најлесната за одбрана.
Вториот ја предава тајната на приврзок за клучеви што му припаѓа на корисникот. Агентот се отклучува кога почнува сесијата и ја доставува вредноста по барање, што ја држи надвор од датотеката за врска, но ја врзува врската за сесијата на тој корисник. Оттука следуваат два услови: агентот мора да работи и мора да биде отклучен.
Третиот чува заштитени акредитиви за системска врска. Тој преживува рестартирања и работи пред некој да се најави, а за возврат вредноста лежи на дискот чувана со дозволи на датотеката, а не со шифрирање.
Секој модел е разумен во вистински контекст. Грешката е да се мешаат, и така преносно сметач завршува со тајна на две места и без јасен одговор која е меродавна. Запишете кој модел го користи профилот. Една линија во прирачникот на тимот го спасува следниот човек од измислување четврто место за проверка.
Прочитајте ја тековната состојба пред да ја смените
Погледнете го профилот и состојбата на тајната како корисник што ја управува врската. Втората наредба е таа што ви кажува дали вредноста е навистина читлива.
nmcli connection show "Office VPN"
nmcli --show-secrets connection show "Office VPN"
sudo stat -c '%U %a %n' /etc/NetworkManager/system-connections/*.nmconnection
Клучната датотека во таа папка обично му припаѓа на root со режим 600. Тоа ги држи обичните корисници надвор и не го држи root надвор, што е важно кога истата машина е споделена или кога резервната копија работи како root.
Дозволите на датотеката се граница, а не шифрирање. Секој што може да ја прочита датотеката како root ја има лозинката во чист текст. Тоа е прифатлива размена за сервер без надзор и лоша за споделена работна станица. Едно запишување спречува долга расправа за тоа дали вредноста е заштитена.
Што прави секоја вредност на знаменцето
VPN тајната носи својство flags, а вредностите не се интуитивни само од броевите.
| Value | Meaning | Practical effect |
|---|---|---|
| 0 | No special flag | Secret is typically saved with the connection |
| 1 | Agent-owned | A keyring or secret agent supplies it |
| 2 | Not saved | Prompted at each activation |
| 4 | Not required | Connection proceeds without asking |
Вистинското однесување зависи и од приклучокот и од тоа дали работи агент, затоа третирајте ја табелата како договор, а забележаното однесување како она што го проверувате. Вредност што работи на една работна површина може да се однесува поинаку на сервер без сесија. Токму во тој јаз живеат повеќето збунувачки барања.
Поставете го својството експлицитно наместо да бришете линија и да се надевате. Отсутно знаменце не е политика, а следното ажурирање на пакетот може да го пополни со нешто што не сте го намеравале.
Усогласете го моделот со моментот кога започнува врската
Ако врската започнува само додека корисникот е најавен, сопственоста на агентот добро одговара и ја држи тајната надвор од датотеката. Ако започнува при подигање, пред да постои каква било сесија, агентот не може да ви помогне.
Тоа е целата одлука за повеќето машини. Тоа исто така објаснува една класа збунувачки извештаи каде врската работи интерактивно и не успева по рестартирање. Знаменцето никогаш не се сменило; контекстот се сменил.
За случајот без надзор, практичниот одговор е ограничена датотека во сопственост на root или одобрен извор на акредитиви. Држете ја надвор од профилот за врска ако тој профил некогаш се извезе или копира на друга машина.
Ако вредноста веќе била видлива, заменете ја
Менувањето на знаменце не ја допира самата лозинка. Вредност што се појавила на слика од екран, во историјата на shell, во пакет испратен до поддршка или во датотека што други корисници можеле да ја отворат треба да се смета за откриена.
Сменете ја на серверот, потоа поправете го клиентот и прекинете ја секоја сесија што се автентицирала со старата. Бришењето на локалната врска не отповикува ништо на другата страна, и токму тоа луѓето го пропуштаат.
Потоа престанете да ја ставате лозинката на командната линија. Таа завршува во историјата на shell и може да се појави во списокот процеси; користете интерактивно барање или агентот.
Проверете со повторно поврзување
Повторете ја наредбата што ја покажа тајната и потврдете дека полето повеќе не се печати. Потоа исклучете се и поврзете се повторно, и рестартирајте ако врската започнува автоматски, бидејќи интересниот дефект се појавува само кога се менува контекстот на сесијата.
Ако тајната уште уште се појавува, ја доставува друг профил или друг агент. Прегледајте ја активната врска и приврзокот за клучеви наместо да бришете датотеки додека симптомот не се премести.