Кожен рецепт автоматичного повторного підключення рано чи пізно впирається в те саме питання: де живе пароль. Популярна відповідь — сама дія завдання, і це найгірше місце для нього. Існують дві інші схеми. Яка підходить, залежить від того, чи може машина автентифікуватися без людини та чи приймає сервер сертифікати.

Що дія завдання залишає читабельним

Аргументи в запланованому завданні — частина його визначення, а не приховане значення часу виконання. Будь-хто, хто може прочитати завдання, відновити його резервну копію або експортувати його XML, бачить рядок саме так, як ви його ввели. Під час запуску той самий рядок з'являється у списку процесів. Агент моніторингу може скопіювати його в журнал, який ви ніколи не переглядаєте.

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

Перевірте, перш ніж припускати протилежне. Перша команда друкує повне визначення, включно з дією та її аргументами. Друга показує, які облікові дані поточний обліковий запис зберіг у кеші, що важливо для альтернативних схем нижче. Якщо пароль з'являється в XML завдання, його зміна — лише половина виправлення, бо завдання все ще зберігає старе значення.

Що насправді дає збережений заздалегідь спільний ключ

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

Для лабораторного зв'язку між двома машинами, якими ви керуєте, такий обмін може бути прийнятним. Для облікових даних користувача на спільному вузлі — ні. Називати це зашифрованим сховищем не змінює того, хто може його прочитати. Телефонна книга — це файл конфігурації. Плануйте для людини, яка може його відкрити, а не лише для того, хто може увійти як користувач.

Облікові дані Winlogon прибирають секрет і додають залежність

-UseWinlogonCredential обирає інший шлях. Підключення автентифікується з MSCHAPv2 за обліковими даними користувача, який увійшов. Для цього облікового запису нічого додатково не зберігається.

Додана залежність значна. Потрібен інтерактивний вхід, з якого можна позичити, а це виключає службовий обліковий запис і завдання до входу. Підключення також успадковує все, до чого облікові дані цього користувача можуть дістатися на сервері. Читайте перемикач як твердження про те, звідки беруться облікові дані, а не як налаштування безпеки. Він змінює джерело і нічого в тому, як сервер згодом авторизує сеанс.

Автентифікація сертифікатом масштабується, бо нічого не зберігається

Там, де сервер підтримує EAP-TLS, сертифікат машини повністю прибирає спільний секрет, а відкликання відбувається на рівні сертифіката. Завдання, що працює як SYSTEM, може пред'явити цей сертифікат без інтерактивного входу. Підтвердьте, що сервер приймає автентифікацію сертифікатом, перш ніж будувати на ній. Схема, що залежить від непідтримуваного методу, — це план, а не рішення. Потім вирішіть, де живе закритий ключ: сховище машини для ідентичності пристрою, сховище користувача для людини.

Там, де імені користувача й пароля не уникнути, зберігайте їх у Credential Manager з областю дії на власний обліковий запис завдання. Нехай клієнт читає їх звідти, а не з аргументу. Секрет, який завдання може отримати, не друкуючи його, — менша проблема, ніж записаний у його визначенні.

Перегляньте артефакти перед наступною ротацією

Дивіться на те, що зберігається, а не на те, що ви задумали. Перевірте телефонну книгу для кожного користувача, копію для всіх користувачів, XML завдання і будь-який скрипт, що викликає команду набору. Потім підтвердьте, що сертифікат або кешовані облікові дані обмежені обліковим записом, який використовує завдання, бо облікові дані, збережені для вашого інтерактивного облікового запису, невидимі для SYSTEM.

Запишіть метод автентифікації та обліковий запис у примітках самого завдання. Наступній людині, яка змінить політику сервера, потрібно знати, яка схема використовується. Ця відповідь не видна лише з поведінки під час повторного підключення. Напишіть її там, куди наступна ротація подивиться насамперед.

Схожі статті