Злучэнне, якое працуе пасля ўваходу і зрываецца да яго, звычайна азначае, што спроба пры загрузцы не здолела атрымаць сакрэт, а не што сервер яго адхіліў. Уліковыя даныя існуюць; кантэксту, які іх запытвае, няма. Гэта адрозненне зберагае непатрэбны скід пароля.

Прасочыце запыт: нешта запускае злучэнне да таго, як існуе сеанс працоўнага стала, а сховішча сакрэтаў, якое звычайна адказвае, яшчэ не разблакаванае. Два кантэксты не сыходзяцца ў тым, каму належыць сакрэт, і профіль запісвае, які з іх павінен яго падаць.

Што насамрэч запытвае шлях загрузкі

Пры загрузцы NetworkManager запускаецца як сістэмная служба без сеансу карыстальніка, без сеансавага D-Bus і без разблакаванай звязкі ключоў. Профіль злучэння ўсё яшчэ можна падняць, але толькі з сакрэтамі, да якіх служба можа дабрацца сама. Усё, чым валодае агент сакрэтаў, чакае, пакуль чалавек увойдзе і агент з'явіцца. Служба робіць менавіта тое, што кажа яе канфігурацыя; змяніць трэба профіль.

Збой запісаны ў злучэнні, а не схаваны ў звязцы ключоў.

Чытанне сцягоў сакрэтаў у злучэнні

Спытайце ў злучэння, чаго яно чакае, а не што памятае працоўны стол. Стоўпец сцягоў адказвае на пытанне напрамую, і ён перажывае перазагрузкі ў файле профілю на дыску.

Пачніце са спісу профіляў, затым пацвердзіце, якое злучэнне наладжана падымацца само. Пасля выгрузіце адно злучэнне і прачытайце сцягі пароля:

nmcli -f NAME,UUID,TYPE,AUTOCONNECT connection show
nmcli connection show "Work VPN" | grep -i -E "password|secret|key"
journalctl -b -u NetworkManager --grep "secret"

Першая каманда пацвярджае, якія профілі існуюць і ці адно з іх наладжана на аўтападключэнне, менавіта так і пачынаецца спроба без нагляду. Другая паказвае значэнні сцягоў, а трэцяя паказвае, як служба скардзіцца, што ніводны агент не адказаў за дадзены сакрэт. Радок журнала, які называе сакрэт уласнасцю агента, — гэта ўвесь дыягназ у адным сказе.

Flag valueWhere the secret livesBehaviour before login
0Stored in the connection profileAvailable to the system service
1Owned by a secret agentBlocks until the agent is unlocked
2Never storedPrompts on every activation
4Not requiredNever requested at all

Чаму перанос злучэння ў сістэмную сферу змяняе адказ

Злучэнне, якое належыць карыстальніку, актывуецца пад яго агентам, і таму яно бездакорна працуе, як толькі працоўны стол падняты. Перанос у сістэмную сферу прыбірае агента з шляху, таму той жа профіль паводзіць сябе інакш без змены хоць аднаго радка канфігурацыі VPN.

Гэты перанос — законны дызайн, і ён нясе патрабаванне: сакрэт павінен быць дасягальны для сістэмнай службы. Захаваць яго ў профілі, падаць праз уліковыя даныя сістэмнай сферы або прыняць інтэрактыўны запыт у патрэбны момант — усе гэта слушныя адказы. Пакінуць сцяг 1 і спадзявацца — не.

Прыватны ключ з уласнай парольнай фразай дадае другі слой. Нават захаваны пароль уліковага запісу не адчыніць ключ, які патрабуе парольную фразу, таму праверце, які менавіта сакрэт запытвае збойная стадыя, перш чым нешта змяняць.

Чаго не рабіць і што рабіць замест гэтага

Зрабіць кожны файл уліковых даных чытальным для ўсіх або адключыць аўтэнтыфікацыю, каб запыт не спатрэбіўся, — гэта абмен незручнасці запуску на пастаянную адкрытасць. Абодва таксама хаваюць залежнасць замест таго, каб яе вырашыць, і наступнае абнаўленне вобраза вяртае той жа збой.

Выкарыстайце механізм, які ваша дыстрыбуцыя дакументуе для актывацыі без нагляду на гэтай стадыі, затым пацвердзіце, што сцягі профілю яму адпавядаюць. Праверце вынік з чыстай загрузкі, а не з абалонкі, у якой ужо ёсць агент. Запішыце ўладальніка злучэння, крыніцу сакрэта і стадыю, якая павінна працаваць, каб пазнейшае змяненне аўтазапуску не магло ціха вярнуць залежнасць ад таго, што хтосьці спачатку разблакуе працоўны стол. Дакументацыя — гэта розніца паміж выпраўленай службай і той, што зноў зломіцца ў наступным квартале.

Тэстуйце з кантраляванай чыстай загрузкі, а не з ручной паўторнай спробы пасля ўваходу. Паўторная спроба ўдаецца з той прычыны, з якой злавалася спроба пры загрузцы, і гэта менавіта тое доказам, якое хуткі тэст знішчае.

Падобныя артыкулы