Россия, Москва, 1100, 2009 |
Безопасность Windows Server 2003
Существует довольно распространенный миф, что платформа Windows является незащищенной по своей природе. Это принципиально неверно. Windows Server 2003 - одна из наиболее защищенных операционных систем. Она основывается на системе безопасности Windows 2000 и расширяет ее. Windows Server 2003 можно сделать защищенной на любом требуемом уровне (если администратор знает, как это сделать). В этой лекции описываются некоторые средства и процессы, используемые для защиты вашего сервера.
Аутентификация Windows Server 2003
Аутентификация - это проверка того, что данное лицо соответствует опознавательным данным, которые он предъявляет; тем самым, аутентификация является основным компонентом системы безопасности Windows Server 2003. Она подтверждает опознавательные данные ("личность") пользователя, который хочет выполнить вход на компьютер, в сеть или в домен. Используя Active Directory, Windows Server 2003 поддерживает единый вход для доступа ко всем сетевым ресурсам. Это позволяет пользователю выполнять вход в домен с помощью единственного пароля или смарт-карты и аутентифицироваться для любого ресурса в домене.
Windows Server 2003 поддерживает два основных протокола для аутентификации.
- Kerberos V5.Используемый по умолчанию протокол аутентификации для серверов Windows 2000, Windows XP и Windows Server 2003, если они являются членами домена Active Directory. Его можно использовать для интерактивного входа по паролю или смарт-карте.
- NTLM.Поддерживается для совместимости с Windows 95, Windows 98, Windows Me и Windows NT 4, которые используют NTLM для подсоединения к сети. Компьютеры, работающие с Windows Server 2003, используют NTLM при подсоединении или доступе к ресурсам в домене Windows NT 4.
Аутентификация NTLM
Операционные системы Microsoft Windows 9x и Windows NT не могут использовать Kerberos, поэтому они используют NTLM для аутентификации в домене Windows Server 2003. В защите NTLM имеются "слабые места", которые позволяют специалистам по взлому паролей дешифровать NTLM-аутентификацию. Чтобы воспрепятствовать этому, Microsoft разработала NTLM версии 2. Клиенты и серверы Windows 2000, а также Windows XP будут продолжать аутентифицироваться на контроллерах доменов Windows Server 2003 с помощью Kerberos независимо от того, что используется, - NTLM или NTLMv2.
Аутентификация NTLM для telnet
Для клиента telnet (сетевого теледоступа) в Windows 2000 добавлена поддержка аутентификации NTLM. Это позволяет клиенту telnet в Windows 2000 или Windows Server 2003 выполнять вход на сервер telnet Windows Server 2003 с помощью аутентификации NTLM. Для доступа к серверу telnet пользователи могут использовать свое локальное пользовательское имя и пароль Windows 2000 или информацию доменной учетной записи. Если аутентификация NTLM не используется, то пользовательское имя и пароль передаются на сервер telnet в виде нешифрованного текста. В результате эти данные могут быть перехвачены злоумышленником в сети. При аутентификации NTLM клиент использует для аутентификации средства безопасности Windows Server 2003, и у пользователя не запрашиваются пользовательское имя и пароль. Пользовательское имя и пароль передаются на сервер в шифрованном виде. После аутентификации все команды передаются в виде нешифрованного текста.
Обзор Kerberos
Протокол аутентификации Kerberos обеспечивает взаимную защиту между клиентами и серверами, а также между серверами. Когда пользователь выполняет вход, используя пользовательское имя/пароль или смарт-карту, компьютер находит сервер Active Directory и службу аутентификации Kerberos. Затем Kerberos выдает так называемые билеты (ticket), чтобы разрешить доступ к сетевым службам. Эти билеты содержат шифрованные данные, включая шифрованный пароль, подтверждающий опознавательные данные пользователя для этой службы.
Главным компонентом Kerberos является Центр распространения ключей (KDC - Key Distribution Center). KDC запускается на каждом контроллере домена как часть Active Directory и используется для хранения паролей и информации учетных записей клиентов. Windows Server 2003 реализует KDC как доменную службу и использует Active Directory домена как ее базу данных с информацией учетных записей. В процесс аутентификации Kerberos входят следующие шаги.
- Пользователь на клиентском компьютере аутентифицируется для KDC с помощью пароля или смарт-карты.
- KDC выдает клиенту специальный билет, позволяющий получить билет (TGT - Ticket-granting ticket), чтобы разрешить ему доступ к предоставляющей билеты службе (TGS - Ticket-granting service) на контроллере домена.
- TGS выдает клиенту билет на обслуживание.
- Этот билет подтверждает опознавательные данные пользователя для службы и опознавательные данные службы для пользователя.
Реализация Kerberos в Windows Server 2003
По умолчанию Kerberos обладает свойствами прозрачности и защищенности в Windows Server 2003. Это освобождает вас от необходимости знать, каким образом реализован Kerberos.
Если вам необходимо внести изменения в политику Kerberos, выполните следующие шаги.
- Откройте оснастку Active Directory Users and Computers.
- В дереве консоли щелкните правой кнопкой на данном домене.
- Выберите пункт Properties (Свойства) и затем щелкните на вкладке Group Policy (Групповая политика).
- Щелкните на кнопке Edit.
- В дереве консоли щелкните на Kerberos Policy (в последовательности Computer Configuration/ Windows Settings/Security Settings/Account Policies/Kerberos Policy).
- Дважды щелкните на политике Kerberos, которую хотите модифицировать.
- Внесите изменения в эту политику и затем щелкните на кнопке OK.
Имеется несколько относящихся к Kerberos политик, которые можно модифицировать, если это крайне необходимо.
- Enforce User Login Restrictions. Указывает, что KDC должен проверять наличие у пользователя права "Log on locally" (Локальный вход) или "Access this computer from the Network" (Доступ к данному компьютеру из сети). Если пользователь не имеет одного из этих прав, то билет на обслуживание не выдается. Эта политика включена по умолчанию.
- Maximum Lifetime That a User Ticket Can Be Renewed.Задает максимальный срок действия билета TGT или сеансового библиотека. По умолчанию 7 дней.
- Maximum Service Ticket Lifetime.Задает количество минут, в течение которых действителен билет на обслуживание. Это должно быть значение от 10 минут до времени, заданного в политике "Maximum User Ticket Lifetime". По умолчанию 600 минут.
- Maximum Tolerance for Synchronization of Computer Clocks. Задает максимально допустимое отличие в минутах между таймерами компьютера-сервера KDC и клиентского компьютера. Таймеры этих машин должны быть синхронизированы с максимально возможной точностью. По умолчанию 5 минут.
- Maximum User Ticket Lifetime. Задает количество часов, в течение которых действителен билет Kerberos TGT. По истечении этого времени должен быть получен новый билет или обновлен старый. По умолчанию 10 минут.
Имеется также небольшое число других опций Kerberos. Для доступа к этим опциям нужно выбрать пользователя в окне Active Directory Users and Computers и щелкнуть на Properties.
- Smart Card Is Required for Interactive Logon.Требует, чтобы пользователь выполнял вход с помощью смарт-карты. По умолчанию эта политика отключена.
- Use DES Encryption for This Account.Требует использования 56-битного DES-шифрования вместо 128-битного RC4, используемого в Microsoft Kerberos. Поскольку метод DES защищен намного меньше, чем RC4, использование DES не рекомендуется. По умолчанию эта политика отключена.
Хотя Kerberos существенно повышает защищенность по сравнению с прежними протоколами аутентификации, его безопасность в целом все еще основывается на пароле пользователя. В результате слабая политика паролей может обесценить все преимущества Kerberos. Один из способов разрешения данной проблемы - это использование смарт-карт.
Реализация смарт-карт
Windows Server 2003, как и Windows 2000, поддерживает использование смарт-карт для входа. На смарт-карте могут храниться сертификат пользователя и личный ключ, поэтому он может выполнять вход, установив эту карту в устройство чтения смарт-карт. После этого компьютер запрашивает у пользователя его личный идентификационный номер (PIN-код), чтобы разрешить этому пользователю вход в систему. Смарт-карты дают следующие преимущества по сравнению с паролями.
- Отпадает вопрос слабости использования пароля в Kerberos. Смарт-карты обеспечивают более сильную аутентификацию, чем пароли, поскольку для них используются шифрованные идентификационные данные.
- Требуется, чтобы пользователь лично установил смарт-карту для аутентификации в домене.
- Смарт-карта может быть блокирована после определенного числа неудачных попыток ввода PIN-кода. Это может воспрепятствовать словарным и "лобовым" атакам на смарт-карту.
Windows Server 2003 использует несколько политик, чтобы определить вход в систему с помощью смарт-карт. Политика Smart Card Is Required for Interactive Logon требует использования смарт-карты для интерактивного входа в систему. Если задана эта политика, то пользователь не может использовать пароль для входа по учетной записи. Эта политика касается только интерактивных и сетевых входов, но не входов удаленного доступа, для которых используется другая политика. Смарт-карты особенно рекомендуются для наиболее важных учетных записей, например, учетных записей Administrator. Политику Smart Card Is Required for Interactive Logon не следует использовать, если пользователь должен указать пользовательское имя, пароль и имя домена для доступа к сетевым ресурсам.
Инфраструктура открытых ключей и аутентификация Windows Server 2003
Windows Server 2003 использует сертификаты для разнообразных функций, таких как аутентификация по смарт-карте, аутентификация на веб-сервере, защищенная электронная почта, безопасность IP (Internet Protocol) и подписание кода (code signing). Сертификат - это цифровой документ, выданный каким-либо ответственным органом для подтверждения идентификационных данных обладателя сертификата. Он связывает открытый ключ (public key) с пользователем, компьютером или службой, которые владеют соответствующим личным ключом (private key). В сертификат обычно включается информация о пользователе или компьютере, которому выдан этот сертификат, информация о самом сертификате и (обычно) о так называемом Центре сертификации (ЦС) (Certificate authority [CA]), который выдал сертификат. Сертификаты обычно содержат следующую информацию.
- Открытый ключ пользователя.
- Часть идентифицирующей информации о пользователе, например, его имя и адрес электронной почты.
- Срок действия этого сертификата.
- Информация о поставщике этого сертификата.
- Цифровая подпись поставщика, которая связывает открытый ключ пользователя и его уникальную идентифицирующую информацию.
Обычно сертификаты действуют только в течение указанного периода времени, который тоже включается в сертификат. По истечении периода действия сертификата пользователи должны запрашивать новый сертификат. При использовании сертификатов Windows Server 2003 доверяет тому, что поставщик сертификата удостоверил идентификационные данные пользователя сертификата. Сервер обозначает поставщика сертификатов как доверяемый корневой ЦС, помещая сертификат этого поставщика, подписанный его собственной подписью, в хранилище сертификатов доверяемых корневых ЦС на хост-компьютере. Для управления этими ЦС в Windows Server 2003 используется служба Certificate Services. Таким образом, ЦС несет ответственность за создание и удостоверение идентификационных данных обладателей сертификатов. Вы можете управлять службой Certificate Services с помощью консоли MMC Certification Authority (Центр сертификации).
Шаблоны сертификатов
Шаблон сертификата - это набор правил и настроек, которые применяются к запросам сертификатов. Для каждого типа сертификатов должен быть сконфигурирован шаблон сертификата. Шаблоны сертификатов можно настраивать в центрах сертификации (ЦС) предприятий Windows Server 2003, и они хранятся в Active Directory для использования всеми ЦС в домене. Это позволяет вам выбрать шаблон по умолчанию или модифицировать существующие шаблоны, чтобы создавать настраиваемые шаблоны. В Windows Server 2003 имеется несколько типов шаблонов сертификатов.
- Server Authentication Certificates (Сертификаты для аутентификации серверов).
Используются для аутентификации серверов перед клиентами.
- Client Authentication Certificates (Сертификаты для аутентификации клиентов).
Используются для аутентификации клиентов перед серверами.
- Code Signing Certificates (Сертификаты для подписания кода).Используются для подписания активного содержимого и приложений, чтобы гарантировать их поступление от доверяемого источника.
- Secure Email Certificates (Сертификаты для защищенной почты). Используются для подписания сообщений электронной почты.
- Encrypting File System Certificates (Сертификаты для шифрующей файловой системы).Применяются для шифрования и дешифрования симметричного ключа, используемого файловой системой Encrypting File System (EFS) Windows Server 2003.
- File Recovery Certificates (Сертификаты для восстановления файлов). Используются для шифрования и дешифрования симметричного ключа, используемого для восстановления данных, шифрованных с помощью файловой системы EFS Windows Server 2003.