Зауставите 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-а и може се појавити у списку процеса; користите интерактивно питање или агента.
Проверите поновним повезивањем
Поновите наредбу која је показала тајну и потврдите да се поље више не исписује. Затим се одспојите и поново повежите, и поново покрените ако веза почиње аутоматски, јер се занимљив квар појављује само кад се промени контекст сесије.
Ако се тајна и даље појављује, доставља је други профил или други агент. Прегледајте активну везу и привезак за кључеве уместо да бришете датотеке док се симптом не помери.