Всяка рецепта за автоматично повторно свързване рано или късно среща същия въпрос: къде живее паролата. Популярният отговор е самото действие на задачата, което е и най-лошото място за нея. Съществуват два други варианта. Кой от тях е подходящ зависи от това дали машината може да се удостовери без човек и дали сървърът приема сертификати.

Какво оставя четимо действието на задачата

Аргументите в планирана задача са част от нейното определение, а не скрита стойност по време на изпълнение. Всеки, който може да прочете задачата, да възстанови нейно резервно копие или да експортира XML-а й, вижда низа точно както сте го въвели. По време на изпълнение същият низ се появява в списъка с процеси. Агент за мониторинг може да го копира в журнал, който никога не преглеждате.

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

Проверете, преди да предполагате друго. Първата команда отпечатва пълното определение, включително действието и аргументите му. Втората показва кои идентификационни данни е кеширал текущият акаунт, което е важно за алтернативните варианти по-долу. Ако паролата се появи в XML-а на задачата, смяната й е само половината от поправката, защото задачата все още пази старата стойност.

Какво наистина дава запазен предварително споделен ключ

Add-VpnConnection -L2tpPsk записва ключа в записа на телефонния указател на връзката, а не в задача. Това е по-малка повърхност на излагане от действие на задача. Все пак това е възстановима тайна, защото администратор на машината може да прочете телефонния указател.

За лабораторна връзка между две машини, които контролирате, тази размяна може да е приемлива. За потребителски идентификационни данни на споделена крайна точка не е. Наричането й криптирано хранилище не променя кой може да я прочете. Телефонният указател е конфигурационен файл. Планирайте за човека, който може да го отвори, а не само за човека, който може да влезе като потребителя.

Идентификационните данни на Winlogon премахват тайната и добавят зависимост

-UseWinlogonCredential поема по различен път. Връзката се удостоверява с MSCHAPv2 срещу идентификационните данни на влезлия потребител. За този акаунт не се съхранява нищо допълнително.

Добавената зависимост е значителна. Трябва да има интерактивно влизане, от което да се заеме, което изключва служебен акаунт и задача преди влизане. Връзката също наследява всичко, до което идентификационните данни на този потребител могат да достигнат на сървъра. Четете превключвателя като твърдение за това откъде идват идентификационните данни, а не като настройка за сигурност. Той променя източника и нищо в това как сървърът оторизира сесията след това.

Удостоверяването със сертификати се мащабира, защото нищо не се съхранява

Когато сървърът поддържа EAP-TLS, сертификат на машината премахва споделената тайна напълно и отозоването става на слоя на сертификата. Задача, работеща като SYSTEM, може да представи този сертификат без интерактивно влизане. Потвърдете, че сървърът приема удостоверяване със сертификати, преди да градите върху него. Дизайн, който зависи от неподдържан метод, е план, а не решение. След това решете къде живее частният ключ: хранилището на машината за идентичност на устройство, хранилището на потребителя за човек.

Когато потребителско име и парола не могат да се избегнат, съхранявайте ги в Credential Manager, ограничени до собствения акаунт на задачата. Нека клиентът ги чете оттам, а не от аргумент. Тайна, която задачата може да извлече, без да я отпечатва, е по-малък проблем от такава, записана в определението й.

Прегледайте артефактите преди следващата ротация

Гледайте какво се съхранява, а не какво сте възнамерявали. Проверете телефонния указател за отделния потребител, копието за всички потребители, XML-а на задачата и всеки скрипт, който извиква командата за набиране. След това потвърдете, че сертификатът или кешираните идентификационни данни са ограничени до акаунта, който задачата използва, защото идентификационни данни, съхранени за вашия интерактивен акаунт, са невидими за SYSTEM.

Запишете метода за удостоверяване и акаунта в бележките на самата задача. Следващият човек, който ще промени политиката на сървъра, трябва да знае кой дизайн се използва. Този отговор не се вижда само от поведението при повторно свързване. Напишете го там, където следващата ротация ще погледне първо.

Подобни статии