Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР 124, АПРЕЛЬ 2009 г.

За семью печатями. Win2k8: средства и инструменты безопасности

Ульяна Смелая (core@synack.ru)




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

Шифрующая файловая система EFS

Сегодня много говорят о потерях ценной информации из-за несанкционированного доступа к системе или банальной кражи системного блока. В Win2k8 встроены средства, которые позволяют создать зашифрованный файл, каталог или раздел. Данные, защищенные таким образом, могут быть прочитаны только теми пользователями, которые имеют к ним доступ. Для шифрования файлов и каталогов используется шифрованная файловая система EFS (Encrypting File System), поддерживаемая всеми ОС Microsoft, начиная с Win2k. С каждой новой версией системы эта технология совершенствуется, изменяются алгоритмы и длина ключей. Так, в Win2k8 реализовано хранение ключей шифрования на смарт-картах, шифрование клиентского кэша и файла подкачки, предусмотрено централизованное администрирование политик EFS, а также упрощено обновление ключей шифрования.

Фактическое шифрование данных в Win2k8 производится при помощи симметричного алгоритма AES с 256-разрядным ключом (альтернативно 3DES, DESX). Это обеспечивает высокую скорость работы. Учитывая, что EFS работает на уровне драйвера NTFS, накладные расходы на шифрование/расшифровку данных невелики. В процессе работы используется случайный для каждого файла ключ FEK (File Encryption Key). Сам FEK шифруется открытыми ключами пользователя-владельца и администратора восстановления (в Win2k8 используется ассиметричный алгоритм RSA 2048 бит). Образованные после этого два варианта ключей сохраняются в виде атрибута DDF (Data Decryption Field, поле шифрования данных) в альтернативном потоке $EFS файловой системы NTFS.

Для пользователя, создавшего зашифрованный файл или каталог, процесс полностью прозрачен: он работает с такими файлами, как с обычными. Все остальные, при попытке открыть такой файл, получат отказ в доступе. Исключение составляет лишь агент восстановления ключа (по умолчанию администратор локальный или домена), который может восстановить зашифрованный файл в случае потери или сброса пароля пользователя. Если скопировать зашифрованный файл или каталог на файловую систему, не поддерживающую EFS (например, флешку, отформатированную в FAT32), появится окно подтверждения потери шифрования. После подтверждения файл перемещается в обычном виде и может быть прочитан всеми пользователями.

В общем случае включение EFS в Win2k8 выглядит так. В окне свойств файла или каталога выбираем вкладку «Общие» и вызываем окно «Дополнительные атрибуты» (Advanced Attributes), нажав кнопку «Другие». Затем устанавливаем переключатель в поле «Шифровать содержимое для защиты данных» (Encrypt contents to secure data) и щелкаем «Применить». После того как данные зашифрованы, в том же окне «Дополнительные атрибуты» можно добавить пользователей, которые должны иметь к ним доступ.

В комплекте поставки есть и консольная утилита cipher.exe, позволяющая работать с EFS-данными в командной строке. Ввод ее без параметров выдаст список файлов в текущем каталоге. Буква на первой позиции показывает на - «E» (зашифрованный) и «U» (незашифрованный) файл. Чтобы получить полный список всех параметров утилиты, следует набрать «cipher /?».

Активировать EFS можно для любого файла или каталога, исключение составляют лишь системные и сжатые файлы. Установить переключатель одновременно в положение, активирующее шифрование и сжатие («Сжимать содержимое для экономии места на диске»), невозможно. Если нужно зашифровать данные в сжатом каталоге, просто переключаем флажок, после чего в появившемся окне изменения атрибутов применяем установки ко всем вложенным файлам и каталогам. Но учти, другие пользователи, хранившие файлы в данном каталоге, после этой операции уже не будут иметь к ним доступ :). В файловом менеджере зашифрованные каталоги подсвечиваются зеленым цветом, сжатые – синим, поэтому их хорошо видно.

Если пользователь не имеет сертификата EFS, при первом запуске он будет создан автоматически. Просмотреть все выданные пользователю сертификаты можно во вкладке «Личное» (Personal) консоли «Сертификаты» (certmgr.msc). Среди остальных сертификатов отличить нужный можно по полю «Назначение» - «Файловая система EFS». Но здесь есть один момент, о котором нужно знать. Если компьютер не подключен к домену, выданный таким образом сертификат не будет обозначен как Trusted. Чтобы включить «Доверие», необходимо добавить такой сертификат в центр сертификации. Самым простым выходом будет установка в той же системе службы сертификации AD CS (Active Directory Certificate Services). В этом случае самостоятельно сгенерированные сертификаты будут автоматически приниматься как доверенные. Создать сертификат для EFS при помощи консоли «Сертификаты» довольно просто. Находясь в разделе «Личное», из контекстного меню вызываем мастер подачи заявок на сертификаты и следуем его рекомендациям.

Если ключ шифрования утерян или поврежден и нет возможности его восстановить, а также в том случае, если пользовательский пароль был сброшен, получить доступ к зашифрованным данным невозможно. Чтобы не потерять информацию, система предлагает несколько вариантов подстраховки. Сразу же после создания первого зашифрованного файла появится запрос на создание архивной копии ключа и сертификата. Достаточно выбрать «Архивировать сейчас» и при помощи мастера экспорта сертификатов сохранить сертификат в файл обмена личной информацией (.pfx). Чтобы резервная копия не стала проблемой, в целях обеспечения безопасности архивный файл дополнительно защищается паролем. Аналогичный мастер можно вызвать из консоли certmgr.msc. И, наконец, третий вариант - агент восстановления ключа.

Битовый замок

Новая технология BitLocker, впервые появившаяся в Vista в версиях Ultimate/Enterprise, стала продолжением идеи, заложенной в EFS. Ее главное отличие – умение шифровать целый том (том в терминологии Windows - логическая структура, которая может состоять из одного или нескольких разделов). Кроме данных, возможно шифрование реестра, файлов подкачки и гибернации. Так же, как и EFS, работа BitLocker полностью прозрачна для пользователя, и шифрование практически не сказывается на производительности системы. По умолчанию для шифрования используется алгоритм AES с 128-разрядным ключом. С помощью групповых политик или через WMI (manage-bde.wsf) размер ключа можно увеличить до 256 бит. Наибольший эффект при использовании BitLocker достигается на платформах, поддерживающих спецификацию TPM (Trusted Platform Module). TPM-микроконтроллер способен создавать и хранить безопасные ключи, а информацию, защищенную при помощи таких ключей, можно прочитать только на устройствах, поддерживающих ТРМ.

При помощи BitLocker можно зашифровать системный том, но для его работы потребуется, минимум, два тома, отформатированных в NTFS. Один будет использован собственно для установки системы, а на втором (в незашифрованном виде) разместятся загрузочный сектор, диспетчер загрузки и загрузчик Windows. Учитывая возможность создания различного рода временных файлов, размер активного раздела рекомендуется установить не менее 1.5 Гб. Если эта схема при установке не реализована, то консоль BitLocker после запуска откажется работать и выдаст предупреждение. Для подготовки диска дядьки из Microsoft рекомендуют использовать BitLocker Drive Preparation Tool (support.microsoft.com/kb/933246).

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

Для доступа к зашифрованному разделу необходимо использовать TPM, PIN-код или USB-ключ с возможностью комбинации этих методов. Естественно, самый защищенный вариант включает их все: TPM + PIN-код + USB-ключ. Сам ключ может храниться в TPM или в USB-устройстве. В случае с TPM при загрузке компьютера ключ может либо быть получен из него сразу, либо только после аутентификации с помощью USB-ключа или ввода PIN-кода.

Компонент BitLocker входит в состав ОС, но по умолчанию не устанавливается. Активируется он традиционным для Win2k8 способом - при помощи Диспетчера сервера. Щелкаем ссылку «Добавить компоненты», в окне мастера отмечаем флажок «Шифрование диска BitLocker» (BitLocker Drive Encrypion). По окончании установки потребуется перезагрузка системы. Или в командной строке набираем:

> ServerManagerCmd -install BitLocker -restart

Если оборудование поддерживает TPM, после перезагрузки системы запускаем консоль «Управление доверенным платформенным модулем TPM» (tpm.msc). Обнаруженный модуль будет выведен в основном окне, инициализируем его, нажав соответствующую кнопку. Затем по запросу создаем пароль владельца TPM и сохраняем на сменный носитель. Собственно активация BitLocker производится в консоли «Шифрование диска BitLocker» (BitLocker Drive Encryption), которая находится в «Панели управления». Здесь все просто. Отмечаем нужный том, щелкаем «Включить BitLocker» (Turn On BitLocker) и выбираем один из способов сохранения пароля восстановления (USB, на диск или распечатать). Из этой же консоли можно временно или полностью отключить BitLocker.

Так как изначально механизм шифрования завязан на использовании TPM, в системах, где он отсутствует, придется выполнить еще ряд шагов, чтобы активировать BitLocker. Для этого вызываем «Редактор групповой политики» (gpedit.msc) и переходим в «Редактор локальной политики - Административные шаблоны - Компоненты Windows» (Group Policy Object Editor – Administrative – Templates – Windows Component). Выбираем пункт «Шифрование диска BitLocker» (BitLocker Encryption) и дважды щелкаем «Установка панели управления: включить дополнительные параметры запуска». В появившемся окне устанавливаем переключатель в положение «Включить» и активируем флажок «Разрешить использование BitLocker без совместимого TPM». Теперь вместо TPM можно использовать ключ запуска на USB-устройстве. Закрываем редактор, чтобы новые настройки групповых политик вступили в силу, и вводим команду «gpupdate.exe /force».

В состав Win2k8 входит дополнительный компонент «Удаленное управление BitLocker» (BitLocker-RemoteAdminTool), который можно установить без включения BitLocker на используемом сервере. Для этого достаточно ввести команду:

> ServerManagerCmd -install RSAT-BitLocker

Шаблоны безопасности

Несмотря на свое грозное название, шаблоны безопасности (Security Templates) представляют собой обычные текстовые файлы с расширением .inf. В них содержатся готовые настройки безопасности: локальные полномочия, членство в локальных группах (в идеале пользователи не должны являться членами групп, дающих больше прав, чем им в действительности нужно), разрешения для доступа к сервисам, файлам, каталогам и разделам реестра. С их помощью можно не только указать, что только пользователь user10 имеет право выполнить действие X над объектом Y, но и легко вернуть систему к дефолтовым системным установкам. Это может быть полезно, когда после некоторых изменений система перестала нормально функционировать. Настроив шаблоны безопасности, их затем можно легко внедрить при помощи групповых политик (Group Policy) сразу на несколько серверов или даже на все компьютеры домена.

В Win2k3 использовалось девять шаблонов (найдешь их в каталоге %systemroot%securitytemplates) – каждый отвечал за свой участок настроек. Например, все настройки, связанные с безопасностью, находились в Secure*.inf-файлах. В Win2k8 всего три главных файла, в которых содержатся шаблоны настроек типичных сценариев использования системы:

  1. Defltbase.inf – базовые/общие настройки.
  2. Defltsv.inf – настройки, специфичные для серверов.
  3. Defltdc.inf – настройки, специфичные для контроллеров домена.

И главное: изменено расположение файлов - теперь они находятся в %systemroot%inf среди множества других файлов, имеющих расширение inf. Это несколько затрудняет поиск нужного шаблона. Есть еще ряд дополнительных файлов для решения узкоспециализированных задач, например, dcfirst.inf следует применять при создании первого КД в лесу. Но именно три указанных выше шаблона являются основными, и их можно использовать для применения политики вручную при помощи утилиты secedit.

Чтобы проанализировать безопасность компьютера, используя шаблоны безопасности, запускаем консоль MMC, выбираем «Добавление и удаление оснастки» и присоединяем оснастку «Анализ и настройка безопасности». Появится пустое рабочее окно, далее следуем подсказкам. Выбираем в контекстном меню пункт «Открыть базу данных», так как базы у нас пока нет, создаем ее, введя любое имя файла. По запросу импортируем один из шаблонов безопасности, который будем использовать в дальнейшем. Чтобы проанализировать систему, переходим в контекстное меню «Анализировать компьютер». По окончании анализа будут выведены все текущие настройки. Кстати, подобные установки можно получить и при помощи утилиты «gpresult /v», выводящей параметры групповой и результирующей политики (RSOP). Если ты знаком с GPO (Group Policy Objects), можешь сравнить эти установки с шаблоном безопасности.

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

Внесенные сейчас изменения никак не повлияют на текущие настройки компьютера, – они будут занесены только в базу данных. При необходимости все установки можно экспортировать в файл *.inf для применения в других системах. Чтобы задействовать шаблон, выбираем в контекстном меню пункт «Настроить компьютер» и указываем на место сохранения файла журнала, который будет показан по окончании работы утилиты.

Откат новых установок из MMC не предусмотрен. Чтобы зарезервироваться, сохрани первоначальную базу или непосредственно перед применением используй secedit с параметром GenerateRollback:

> secedit /GenerateRollback /CFG Defltsv.inf /RBK Rollback.inf /log RollbackLog.log

ADM/ADMX шаблоны

Административные шаблоны (файлы формата .adm) позволяют администратору посредством групповой политики конфигурировать системный реестр клиентских компьютеров. Это значит, что для любого клиента, подпадающего под действие некоторого объекта GPO, системный реестр будет сконфигурирован в соответствии с административным шаблоном (определенным в рамках данного объекта).

ADM-файлы хранятся локально на компьютерах, подключенных к домену, и видны в шаблоне групповой политики (GPT). Последний находится в SYSVOL и реплицируется на остальные системы. В итоге мы получали множество одинаковых файлов и полное отсутствие контроля версий. Поздравляю, теперь об этих проблемах можно забыть :).

Начиная с Vista, в ОС Windows используется не только новый формат административных шаблонов на базе XML - файлы .admx, но и функционируют они несколько иначе. Файлы ADMX хранятся в центральном хранилище, и в GPO напрямую ничего не записывается. Это позволяет уменьшить размер SYSVOL и объем реплицируемых данных. При изменении в одном из файлов ADMX информация копируется на другие системы. Чтобы упростить создание локализованных описаний (ранее для каждого языка использовался свой ADM), строковый раздел файла ADMX вынесен в отдельный файл ADML. Кстати, шаблоны ADM поддерживаются по-прежнему, но использовать централизованное хранилище для них нельзя.

Создать центральное хранилище в домене несложно. Переходим на КД в каталог SYSVOLPolicies и копируем сюда содержимое C:WindowsPolicyDefinitions, включая языковые подкаталоги с ADML-файлами (в локализованной версии en_US и ru_RU). После этого редактор объектов увидит эти файлы и будет к ним обращаться; локальные же – игнорируются.

Для преобразования файлов ADM в ADMX, а также для создания и редактирования готовых ADMX необходима бесплатная программа ADMX Migrator, которую можно найти поиском на сайте Microsoft. Для редактирования ADMX подойдет и любой из XML-редакторов, коих сегодня на порядок больше, чем специализированных редакторов ADM.

INFO

  • Для преобразования файлов .adm в .admx, а также для создания и редактирования готовых .admx используй бесплатную программу ADMX Migrator, которую можно найти на сайте Microsoft.
  • Обновленная консоль GPO в Win2k3/Win2k8 позволяет работать с ADMX-файлами.
  • В Win2k8 сертификаты, позволяющие получить доступ к зашифрованным данным, можно хранить на смарт-картах.
  • BitLocker не шифрует метаданные, загрузочные и поврежденные сектора.

WWW

  • Подробнее о TPM устройствах читай на странице Wikipedia: ru.wikipedia.org/wiki/Trusted_Platform_Module.
  • Дополнительные сведения об особенностях алгоритма шифрования BitLocker (на английском языке) смотри в статье «AES-CBC + диффузор Elephant» по адресу - go.microsoft.com/fwlink/?LinkId=82824.
  • Для подготовки диска перед использованием BitLocker Microsoft рекомендует утилиту BitLocker Drive Preparation Tool (support.microsoft.com/kb/933246).
  • В Сети существуют специальные ресурсы вроде GPanswers.com, где можно получить файлы ADM/ADMX.
Содержание
ttfb: 10.174036026001 ms