Не дазваляйце 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 і можа з’явіцца ў спісе працэсаў; карыстайцеся інтэрактыўным запытам або агентам.
Праверце, падключыўшыся нанова
Паўтарыце каманду, якая паказала сакрэт, і пераканайцеся, што поле больш не выводзіцца. Потым адключыцеся і падключыцеся зноў, а калі злучэнне запускаецца аўтаматычна — перазагрузіцеся, бо цікавы збой з’яўляецца толькі пры змене кантэксту сеанса.
Калі сакрэт усё яшчэ паказваецца, яго падае іншы профіль або іншы агент. Аглядзіце актыўнае злучэнне і звязку ключоў замест таго каб выдаляць файлы, пакуль сімптом не пераедзе.