Учетные данные в Bootstrap.ini
Я еще вернусь к объяснению того, как настраивать и использовать MDT базу данных, но на данный момент я бы хотел поднять тему безопасности MDT. Пока что в этом цикле статей об установке Windows 7 нас не очень заботила безопасность. Например, файл Bootstrap.ini, который мы использовали для установочного ресурса в этой статье, выглядит так:
[Settings]
Priority=Default
[Default]
DeployRoot=\\SEA-DC1\DeploymentShare$
UserID=Administrator
UserDomain=CONTOSO
UserPassword=Pa$$w0rd
KeyboardLocale=en-US
SkipBDDWelcome=YES
Пользовательская учетная запись, указанная свойствами UserID, UserPassword и UserDomain в файле Bootstrap.ini, используется мастером Windows Deployment Wizard на целевом компьютере для подключения к установочному ресурсу на сервере MDT и для доступа к содержимому этого ресурса. До настоящего времени мы использовали стандартную учетную запись администратора в домене для этой цели. Есть две причины, по которым это не является хорошей мыслью.
Во-первых, если вы инициируете Lite Touch (LTI) установку вручную посредством загрузки своих целевых компьютеров с использованием диска LiteTouchPE CD, вы должны знать о том, что ваш файл Bootstrap.ini имеется на этом CD. Чтобы увидеть это, давайте начнем с рассмотрения содержимого LiteTouchPE CD в проводнике Windows Explorer (рисунок 1):
Рисунок 1: Содержимое LiteTouchPE CD в проводнике Windows Explorer
Обратите внимание, что большая часть CD состоит из файла образа Windows Boot.wim, который расположен в папке \sources вашего CD (папка \boot содержит только некоторые файлы, используемые для того, чтобы CD мог загрузить и смонтировать этот образ). Теперь допустим, что вы оставили свой LiteTouchPE CD лежать, а кто-то его украл. После этого вор мог установить Windows AIK 2.0 на компьютер и смонтировать Boot.wim файл на этом CD в пустую папку, используя команду Imagex, как показано на рисунке 2:
Рисунок 2: Монтирование файла Boot.wim с LiteTouchPE CD
После того как файл Boot.wim был смонтирован в пустую папку (в примере мы назвали ее C:\PEbootfiles), вор может просмотреть содержимое смонтированного образа с помощью проводника Windows Explorer (рисунок 3):
Рисунок 3: Ваш Bootstrap.ini файл находится в Boot.wim файле диска LiteTouchPE CD
Затем вор мог открыть Bootstrap.ini в Блокноте (рисунок 4):
Рисунок 4: Этот Bootstrap.ini файл содержит учетные данные администратора вашего домена!
На данном этапе вся ваша инфраструктура Windows была скомпрометирована, поскольку вор получил учетные данные администратора домена. Итак, если вы собираетесь использовать учетные данные администратора домена в Bootstrap.ini файле, вам обязательно нужно защитить ваш LiteTouchPE CD (или DVD или USB в зависимости от носителя, который вы используете для установки LTI). Другими словами, необходимо защитить такой носитель от несанкционированного доступа.
Другой проблемой безопасности является передача учетных данных по сети. Когда вы загружаете целевой компьютер в Windows PE с помощью загрузочного носителя LiteTouchPE, компьютер получает IP с DHCP сервера, а затем пытается установить соединение с установочным ресурсом на вашем MDT сервере. Если вы используете MDT в сценарии New Computer (то есть, выполняете пустую установку на целевой компьютер, на котором отсутствует ОС) то используется Kerberos или NTLM аутентификация для защищенной передачи учетных данных, указанных в Bootstrap.ini файле, с целевого компьютера на MDT сервер, и кто-то, прослушивающий сеть, не сможет украсть эти учетные данные. Но если вы используете MDT в сценарии Refresh Computer (то есть для записи другого образа на существующий компьютер с сохранением/восстановлением пользовательской информации) то Bootstrap.ini обрабатывается из установочного ресурса и учетные данные передаются по сети чистым текстом. Это означает, что если кто-то прослушивает сеть, в данной ситуации он может украсть указанные в Bootstrap.ini мандаты, и если это учетные данные администратора домена Domain Admins, то ваша сеть будет скомпрометирована.
Конечно, если вы используете MDT в тестовой среде или в защищенной лаборатории, которая является зеркалом вашей рабочей инфраструктуры, но имеет другой домен, то вполне можно оставлять учетную запись администратора домена в Bootstrap.ini, как показано на рисунке 4 выше. Но если вы используете MDT в производственной среде, лучше этого не делать. Мы рассмотрим возможные решения чуть позже.
Учетные данные в CustomSettings.ini
Другим местом, где учетные данные указываются в MDT, является файл CustomSettings.ini вашего установочного ресурса. Если говорить точнее, то следующая его часть используется для автоматизации процесса присоединения целевых компьютеров к домену на последней стадии установки:
JoinDomain=CONTOSO
DomainAdmin=Administrator
DomainAdminDomain=CONTOSO
DomainAdminPassword=Pa$$w0rd
Обратите внимание, что мы использовали ту же учетную запись (CONTOSO\Administrator) в этой статье в файле Bootstrap.ini (чтобы предоставить целевым компьютерам доступ к установочному ресурсу) и в CustomSettings.ini (для присоединения целевого компьютера к домену после окончания установки). Однако файл CustomSettings.ini отсутствует в LiteTouchPE загрузочном носителе в отличие от Boostrap.ini файла, так что это не проблема. Но в любом сценарии установки, где осуществляется автоматизированное присоединение к домену, вышеуказанная информация файла CustomSettings.ini передается по сети с MDT сервера на целевую машину открытым текстом. Это означает, что если вы используете учетную запись администратора домена для автоматического присоединения компьютеров к домену, кто-то, прослушивающий сеть, может с легкостью скомпрометировать всю вашу сеть. Проблема заключается в том, что учетная запись с уровнем прав администратора требуется, если вы хотите присоединить свои компьютеры к домену. Есть определенные решения этой проблемы.
Использование разных учетных записей установки и присоединения
Если вы собираетесь использовать MDT сервер для установки Windows в производственной среде, первое, что вы можете сделать для защиты MDT, это использовать отдельные учетные записи пользователей для подключения к установочному ресурсу и для присоединения компьютеров к домену. В этом примере мы создадим две новых учетных записи пользователя:
- mdt_build эта учетная запись "build" будет использоваться для обеспечения подключения целевых компьютеров к установочному ресурсу.
- mdt_join эта учетная запись "join" будет использоваться для автоматического присоединения целевых машин к домену по окончании процесса установки.
Когда вы создаете эти учетные записи в Active Directory Users and Computers, они автоматически становятся членами группы пользователей домена. Давайте оставим все как есть на некоторое время ' не добавляйте эти записи в группу администраторов домена.
Теперь давайте рассмотрим ACLs в установочном ресурсе. На рисунке 5 показано, что группа пользователей (Users) на сервере MDT, которая включает группу пользователей домена, имеет разрешения на чтение и выполнение (Read & Execute) в ресурсе:
Рисунок 5: ACL группы пользователей для установочного ресурса
Теперь если вы используете этот установочный ресурс только для установки Windows на целевые компьютеры, то разрешений на чтение и выполнение будет достаточно, поскольку они позволяют целевым машинам читать файлы, содержащиеся в ресурсе и выполнять сценарии и программы из этого ресурса. Другими словами, наша учетная запись build, указанная в Bootstrap.ini, может быть простой записью пользователя домена, и вовсе не должна быть учетной записью администратора домена. Это хорошая новость! Итак, давайте двигаться дальше. Изменяем учетную запись, указанную в UserID свойстве в нашем файле Bootstrap.ini с администратора на mdt_build. Когда мы это сделаем, наш новый Bootstrap.ini файл будет выглядеть, как на рисунке 6:
Рисунок 6: Bootstrap.ini теперь указывает учетную запись пользователя домена
Не забудьте, что после внесения изменений в Bootstrap.ini, необходимо обновить ваш установочный ресурс (рисунок 7):
Рисунок 7: Всегда обновляйте установочный ресурс после изменения Bootstrap.ini
И не забывайте также о том, что после обновления установочного ресурса, нужно прожигать новый LiteTouchPE CD, поскольку в него включен Bootstrap.ini файл.
Итак, пока все идет нормально. Проблема с использованием учетной записи немного сложнее, поэтому о ней мы поговорим позже. А пока лишь нужно сказать, что внесенные вами изменения в Bootstrap.ini файл, что-то нарушили, и если вы сейчас попытаетесь настроить MDT базу данных на установку Windows по-другому на другие компьютеры на базе UUID, MAC адреса или иных свойств машины, как говорилось в части 16 и 17 этого цикла, вы обнаружите, что это у вас не получится! Если говорить точнее, вы сможете установить Windows 7 с помощью MDT, но любые внесенные вами изменения в базе данных MDT не будут применены (и целевой компьютер не будет присоединен к домену). У вас может быть (а может и не быть) отображено сообщение об ошибке в конце установочного процесса, но в любом случае, если вы позже просмотрите BDD.log в %WINDIR%\Temp\Deployment папке журналов на целевом компьютере, вы увидите следующую ошибку:
ZTI error opening SQL Connection: Cannot open database "MDT" requested by the login. The login failed. (-2147467259)
Мы посмотрим, как исправлять эту проблему, в следующей части цикла, где мы также рассмотрим проблему безопасности присоединения к домену.
|