Реализация EFS в домене Windows Server 2003

Опубликовано: 12 Апреля, 2023

EFS и цифровые сертификаты


Для шифрования файлов и папок с помощью EFS пользователь должен иметь действующий сертификат X.509. Когда пользователь пытается зашифровать данные, EFS ищет в личном хранилище сертификатов пользователя сертификат EFS. Если он не находит его, он пытается зарегистрировать вас для получения сертификата EFS в центре сертификации Windows. Если вы не используете учетную запись домена или не можете запросить сертификат через ЦС, EFS создает самозаверяющий сертификат. Однако существуют проблемы, присущие использованию самозаверяющих сертификатов:



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


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


EFS и PKI


Хотя в домене можно использовать самозаверяющие сертификаты, рекомендуется использовать EFS только в среде PKI. Сервер Windows 2000 или 2003 можно настроить как центр сертификации со встроенными в операционную систему службами сертификации. Вы можете интегрировать CA с Active Directory, чтобы автоматизировать процесс запроса сертификатов.


ЦС предприятия выдают сертификаты на основе шаблонов сертификатов. Шаблоны хранятся в Active Directory. Они определяют атрибуты сертификатов, выдаваемых пользователям или компьютерам. Вы можете установить разрешения для шаблонов сертификатов, если хотите запретить некоторым пользователям получать сертификаты EFS. У вас могут быть определенные группы пользователей, которым вы не хотите предоставлять возможность шифровать свои данные. В этом случае вы можете отказать этим пользователям в разрешении Enroll для шаблона, и они не смогут получить сертификат EFS. Пользователи, у которых есть разрешение на регистрацию, могут запросить сертификат EFS в ЦС с помощью оснастки MMC «Сертификаты».


Также можно использовать сторонние сертификаты (выданные ЦС, отличным от сервера сертификатов Windows) для EFS. Сертификаты должны быть совместимы с Personal Information Exchange (PKCS #12) и соответствовать нескольким требованиям. Возможно, потребуется настроить сторонний ЦС для выдачи сертификатов, отвечающих этим требованиям. Дополнительные сведения об использовании сторонних сертификатов см. в статье базы знаний 273856.


«Движение вверх» к PKI


Если вы внедрили EFS в среде без ЦС, а затем развернули PKI, вам потребуется явным образом заменить самозаверяющие сертификаты, которые пользователи использовали, на сертификаты, выданные ЦС. Даже если ЦС выдает им новый сертификат, по умолчанию самозаверяющий сертификат будет продолжать использоваться до тех пор, пока пользователь не заархивирует самозаверяющий сертификат и не запросит новый сертификат, выданный ЦС, с помощью команды шифрования с параметром /k.


EFS в домене


В лесу Windows пользователи могут хранить зашифрованные файлы на удаленных серверах. Удаленные файлы должны храниться либо в общих сетевых ресурсах, либо в папках WebDAV. Чтобы зашифровать удаленные файлы в общем ресурсе, удаленный сервер должен быть доверенным для делегирования, прежде чем пользователи смогут зашифровать файлы на удаленном сервере. Это делается с помощью инструмента «Пользователи и компьютеры Active Directory». Инструкции см. на странице http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/ServerHelp/b742ce99-e53a-4bce-8bc5-f3f3fa89af9d.mspx. Затем, чтобы зашифровать файл на удаленном сервере, вам нужно подключить сетевой диск. Удаленное шифрование файлов с использованием общего ресурса может выполняться только в домене, поскольку EFS должна использовать делегирование Kerberos для олицетворения пользователя.


Важно отметить, что EFS шифрует данные только тогда, когда они хранятся на диске. Он не шифрует данные при передаче по сети. Для этой цели вы можете использовать IPsec. Кроме того, если вы зашифруете файл, а затем скопируете или переместите его в папку WebDAV, он останется зашифрованным во время передачи.


Проблемы с EFS в домене


Существуют некоторые потенциальные проблемы, о которых следует знать перед внедрением EFS в домен. Например, пользователю достаточно иметь разрешение NTFS на изменение (запись) файла, чтобы иметь возможность его зашифровать. Это означает, что если несколько пользователей имеют разрешение на доступ к файлу, один из них может зашифровать его и сделать недоступным для других.



Примечание:
Одно изменение в EFS для Windows XP/2003 по сравнению с Windows 2000 заключается в том, что зашифрованные файлы могут совместно использоваться несколькими пользователями. Все пользователи, предоставляющие общий доступ к зашифрованному файлу, должны иметь сертификат EFS на компьютере, на котором он хранится.


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


API защиты данных (DPAPI) защищает закрытые ключи EFS, а также другие закрытые учетные данные в Windows 2000/XP/2003. Если пользователь меняет пароль домена через коммутируемое соединение удаленного доступа или через VPN-подключение, главный ключ DPAPI не может быть немедленно реплицирован на все контроллеры домена. Это может привести к тому, что пользователь получит сообщение об отказе в доступе при попытке доступа к локальным зашифрованным файлам после смены пароля. Вы можете решить эту проблему, создав значение реестра с именем ProtectionPolicy в



HKLMSOFTWAREMicrosoftCryptographyProtectProvidersdf9d8cd0-1501-11d1-8c7a-00c04fc297eb.


Установите значение 1.



Предупреждение:
Эта модификация реестра позволит пользователю получить доступ к зашифрованным файлам после смены пароля удаленного доступа, но также может подвергнуть учетную запись пользователя угрозе атаки.


При реализации EFS в домене по умолчанию администратор первого контроллера домена является агентом восстановления. Вам следует создать новые учетные записи агента восстановления и удалить роль агента восстановления из учетной записи администратора. Учетные записи агента восстановления следует использовать только для этой цели.


Если компьютер ранее был автономной системой, а затем присоединяется к домену, который использует ЦС для выдачи сертификатов EFS, вы не сможете открывать файлы, которые были зашифрованы с помощью самозаверяющего сертификата до присоединения к домену. Вы можете получить доступ к этим файлам, выйдя из домена и войдя снова на локальный компьютер.


Повышение безопасности EFS


Вы можете повысить безопасность EFS в системах Windows XP и Server 2003, настроив EFS на использование алгоритма шифрования 3DES вместо DESX, используемого по умолчанию. Вы можете включить 3DES с помощью групповой политики; это приведет к тому, что и EFS, и IPsec будут использовать 3DES. Если вы хотите использовать 3DES только для EFS, вам нужно отредактировать реестр и создать новое значение DWORD с именем AlgorithmID в



HKEY_LOCAL_MACHINEПРОГРАММНОЕ ОБЕСПЕЧЕНИЕMicrosoftWindows NTCurrentVersionEFS


Установите для данных значение 0x6603 (шестнадцатеричный), чтобы включить 3DES для EFS, и перезагрузите компьютер, чтобы настройка вступила в силу.



Примечание:
Windows 2000 не поддерживает использование 3DES для EFS из коробки. Однако вы можете использовать 3DES с Windows 2000, если вы установили High Encryption Pack. Пакет High Encryption Pack можно загрузить с веб-сайта Microsoft по адресу http://www.microsoft.com/windows2000/downloads/recommended/encryption/.


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


Также имейте в виду, что приложение может копировать содержимое зашифрованного файла в файл подкачки во время использования. Файл подкачки не может быть зашифрован, потому что это системный файл. Данные могут оставаться в файле подкачки даже после того, как приложение закроет файл, а посторонний человек может запустить компьютер с другой операционной системой и прочитать содержимое файла подкачки. Чтобы предотвратить это, вы можете настроить локальную групповую политику на очистку содержимого файла подкачки при завершении работы. Это можно сделать, включив политику «Завершение работы: очистить файл подкачки виртуальной памяти» в разделе «Конфигурация компьютера | Параметры Windows | Настройки безопасности | Местные политики | Параметры безопасности.