Сваки рецепт за ненадгледано поновно повезивање пре или касније наиђе на исто питање: где живи лозинка. Популаран одговор је сама радња задатка, која је и најгоре место за њу. Постоје два друга дизајна. Који одговара зависи од тога може ли се рачунар аутентификовати без особе и прихвата ли сервер сертификате.

Шта радња задатка оставља читљивим

Аргументи у заказаном задатку део су његове дефиниције, а не скривена вредност у време извршавања. Свако ко може да прочита задатак, врати његову резервну копију или извезе његов XML види низ тачно онако како сте га унели. Током извршавања исти низ се појављује на списку процеса. Надзорни агент може га копирати у дневник који никада не прегледате.

schtasks /query /tn "VPN Reconnect" /xml
cmdkey /list

Проверите пре него што претпоставите супротно. Прва наредба исписује целу дефиницију, укључујући радњу и њене аргументе. Друга показује које је акредитиве тренутни налог сачувао у кешу, што је важно за алтернативне дизајне испод. Ако се лозинка појави у XML-у задатка, њено мењање је само половина поправке, јер задатак још држи стару вредност.

Шта заиста даје сачувани унапред дељени кључ

Add-VpnConnection -L2tpPsk уписује кључ у унос телефонског именика везе, а не у задатак. То је мања површина изложености од радње задатка. Ипак је то обновљива тајна, јер администратор на рачунару може да прочита телефонски именик.

За лабораторијску везу између два рачунара која контролишете та размена може бити прихватљива. За корисничке акредитиве на дељеном одредишту није. Назвати је шифрованим складиштем не мења ко је може прочитати. Телефонски именик је конфигурациона датотека. Планирајте за особу која га може отворити, не само за особу која се може пријавити као корисник.

Winlogon акредитиви уклањају тајну и додају зависност

-UseWinlogonCredential иде другим путем. Веза се аутентификује са MSCHAPv2 према акредитивима пријављеног корисника. За тај налог се ништа додатно не чува.

Зависност коју додаје је значајна. Мора да постоји интерактивна пријава са које се може позајмити, што искључује сервисни налог и задатак пре пријаве. Веза такође наслеђује све што акредитиви тог корисника могу да достигну на серверу. Читајте прекидач као тврдњу о томе одакле акредитив долази, а не као безбедносну поставку. Он мења извор и ништа у томе како сервер потом ауторизује сесију.

Аутентификација сертификатом скалира јер се ништа не чува

Где сервер подржава EAP-TLS, сертификат рачунара потпуно уклања заједничку тајну, а опозив се дешава на слоју сертификата. Задатак који ради као SYSTEM може да представи тај сертификат без интерактивне пријаве. Потврдите да сервер прихвата аутентификацију сертификатом пре него што градите на њој. Дизајн који зависи од неподржаног метода је план, а не решење. Затим одлучите где живи приватни кључ: складиште рачунара за идентитет уређаја, складиште корисника за особу.

Где се корисничко име и лозинка не могу избећи, сачувајте их у Credential Manager ограничене на сопствени налог задатка. Нека их клијент чита одатле уместо из аргумента. Тајна коју задатак може да дохвати без штампања мањи је проблем од оне записане у његовој дефиницији.

Прегледајте артефакте пре следеће ротације

Гледајте шта је сачувано, а не шта сте намеравали. Проверите телефонски именик по кориснику, копију за све кориснике, XML задатка и сваку скрипту која позива наредбу бирања. Затим потврдите да су сертификат или кеширани акредитиви ограничени на налог који задатак користи, јер су акредитиви сачувани за ваш интерактивни налог невидљиви за SYSTEM.

Запишите метод аутентификације и налог у белешке самог задатка. Следећа особа која ће променити политику сервера мора да зна који је дизајн у игри. Тај одговор није видљив само из понашања при поновном повезивању. Напишите га тамо где ће следећа ротација прво погледати.

Повезани чланци