Сборка и тестирование шаблонов безопасности в Windows XP и Windows 2000
Шаблоны безопасности являются обыкновенными ASCII-файлами, поэтому теоретически их можно создавать с помощью Notepad. Хотя лучше вместо этого воспользоваться оснасткой Security Templates консоли Microsoft Management Console (MMC) в Windows XP и Windows 2000.
Сначала нужно открыть пустую консоль MMC, щелкнуть Start, Run, ввести
mmc /a
и нажать Enter. В этой консоли следует щелкнуть File (или Console в Windows 2000), затем пункт Add/Remove, чтобы открыть диалоговое окно Add/Remove Snap-in. Щелкните Add для доступа к диалоговому окну Add Standalone Snap-in, выберите Security Templates, затем щелкните Add. Далее нажимаем Close, затем OK, и можно двигаться дальше.
Управление оснасткой
На древовидной структуре корня консоли можно увидеть значок Security Templates — компьютер и символ замка рядом с ним. Если открыть этот значок, станет виден путь к шаблонам безопасности вашей системы. Шаблоны безопасности расположены в папке \%systemroot% и внутри папки \security\templates. Раскроем этот объект, появится список встроенных шаблонов безопасности. Количество встроенных шаблонов меняется в зависимости от версии операционной системы и установленных пакетов обновлений.
Например, один из встроенных шаблонов на моем компьютере XP называется setup security. Данный шаблон возвращает настройки реестра, разрешений NTFS, пользовательских прав и системных служб в то состояние, которое они имели при поставке системы. Это исключительно полезная функция, если в результате экспериментов с настройками администратор перепутал их и не хочет, чтобы система вышла из строя. Разумеется, если требуется сохранить какие-то внесенные в систему изменения, при применении шаблона setup security они будут утеряны. Windows 2000 содержит шаблоны basicws.inf, basicsv.inf и basicdc.inf (для рабочих станций, рядовых серверов и контроллеров доменов, соответственно), которые выполняют те же функции, что и шаблон setup security.
Ряд шаблонов повышает уровень безопасности системы на несколько порядков. Securedc.inf (для контроллеров доменов) и securews.inf (для рядовых серверов и рабочих станций) обеспечивают низкую степень безопасности системы, а hisecdc.inf и hisecws.inf — безопасность высокого уровня. Конечно, «безопасность высокого уровня» звучит более привлекательно, однако стоит дважды подумать, прежде чем применять шаблоны hisecdc.inf и hisecws.inf. Некоторые настройки могут сделать невозможным взаимодействие систем Windows XP или Windows 2000 с системами Windows NT 4.0 или Windows 9x. Если один из этих шаблонов все-таки был применен и это имело досадные последствия, можно воспользоваться шаблонами basicx.inf и setup security, которые возвращают безопасность системы в первоначальное состояние. Кроме того, существует шаблон compatws.inf, который меняет настройки списков доступа (ACL) реестра и разрешений NTFS на менее безопасный, соответствующий NT 4.0, вариант. Некоторые старые приложения просто не будут работать на системах Windows XP или Windows 2000, если не применить compatws.inf.
Если раскрыть любую папку в Security Templates, то в правой панели будут показаны папки, которые соответствуют контролируемым с помощью security templates элементам:
- Account Policies — для управления паролями, блокировками и политиками Kerberos;
- Local Policies — для управления параметрами аудита, пользовательскими правами и настройками безопасности;
- Event Log — для управления параметрами системного журнала и программы просмотра системного журнала NT;
- Restricted Groups — для определения того, что входит и что не входит в различные локальные группы;
- System Services — для включения и отключения служб и присвоения права модификации системных служб;
- Registry — для назначения разрешений на изменение и просмотр конкретных разделов реестра и включения аудита изменений реестра;
- File System — для управления разрешениями NTFS для папок и файлов.
Создание шаблона
Построим шаблон с нуля. Для этого нужно щелкнуть правой кнопкой по пути шаблона (мой путь C:\windows\security\templates), выбрать в меню New Template и ввести имя. Для примера назовем этот шаблон Simple. Новый шаблон появится в виде папки в левой панели под встроенными шаблонами. Теперь, только для пробы, сократим группу Administrators, зададим список доступа к папке C:\adminstuff и отключим службу Indexing Service. Все это можно сделать через папки в Simple.
Сначала следует очистить группу Administrators и добавить в нее локального администратора и доменную группу Domain Admins. Затем требуется раскрыть Simple и щелкнуть на папке Restricted Groups. Если на компьютере установлена XP, в правой панели появится надпись There are no items to show in this view («Нет элементов для отображения в этом окне»), если же ящик работает под Windows 2000, то в правой панели не будет ничего. Необходимо щелкнуть правой кнопкой по Restricted Groups и выбрать Add Group. В диалоговом окне Add Group следует щелкнуть Browse и выбрать локальную группу Administrators рабочей станции или рядового сервера. Важно убедиться, что выбрана группа Administrators локального компьютера, а не домена. Если регистрация выполнялась на рабочей станции с доменной учетной записью, то в диалоговом окне Browse можно будет добавлять элементы из домена, но не из рабочей станции или рядового сервера. Можно вообще пропустить процесс просмотра и просто ввести Administrators в диалоговом окне Add Group. Вернувшись в окно Add Group, нужно нажать OK. В XP на экране сразу появится новое диалоговое окно под названием Administrators Properties. В Windows 2000 нужно щелкнуть правой кнопкой по Administrators в правой панели и выбрать Security для доступа к диалоговому окну, которое озаглавлено Configure Membership for Administrators.
В этом диалоговом окне две секции: верхняя — Members of this group («Состав данной группы») и нижняя — This group is a member of («Эта группа входит в состав...»). После щелчка Add в верхней секции открывается диалоговое окно Add Member («Добавить нового члена»). В Windows 2000 нужно щелкнуть Browse и выбрать группу Domain Admins своего домена. В XP после нажатия Browse появляется диалоговое окно Select Users or Groups, в списке которого нет группы Domain Admins. В XP следует щелкнуть Object Types, выбрать Groups и щелкнуть OK для возврата в окно Select Users or Groups. Затем нужно выбрать Domain Admins, щелкнуть OK для возврата в Add Member и нажать OK для возврата в диалоговое окно Administrators Properties. Те же шаги требуется выполнить для добавления учетной записи локального администратора и щелкнуть OK.
Теперь настроим шаблон безопасности таким образом, чтобы любая система, имеющая папку C:\adminstuff, делала ее доступной только для локальных администраторов. Снова в левой панели Console Root нужно щелкнуть правой кнопкой по File System и выбрать Add File. В открывшемся диалоговом окне необходимо либо просмотреть определенный каталог, либо просто ввести имя каталога. Ввод имени каталога будет работать, даже если на том компьютере, где создается шаблон, папки с таким именем нет. Следует ввести:
C:\adminstuff
Появится стандартное диалоговое окно разрешений NTFS. Нужно удалить существующие разрешения и установить разрешение Full Control для локальной группы Administrators. Также можно выполнить дополнительные настройки NTFS, такие, как установка аудита списков ACL и назначение владельца объекта. Программа спрашивает, следует ли применить эти разрешения только к самой папке или ко всем ее каталогам. Требуется выбрать любой вариант и щелкнуть OK.
Пока существуют CodeRed и Nimda, я не могу чувствовать себя спокойно при включенной службе Indexing Service, поэтому на тех системах, где эта служба не нужна, предпочитаю отключать ее. В левой панели Console Root необходимо щелкнуть папку System Services. В правой панели нужно указать Indexing Service и выбрать Properties (в Windows XP) или Security (в Windows 2000). В меню следует выбрать пункт Define this policy setting in the template («Определить настройки данной политики в шаблоне»), который открывает диалоговое окно Security for Indexing Service. Затем нужно щелкнуть Cancel для возврата к Indexing Service Properties (в XP) или Template Security Policy Setting (в Windows 2000). В этом окне необходимо выбрать Disabled, затем щелкнуть OK.
Для сохранения шаблона нужно выполнить двойной щелчок мышью в левой панели Console Root и нажать Save. Теперь у нас имеется файл с именем simple.inf в папке \winnt\security\templates или \windows\security\templates. Для активизации шаблона следует использовать команду Secedit (текст команды должен располагаться на одной строке):
secedit /configure /cfg
<templatefilename>
/db <databasefilename>
/overwrite /log <logfilename>
Здесь templatefilename — это ASCII-имя файла шаблона безопасности (C:\windows\security\templates\simple.inf), а databasefilename — имя файла базы данных безопасности.
Шаблон безопасности можно сравнить с небольшим исходным программным кодом: он может непосредственно читаться пользователем и не может исполняться компьютером. Подобно тому, как исходный код должен быть откомпилирован в исполняемый, шаблон безопасности должен быть превращен в двоичную форму, называемую базой данных безопасности, только нужно присвоить путь и имя файла базе данных — в нашем случае — C:\security\simple.db.
Наконец, для вывода отчета Secedit требуется указать имя ASCII-файла. Следуя логике именования, назовем его C:\security\simple.log. При использовании параметра /overwrite команда Secedit перезаписывает существующий файл с таким именем. Окончательный конкретизированный вариант команды в нашем случае таков:
secedit /configure /cfg
C:\windows\security\templates simple.inf /db
C:\security\simple.db
/overwrite /log C:\security\simple.log
Не беда, что приходится вводить в командной строке много текста — результаты стоят того.