Итак, у меня есть стандартный сценарий PS для входа в Windows, запускаемый из объекта групповой политики во время загрузки, назовем его foo.ps1. Но foo.ps1 должен прочитать пароль откуда-то еще (отдельный файл, называемый bar.dat). Этот пароль не очень эффективен, если к нему должны получить доступ пользователи домена, но я все же хочу реализовать для этого разумную защиту (т. Е. Убедиться, что пользователи домена не могут его прочитать). Насколько я знаю, есть 2 варианта:
- простой, не очень безопасный (делает это на основе прав доступа к файлам)
- сложнее, но очень безопасно (с использованием асимметричного шифрования)
Однако простой вариант, вероятно, не работает (?). Моей первой мыслью было поместить bar.dat в тот же каталог sysvol, где находится foo.ps1, а затем удалить доступ для чтения и выполнения для аутентифицированных пользователей из bar.dat. Мысль: foo.ps1 запускается во время загрузки Windows под локальной учетной записью SYSTEM, и SYSTEM по-прежнему имеет доступ к bar.dat, так что это должно быть хорошо. Однако, поскольку SYSTEM является локальной встроенной учетной записью, которая не используется для проверки подлинности на общих сетевых ресурсах, это означает, что при запуске сценария он, вероятно, запускается под учетной записью domain\computername $, верно? И эта учетная запись будет просто считаться членом "Аутентифицированных пользователей" (вероятно), и когда я ограничу доступ "Аутентифицированных пользователей" к bar.dat, сам скрипт больше не сможет читать файл. Это верно? И есть ли возможность заставить эту конструкцию работать в любом случае?
Следующий вопрос - как реализовать более сложное решение. Кажется, мне нужно создать сертификат RSA и установить его в хранилище сертификатов LocalSystem через другой объект групповой политики на каждом компьютере, на котором должен быть запущен файл foo.ps1. Поначалу это кажется классным, но тогда любой, кто имеет права локального администратора на своем компьютере, сможет использовать этот сертификат для расшифровки всего, что зашифровано этим сертификатом. Правильно? Таким образом, хотя только несколько пользователей имеют права локального администратора на своих компьютерах, это все равно будет означать, что потенциальный доступ к нему имеют больше пользователей, чем просто администраторов.
Как уже упоминалось, это не большая проблема, поскольку рассматриваемый пароль довольно низок, но мне все еще интересно, как лучше всего это реализовать.