Участники системы безопасности - базовые концепции операционной системы.

В системе безопасности Windows реализована концепция доверительных отношений, которая лежит в основе модели безопасности операционной системы. Участники системы безопасности управляют разделяемыми ресурсами и хранят в базе данных сведения о безопасности, необходимые для предоставления или запрета доступа к этим ресурсам. Пользователи доверяют, что участники системы безопасности достаточно надежно защитят процедуру доступа. Несмотря на отвлеченный характер концепции, понимание ее принципов - ключ к построению безопасной среды Windows. В данной статье рассматривается несколько фундаментальных строительных блоков системы безопасности, их взаимодействие и способы повышения их эффективности.

Границы безопасности: домены и контроллеры домена

Объединив многочисленные ресурсы (например, файлов, принтеров, приложений) под управлением участников системы безопасности, проще применять политики безопасности и выполнять задачи как пользователей, так и администраторов. Домен Windows - административная группа пользователей, компьтеров и разделяемых ресурсов, которые могут управляться различными администраторами.

В Windows NT 4.0 и более ранних версиях, домен был не только границей управления, но и границей безопасности. Положение изменилось с введением леса в Windows 2000. В Windows 2000 и более новых версиях, истинная граница безопасности - лес, а домен выполняет роль раздела для репликации пространства имен Active Directory (AD). AD - каталог на базе LDAP и X.500, введенный в Windows 2000. Раздел репликации пространства имен AD определяет подмножество данных, которое хранятся в AD и реплицируются и синхронизируются между копиями AD на различных контроллерах домена (DC). Самые важные разделы репликации AD - репликация в масштабах всего леса и исключительно доменная репликация. При репликации в масштабах всего леса, данные AD (например, информация о конфигурации сайта) реплицируется между всеми DC в лесу AD. При чисто доменной репликации, подмножество объектов AD (например, учетные записи пользователей и их хэшированные пароли) реплицируются между DC в домене.

Лес состоит из одного или нескольких деревьев доменов. Домены в дереве связаны воедино через доверительные доменные отношения "родитель-потомок", и все домены имеют непрерывное пространство имен DNS. Если лес состоит из нескольких деревьев доменов, то деревья связаны между собой через одноранговые доверительные отношения, устанавливаемые между доменами верхнего уровня деревьев, и пространство имен DNS - прерывистое. Администраторы доменов должны иметь определенное доверие к адмнистраторам леса их предприятия, как и к другим администраторам доменов в лесу; последние имеют доступ к базе данных AD и могут добавлять, удалять или изменять объекты в других местах леса. Более подробно о доверительных отношениях можно прочитать в статье "Доверять или не доверять" в четвертом номере журнала «Windows IT Pro/RE» за 2005 год.

Даже при наличии единственного файл-сервера, его следует ввести в состав домена. Благодаря доменам облегчается задача администратора безопасности и блокируются возможные уязвимые места. Например, предположим, что пользователю необходим доступ к нескольким серверам приложений. Если присоединить эти серверы к домену, то достаточно описать полномочия каждого пользователя только один раз (в базе данных домена), вместо того, чтобы определять пользователя на каждом сервере приложений. Кроме того, поверхность атаки серверов Windows (а также вероятность доступа к ресурсам несанкционированных пользователей) уменьшается, если инфраструктура безопасности построена на основе единой базы данных (домена), а не нескольких баз данных (по одной для каждого сервера приложений - неизбежная ситуация в случае с автономными серверами).

DC - участник системы безопасности в домене. DC хранит базу данных безопасности домена, аутентифицирует субъекты безопасности (которые стремятся воспользоваться ресурсами) и обеспечивает доступ к ресурсам, составляющим часть домена (эта процедура называется управлением доступом). В домене может находиться несколько DC, на каждом из которых размещен экземпляр одной и той же базы данных безопасности домена AD. В этой базе данных хранятся идентификаторы (например, имена пользователей) и учетные записи для аутентификации (например, защищенные копии пользовательских паролей) субъектов безопасности домена. База данных безопасности домена AD в Windows Server 2003 и Windows 2000 заменяет базу данных SAM, используемую в NT 4.0. В NT 4.0, только первичный DC (PDC) хранит экземпляр доменной базы данных, доступный для чтения и записи, а все остальные DC хранят экземпляры, доступные только для чтения, и выполняют роль резервных DC (BDC). Однако каждый контроллер Windows Server 2003 или Windows 2000 содержит экземпляр базы данных службы каталогов домена, доступный для чтения и записи.

Windows также поддерживает участинка системы безопасности другого типа: Local Security Authority (LSA - локальный участник системы безопасности). LSA существует в каждом домене и на автономной системе Windows. Даже контроллеры домена имеют LSA, который активизируется, только если DC загружается в режиме Recovery Console. Одна из задач LSA - проверять корректность локальных попыток регистрации.

Использование ресурсов: субъекты безопасности и учетные записи

Субъекты безопасности стремятся использовать ресурсы (например, файлы, принтеры), приложения или службы, размещенные на компьютере с Windows. Субъектом безопасности может быть пользователь, компьютер, служба или приложение. Каждый субъект безопасности имеет уникальный идентификатор. Уникальная идентификация позволяет отличать субъекты безопасности друг от друга и предоставлять им различные разрешения доступа к ресурсам. Уникальные идентификаторы, используемые Windows для определения субъектов безопасности - регистрационные имена и SID. Регистрационные имена - понятные пользователю и администратору идентификаторы, которые легко прочитать и запомнить. SID - уникальные буквенно-числовые идентификаторы, обрабатываемые внутренним механизмом безопасности операционной системы в процессе определения субъекта. Чтобы найти SID, связанный с субъектом безопасности, следует открыть командную строку и ввести

whoami /logonid

если используется инструмент Whoami, поставляемый в составе Windows 2003; пользователям утилиты, поставляемой в комплекте ресурсов Microsoft Windows 2000 Server Resource Kit следует ввести

whoami /user /sid

Субъекты безопасности могут использоваться как в контексте LSA, так и DC. Запись о субъекте безопасности в базе данных безопасности LSA или DC (то есть, SAM или AD) называется учетной записью. Локальные учетные записи могут использоваться для безопасного доступа к локальным ресурсам системы (например, файлам, папкам, принтерам, приложениям, службам); доменные учетные записи могут быть использованы для безопасного доступа к ресурсам любого компьютера данного или доверительного домена. Существуют различные инструменты для создания, удаления и изменения доменных учетных записей в Windows 2000 и более новых версиях.

  • Оснастка Active Directory Users and Computers консоли Microsoft Management Console (MMC) (Экран 1) - наиболее мощный инструмент управления учетными записями из входящих в состав базовой операционной системы. Он располагает такими компонентами, как шаблонные учетные записи (которые можно использовать для подготовки новых учетных записей на основе готового шаблона) и сохранение запросов к AD. В Windows XP и Windows 2000 Professional эта оснастка доступна только после установки набора Administrative Tools.
  • Объектами AD можно управлять с помощью команд Ds*. В этот набор команд входят Dsadd (для добавления объектов), Dsmod (для изменения объектов), Dsget (для подготовки списков объектов), Dsquery (для генерации запросов AD), Dsrm (для удаления объектов) и Dsmove (для перемещения объектов). Например, чтобы добавить пользователя Joe в организационную единицу (OU) Brussels в базе данных домена HP.net, следует ввести команду
    dsadd user "cn=Joe,ou=Brussels,DC=HP,DC=Net"

Ниже перечислены инструменты для администрирования локальных учетных записей систем - членов домена. Все они предназначены для манипуляций с данными пользовательских учетных записей в базе данных LSA или SAM.

  • Можно использовать диалоговое окно User Accounts (в XP Pro) или диалоговое окно Users and Passwords (в Windows 2003 или Windows 2000). На автономном компьютере Windows 2003 или Windows 2000 можно перейти в диалоговое окно Users and Passwords из раздела Users and Passwords Панели управления. В Windows 2003 или XP диалоговые окна можно вывести на экран, если ввести команду
    control userpasswords2
    в диалоговом окне Run.
  • Можно открыть MMC и добавить оснастку Local Users and Groups. К этой оснастке можно также обратиться, нажав на кнопке Advanced во вкладке Advanced диалогового окна User Accounts.
  • Учетными записями пользователей в SAM или AD можно управлять с помощью команды Net User. Однако, при работе с доменными учетными записями из командной строки, возможности команд серии Ds шире, так как в них используются интерфейсы API AD (в командах Net User используются API NT4).

Защита ресурсов: безопасность важнейших учетных записей

Каждый экземпляр Windows располагает набором готовых учетных записей, автоматически генерируемых в процессе установки операционной системы. Самые важные из них - учетные записи Administrator и Guest.

Защита учетной записи Administrator. Учетная запись Administrator - самая привилегированная в системе Windows. В контексте локальной системы, администратор имеет полный контроль над локальными ресурсами и располагает правом создавать, изменять и удалять другие локальные учетные записи. Администратор домена имеет такие же самые права в отношение ресурсов и учетных записей домена. Из столь выдающегося положения учетной записи Administrator, она стала излюбленной мишенью взломщиков. Главный принцип безопасности - эшелонированная оборона, поэтому в целях максимального повышения безопасности не следует полагаться на единственное решение, а применять их комбинацию. Меры защиты учетной записи Administrator:

  • Не следует использовать учетную запись Administrator для повседневной работы. Это может привести к запуску вредной программы на локальной системе. Пользователи всегда должны работать с учетными записями с меньшими полномочиями, чем у Administrator. Если пользователю необходимо выполнить операции по обслуживанию, связанные с безопасностью, или административные задачи, то можно переключиться в контекст безопасности учетной записи Administrator с помощью такого инструмента, как runas.exe.
  • Обязательно выбрать сложный пароль для учетной записи Administrator.
  • Переименовать учетную запись Administrator. Для этого следует открыть диалоговое окно User Accounts, перейти к вкладке Users, выбрать учетную запись Administrator, щелкнуть на кнопке Properties и отредактировать текстовое поле User name (Экран 2). Иначе, можно использовать объект Group Policy Object (GPO) или параметры Local Security Policy. Для этого следует использовать режим Accounts: Rename the Administrator account. Следует помнить, что этот шаг недостаточен сам по себе; учетную запись можно распознать по SID, который всегда заканчивается на 500.
  • Если в системе Windows 2003 или XP имеется другая учетная запись с административными полномочиями, то учетную запись Administrator можно отключить. Учетная запись Administrator не может быть отключена в Windows 2000, но можно запретить регистрацию с ее использованием, присвоив ей полномочие Deny logon locally.

Защита учетной записи Guest. Учетная запись Guest имеет низкие полномочия, с ней может работать пользователь, который не имеет выделенной учетной записи и изредка обращается к системе Windows. Пользователи, зарегистрированные с учетной записью Guest, могут обращаться к локальным данным и приложениям, но не могут устанавливать программное обеспечение и аппаратные устройства. Несмотря на ограниченные права учетной записи Guest, анонимные злоумышленники могут воспользоваться ею для доступа к системным ресурсам. По умолчанию, учетная запись Guest блокирована, но тем не менее, для ее защиты следует принять определенные меры. Взломщики с административными полномочиями могут легко активизировать учетную запись Guest, но их задача будет труднее, если им придется изменять многочисленные параметры безопасности. Меры по защите учетной записи Guest:

  • Если не предполагается использовать эту учетную запись, то следует подтвердить ее отмену.
  • Переименовать учетную запись Guest.
  • Запретить сетевую регистрацию в учетной записи Guest. Присвоить учетной записи Guest полномочие Deny access to this computer from the network.
  • Запретить выключение компьютера из учетной записи Guest. По умолчанию, данной учетной записи запрещено выполнять эту операцию, но полезно лишний раз проверить, что учетная запись Guest не располагает правом Shut down the system, и система не может быть отключена из незарегистрированных учетных записей. Для этого следует отменить параметр Shutdown: Allow system to be shut down without having to log on в локальной политике безопасности или параметрах Group Policy.
  • Запретить доступ к журналам Application and System из учетной записи Guest. Для этого нужно открыть раздел реестра HKEY_LOCAL_MACHINESystemCurrentControlSet ServicesEventlog, а затем убедиться, что в каждом разделе Application and System содержится параметр RestrictGuestAccess типа REG_DWORD со значением 1. Прежде, чем вносить любые изменения в реестр, необходимо сделать его резервную копию и соблюдать предельную осторожность. Данную процедуру не нужно выполнять для журнала Security, так как доступ к этому журналу из учетной записи Guest запрещен по умолчанию.

Входить осмотрительно: регистрация в системе

Регистрация в Windows - необходимая процедура, в ходе которой могут быть открыты некоторые уязвимые места. Пользователи Windows XP могут регистрироваться на автономной системе из экрана Welcome или с помощью классической процедуры регистрации в Windows. Классическая процедура входа Windows - единственный способ регистрации в системах Windows 2003 и Windows 2000, или в системе XP, входящей в состав домена. В классической процедуре входа Windows пользователь может запустить процедуру регистрации, нажав на клавиши Ctrl+Alt+Del (называемую также безопасной регистрацией или Secure Attention Sequence - SAS) для входа в систему или домен. Пользователи могут запустить процедуру регистрации, щелкнув на своей учетной записи на экране Welcome.

Два существенных недостатка экрана Welcome - отображение имен учетных записей пользователей и подсказки о паролях для доступа к локальным учетным записям. Прием, с помощью которого можно повысить защищенность экрана Welcome - удалить из него информацию о локальных учетных записях пользователей. Для этого можно создать специальную локальную группу, добавить в нее учетные записи локальных пользователей, которые нужно скрыть, а затем убедиться, что эти учетные записи не принадлежат встроенным группам Administrators, Guests, Power Users или Users. По умолчанию, на экране Welcome показаны только учетные записи, члены этих групп. Второй способ - отредактировать реестр: открыть раздел реестра HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionWinlogon SpecialAccountsUserList, создать новый параметр типа REG_DWORD, назначить ему имя локальной учетной записи пользователя, которую нужно спрятать, и присвоить параметру значение 0.

Еще один вариант - запретить использование экрана Welcome для регистрации на автономной системе Windows XP. Чтобы ввести безопасную процедуру регистрации, нужно установить флажок Require users to press Ctrl+Alt+Delete на вкладке Advanced в диалоговом окне User Accounts (Экран 3). Можно также сбросить флажок Use the Welcome screen на странице Select logon and logoff options в разделе User Accounts Панели управления. Иначе, можно присвоить параметру LogonType в разделе реестра HKEY_LOCAL_MACHINESoftwareMicrosoftWindows CurrentVersionPoliciesSystem значение 1.

Регистрация - локальная или в домене - из экрана Welcome или через безопасную процедуру входа называется интерактивной (interactive logon) или локальной (local logon) регистрацией. Корректная интерактивная регистрация запускает зарегистрированный сеанс (logon session). Если во время сеанса пользователь хочет обратиться к ресурсу на другой системе, должен быть выполнен другой процесс аутентификации, называемый неинтерактивной или сетевой регистрацией. Корректная неинтерактивная регистрация приводит к сетевому сеансу.

При регистрации на автономном системе Windows 2003, XP или Windows 2000, может быть проведена аутентификация пользователя. Участник системы безопасности Windows может быть настроен на предоставление пользователю доступа к ресурсам без проверки личности пользователя, с использованием учетных данных. Данная процедура носит название авторегистрации (autologon). При регистрации в домене Windows всегда требуется аутентификация. Можно запретить авторегистрацию, установив флажок Users must enter a user name and password to use this computer в диалоговом окне User Accounts. Для аутентификации пользователей в Windows используются различные типы учетных записей. Это могут быть простые пароли, смарт-карты или биометрические данные. По умолчанию, Windows 2003, XP и Windows 2000 поддерживают аутентификацию с паролями и смарт-картами. Другие методы аутентификации можно применять с использованием программного обеспечения сторонних поставщиков.

Фундамент безопасности

На первый взгляд, некоторые важнейшие базовые концепции безопасности Windows кажутся элементарными и отвлеченными, но администратору необходимо понимать их роль и свойства. Это позволит сэкономить массу времени, избежав проблем с системой безопасности Windows.

Экран 1. Оснастка Active Directory Users and Computers.

Экран 2. Переименование учетной записи Administrator.

Экран 3. Требуется безопасная процедура регистрации.

Жан де Клерк (jan.declercq@hp.com) - член Security Office компании HP. Специализируется на управлении безопасностью в продуктах Microsoft. Он автор книги Windows Server 2003 Security Infrastructures (издательство Digital Press).