Безопасность в Windows Server 2008
Изменения в самой операционной системе
Меньше функциональности — меньше проблем
Гранулярность удаленных соединений
Делегированное администрирование сервера
В течение последних нескольких лет при создании компанией Microsoft очередной версии своей операционной системы или ее обновления первостепенное значение придавалось повышению ее безопасности. Ради безопасности нас призывали переходить с Windows 98 на Windows XP, безопасность была главной характеристикой XP Service Pack 2, а затем и Windows Vista. Усовершенствования в области безопасности стояли на первом месте в списках изменений Windows Server 2003 и Windows Server 2003 SP1. Не станет исключением и выходящая в эти дни Windows Server 2008. Что это? — сказка про пастуха, который каждый день кричал «волки! волки!», или серьезные изменения, ради которых стоит срочно заняться переустановкой операционной системы своих серверов? В настоящей статье мы постараемся ответить на данный вопрос, рассмотрев основные нововведения Windows Server 2008 в области безопасности.
Что такое безопасность
Безопасность — чрезвычайно широкое понятие. В данной статье мы определим ее как устойчивость к потенциальным атакам: и со стороны зараженных сайтов во Всемирной паутине, и вирусов, попавших в сеть с вновь включенного в нее ноутбука, и злоумышленников, выкравших ваш контроллер домена, и многих-многих других.
Безопасность важна не только агентам спецслужб, но и любому предприятию, дорожащему своей информационной инфраструктурой. Павел Нагаев, один из ведущих администраторов Каспийского трубопроводного консорциума (КТК), говорит о безопасности так: «КТК — это нефтепровод с Каспийского моря на Черное море длиной 1500 км. Любой простой из-за проблем безопасности для нас — это прежде всего потеря денег и репутации. Поэтому безопасность для КТК превыше всего. В Windows Server 2008 нас заинтересовали новые возможности безопасности: Network Policy and Access Services, Active Directory Rights Management Services и Read Only Domain Controller. Это, безусловно, перспективные технологии, которые мы изучаем и будем использовать в скором будущем».
Теперь умножим все возможные сценарии атак на сценарии применения сервера и получим непростую задачу обеспечения безопасности новой серверной операционной системы, стоявшую перед командой Windows Server.
Перечислим основные направления, в которых производилась работа по улучшению безопасности в Windows Server 2008:
- улучшения во внутреннем коде операционной системы. Windows Server 2008 — первая серверная ОС Microsoft, которая разрабатывалась по принципам Secure Development Model. Были подвергнуты тщательному изучению с точки зрения безопасности, а подчас и переписаны многие внутренние модули ОС;
- модульность — операционная система стала гораздо менее монолитной, что позволяет не устанавливать ненужные вам (но являющиеся потенциальными мишенями для атак) компоненты, вплоть до графического пользовательского интерфейса;
- сетевая безопасность — борьба за нераспространение вирусов и атак внутри сети от одного компьютера к другому;
- безопасность корпоративной директории — возможность установки директории в режиме защиты от записи и без графического интерфейса;
- безопасность интернет-серверов — кардинально переработанный веб-сервер IIS 7, теперь целиком базирующийся на принципах модульности и работы только компонентов, необходимых для его использования в конкретном сценарии.
Изменения в самой операционной системе
Пожалуй, к этой категории относятся изменения, которые в основном скрыты от наших глаз. По утверждениям Microsoft, разработчики тщательно проанализировали существующий код операционной системы и переработали его с целью снижения его потенциальной уязвимости. Например, в Windows Vista и Windows Server 2008 была целиком переписана реализация всего стека сетевых протоколов.
Для пользователей эти изменения, скорее всего, будут заметны как изменившийся (в меньшую сторону) уровень доступа многих сервисов операционной системы и... потенциальных несовместимостей приложений и драйверов прошлых лет с новой операционной системой. Последнее, видимо, является в данном случае неизбежным злом, которое, впрочем, стоит учитывать при принятии решения о переходе на Windows Server 2008: уточните у производителей используемого вами ПО, когда именно они начнут поддерживать новую версию, и перед развертываением нового сервера проверьте совместимость в тестовой среде.
Следует также упомянуть новые механизмы защиты файловой системы. Так, Windows теперь защищает свою целостность, запоминая контрольные суммы системных файлов и проверяя их при каждой загрузке. Если система обнаруживает, что файлы были изменены, то Windows сообщает администратору о возможном обнаружении деятельности вируса и процесс загрузки приостанавливается.
Отдельно отметим, что 64-разрядная версия защищена лучше, чем 32-разрядная, поскольку не позволяет загружать в ядро операционной системы модули, не подписанные цифровым сертификатом, которому вы доверяете. Кроме того, групповые политики обеспечивают запрет дополнительных установок устройств на сервер, что создает дополнительный рубеж защиты от непрошенных драйверов.
Наконец, технология BitLocker позволяет использовать чип Trusted Platform Module (если сервер оснащен таковым) или внешний накопитель USB для шифрования системного жесткого диска сервера, обеспечивая таким образом дополнительную защиту самой системы и данных на диске (рис. 1).
Рис. 1. Технология BitLocker позволяет зашифровать жесткий диск
с помощью ключа, хранящегося на доверенном платформенном модуле
(TPM) версии 1.2 или на флэш-накопителе USB
Меньше функциональности — меньше проблем
Серверные роли
Самое заметное изменение операционной системы, пройти мимо которого вам не удастся, — это серверные роли и Server Manager, представляющий собой административный интерфейс для их управления. Вы выбираете те роли, которые ваш сервер будет выполнять, и Server Manager устанавливает соответствующие компоненты (рис. 2).
Рис. 2. Интерфейс настройки Server Manager позволяет
сконфигурировать сервер под требуемые вам роли
Принцип прост: вы решаете, какие сценарии применения предстоит поддерживать вашему серверу, и выбираете соответствующие роли и свойства. Server Manager сам устанавливает модули, необходимые для реализации вашего выбора, оставляя остальные за бортом инсталляции.
Server Core
Предельной формой этого процесса является режим установки Server Core. Это минимальная конфигурация Windows Server, в которую не включена даже графическая оболочка проводника.
Принцип модульности для обеспечения очень прост: чем меньше компонентов сервера у вас установлено и работает, тем меньше потенциальная поверхность атаки и потенциальное количество уязвимостей. Вспомним, какое количество патчей на Windows Server 2000 и 2003 было призвано закрыть уязвимости Internet Explorer и его компонентов, и ответим на простой вопрос: действительно ли мы хотим, чтобы наши администраторы выходили в Интернет с контроллера домена сети? Думаю, что ответ очевиден.
По оценкам сотрудников компании Microsoft, 72% «заплаток», выпущенных для Windows Server 2003, не понадобились бы, если бы у этой версии была опция установки Server Core (рис. 3).
Рис. 3. Режим Server Core: нет графической оболочки — нет проблем
Если соотношение количества обновлений для различных компонентов для Windows Server 2008 останется примерно таким, каким оно было для предыдущей серверной версии Windows, это будет означать, что благодаря выбору Server Core ваш сервер станет безопаснее примерно в 4 раза, и в 4 раза уменьшится количество обновлений, которые вам придется на него устанавливать.
- Server Core поддерживает следующие серверные роли:
- Active Directory Domain Services (то, что раньше называлось Active Directory или Domain Controller);
- Active Directory Lightweight Directory Services («легкий» аналог Active Directory для приложений);
- Dynamic Host Configuration Protocol (DHCP);
- Domain Name System (DNS);
- файловый сервер;
- сервер печати;
- веб-сервер (с существенными ограничениями в связи с отсутствием в Server Core .NET Framework — фактически поддерживаются только статические страницы).
Установка и настройка ролей в полном варианте сервера фактически сводится к расстановке галочек в Server Manager и использованию оснасток Microsoft Management Console (MMC) для дальнейших настроек. В режиме Server Core всю локальную настройку придется осуществлять с помощью утилит командной строки.
Когда роль установлена, дальнейшая удаленная настройка (например, Active Directory, работающего на контроллере домена в режиме Server Core) может быть реализована удаленно с рабочей станции администратора. Кроме того, удаленно можно применять и другие технологии, такие как Windows PowerShell (которого, к сожалению, пока локально в Server Core нет в связи с его зависимостью от .NET Framework).
Брандмауэр
Server Manager не только устанавливает нужные компоненты, но и выполняет, к примеру, конфигурацию встроенного брандмауэра, открывая порты, необходимые для работы компонента. Очень полезное нововведение, исключающее искушение выключить брандмауэр, если какой-то компонент сервера не работает (рис. 4).
Рис. 4. Новый интегрированный интерфейс настраивает брандмауэр
в соответствии с установками IPSec и ролью сервера
Кстати, аналогичным образом брандмауэр интегрирован теперь и с настройками политик IPSec, что позволяет избежать «накладок», при которых политики IPSec и брандмауэра оказываются взаимоисключающими и сервер «исчезает» из вашей сети.
Сетевая безопасность
Ваши серверы наверняка не одиноки в вашей сети. Как бы замечательно вы их ни настроили, как бы прекрасно ни следили за тем, чтобы на них стояли последние обновления антивирусных программ и операционной системы, как бы прекрасно ни защищали соединение своей сети со Всемирной паутиной, для потенциальных атак всегда остается еще одна лазейка — компьютеры ваших пользователей. Проблема усугубляется тем, что пользователи становятся более мобильными: они ездят со своими ноутбуками в командировки, работают из дома и интернет-кафе, подключаются из других сетей, безопасность которых от вас не зависит.
Windows Server 2008 борется с данной проблемой в двух основных направлениях:
- позволяя устанавливать более безопасные удаленные соединения, не требующие полного VPN (Virtual Private Network) доступа;
- следя за соблюдением на клиентских машинах корпоративных политик безопасности с помощью Network Access Protection.
Гранулярность удаленных соединений
Когда-то удаленное соединение означало автоматический полный доступ к корпоративной сети. Какое бы приложение и какие бы данные вам ни требовались, ответом был полный доступ, так называемая виртуальная частная сеть (Virtual Private Network, VPN).
Почтовый сервер Exchange2003 первым нарушил это правило, введя возможность устанавливать так называемые RPC/HTTPS-соединения, когда почтовый клиент может общаться с сервером удаленно через безопасное HTTP-соединение, при этом не давая машине клиента никакого дополнительного доступа в сеть.
Windows Server 2008 позволяет шагнуть еще дальше и настроить терминальный HTTPS-доступ к любому приложению вашей сети без установления полного VPN-соединения. Для этого необходимо настроить на Windows Server 2008 терминальный сервер и убедиться, что на клиентских машинах установлена последняя версия клиента RDP (Remote Desktop Protocol) — 6.1. Этот клиент входит в состав Windows Server 2008, Windows Vista SP1 и Windows XP SP3 (рис. 5).
Рис. 5. Удаленный доступ к терминальным приложениям теперь возможен
через безопасное интернет-соединение
Network Access Protection
Даже если вы смогли избавиться от VPN-соединений, остается вторая проблема, о которой мы уже упоминали, — ноутбуки, возвращающиеся в вашу сеть из чужих сетей. А коль скоро эти компьютеры на какое-то время уходили из-под вашего контроля, то как убедиться, что они не представляют для вашей сети угрозу?
Для этого в Windows Server 2008 предусмотрен новый компонент — система защиты сетевого доступа NAP (Network Access Protection). Заключается она в том, что при установлении сетевого соединения сервер может заставить компонент NAP, находящийся на клиенте, отчитаться о состоянии компьютера, например о наличии последних обновлений операционной системы и антивирусных программ. Дальше сервер политик проверяет отчет и сопоставляет его с текущими требованиями. Если требования выполнены, компьютер попадает в сеть, а если нет — отправляется в карантинную зону, где может поставить последние обновления и попробовать войти в сеть снова (рис. 6).
Рис. 6. Технология NAP позволяет выделить сегмент сети,
в который
не допускаются компьютеры,
не соответствующие
корпоративным стандартам
безопасности
NAP может работать со следующими типами соединений:
- DHCP — политики проверяются при выдаче динамического IP-адреса;
- 802.1x — беспроводные соединения;
- VPN — удаленные соединения;
- IPSec — при наличии у вас сконфигурированной доменной политики.
IPSec — наиболее безопасный и полноценный способ установления NAP, но при этом и наиболее сложный в настройке (требуется тщательная настройка и проверка множества индивидуальных политик).
Следует также обратить внимание на то, что проверка состояния клиента осуществляется установленным на нем клиентом NAP, из чего можно сделать два важных вывода:
- этот NAP-клиент должен там быть. В данный момент он существует только для Windows Vista, но вскоре, начиная с версии SP3, появится и для Windows XP;
- потенциально может быть создан злобный вирус, способный притвориться хорошим клиентом и обмануть сервер политик.
Из последнего утверждения следует еще один важный вывод: NAP — один из компонентов системы безопасности, позволяющий установить у вас в сети единые политики и стандарты конфигурации, но он не обеспечивает защиту от всех бед. NAP призван действовать в сочетании с другими мерами, такими как наличие на всех клиентских машинах антивирусов и брандмауэров, использование пользователями обычных, а не привилегированных учетных записей и т.д.
Изменения в Active Directory
Начиная с Windows Server 2000 компонент Active Directory является главным в системе корпоративной безопасности Windows-сетей. Это корпоративная директория учетных записей пользователей, авторизующая доступ, дающая информацию о членстве пользователя в группах безопасности и т.д. Учитывая это, отрадно видеть, что большое количество улучшений в Windows Server 2008 коснулось именно Active Directory:
- в удаленных офисах теперь можно ставить контроллеры доменов в режиме доступа только на чтение;
- можно делегировать права на поддержание этих серверов, не давая при этом дополнительного административного доступа в самом домене;
- улучшен аудит изменений в домене;
- появилась возможность задания гранулярных политик паролей пользователей;
- контроллер домена можно установить и в безопасном режиме Server Core.
О Server Core мы уже рассказали, а теперь подробнее рассмотрим первые четыре изменения.
Read-Only Domain Controller
Если вам знакома аббревиатура BDC, то, вероятно, вы, как и я, начинали свою работу с сетями Windows в славные 90-е годы господства Windows NT. В те времена в доменах был только один контроллер, на котором можно было вносить изменения, — Primary Domain Controller (PDC), а остальные — Backup Domain Controllers (BDC) — служили лишь для обеспечения балансирования нагрузки и отказоустойчивости.
Windows Server 2000 и Active Directory перешли к куда более масштабируемой системе, при которой изменения могут вноситься на любом контроллере домена, но при этом очевидной стала проблема безопасности удаленных офисов.
К примеру, у вас есть удаленный офис, в котором вы не можете гарантировать стопроцентную безопасность вашего контроллера домена — физическую или административную. Если в таком офисе контроллер домена не ставить, то пользователи будут страдать от крайне медленного процесса аутентификации их компьютеров в сети и применения групповых политик. Если ставить — то атака на такой контроллер домена автоматически превращается в атаку на всю вашу сеть.
Read-Only Domain Controller (RODC) — это специальный режим работы контроллера домена Active Directory для таких сценариев. Безопасность контроллера обеспечивается с помощью следующих мер:
- контроллер не принимает запросов на изменения — они перенаправляются на обычные контроллеры основного офиса. Таким образом, он становится просто кэшем для эффективной локальной работы сети;
- репликация данных осуществляется только в одну сторону — на RODC. Даже если злоумышленники смогут модифицировать базу сервера, эти изменения не распространятся на всю сеть;
- вы определяете, следует ли RODC иметь в своей базе хэши паролей, а если следует, то для каких пользователей. Это защищает от потенциального использования контроллера удаленного офиса для подбора административных и пользовательских паролей ваших пользователей (рис. 7).
Рис. 7. Контроллер домена только для чтения позволяет обеспечить
эффективную работу удаленного офиса, не ставя под угрозу
безопасность сети
Что особенно приятно, для применения RODC вам вовсе не надо переводить все ваши контроллеры домена на Windows Server 2008. Последняя версия Windows нужна лишь на самом RODC и на полноценном контроллере, куда RODC будет перенаправлять запросы на запись и аутентификацию.
Делегированное администрирование сервера
Делегирование администрирования сервера контроллера домена — второй важный компонент развертывания инфраструктуры удаленного офиса. В предыдущих версиях Windows, если вы хотели наделить сотрудника правом поддержания самого сервера, на котором работал контроллер домена, вы должны были сделать его администратором домена. Теперь вы можете дать пользователю только права на операционную систему (установку драйверов и другие задачи), но не на директорию.
Добавьте к этому возможность установить данный контроллер домена в режиме Server Core Read-Only Domain Controller и включить его шифрование с помощью системы BitLocker — и вы получите куда более высокий уровень защиты вашего домена по сравнению с тем, что был доступен в предыдущих версиях Windows.
Улучшенный аудит
Улучшился и аудит изменений в директории. Раньше журнал событий директории не содержал полезных сведений о сути изменений, которые производили в ней администраторы. Начиная с Windows Server 2008 вы, к примеру, можете узнавать не просто о том, что учетная запись пользователя изменилась, но что такой-то администратор поменял такой-то атрибут с такого-то на такое-то значение.
Учитывая дополнительные улучшения системы работы с журналами событий в Windows Vista и Windows Server 2008 — такие, как агрегирование, пересылка и подписки на события, — можно сделать вывод, что аудит изменений директории становится куда более полезным.
Гранулярные политики паролей
Гранулярные политики паролей — еще одно важное улучшение безопасности директории. Политика паролей определяет, к примеру, то, как часто должен пользователь менять свой пароль, какова должна быть минимальная длина пароля и его сложность и т.д. Проблема в предыдущих версиях Windows Server заключалась в том, что на всех пользователей домена можно было определить только одну такую политику. Соответственно, если у вас в сети часть учетных записей пользователей должна была отвечать более серьезным требованиям безопасности, перед вами вставал нелегкий выбор: либо применять более строгую политику ко всем пользователям, неоправданно усложняя жизнь простым сотрудникам и увеличивая нагрузку на ваших администраторов по сбрасыванию забытых паролей, либо ставить безопасность под угрозу чрезмерно мягкими политиками.
В Windows Server 2008 эта дилемма больше не стоит. Вы можете определять любое количество политик паролей в вашем домене, устанавливая их на группы и отдельные учетные записи пользователей.
Следует иметь в виду, что в Windows Server 2008 пока не входит интерфейс по настройке таких политик и поэтому требуется использовать утилиту ADSIEdit для ручного редактирования атрибутов Active Directory. Существуют альтернативные способы управления этими политиками, например с помощью командной строки PowerShell (библиотеки AD cmdlets) и графического интерфейса PowerGUI — бесплатных утилит, в создании которых принимал участие и автор данной статьи.
Безопасный веб-сервер
Урок безопасности, полученный когда-то командой Internet Information Services (IIS), был суровым и запоминающимся. В 2000 году IIS был сделан устанавливаемой по умолчанию частью Windows Server 2000. Статистика по распространенности сервера пошла стремительно вверх. IIS по своей распространенности стал наконец конкурировать с Apache. Но эйфория длилась недолго: 13 июля 2001 года вирус Code Red использовал брешь в IIS, а стало быть в Windows Server, и начал распространяться по Интернету со скоростью лесного пожара.
Урок был учтен. IIS 7 — новая версия веб-сервера компании Microsoft и часть Windows Server 2008 — не только не устанавливается по умолчанию, но и требует выбора соответствующей роли сервера, а также дает возможность опциональной установки только компонентов, реально необходимых вашему серверу. Соблюдается все тот же принцип: чем меньше сервисов запущено, тем меньше потенциальных мишеней доступно злоумышленникам.
Кроме того, все настройки сервера можно хранить в XML-файлах, что позволяет вам легко обеспечивать единообразие настроек среди всех ваших веб-серверов. А значит, снижается риск случайной ошибки настройки защиты одного сервера.
Заключение
Безопасность не пункт назначения, а путь к нему. Windows Server 2008 несет в себе множество улучшений и инструментов, позволяющих продвинуться по этому пути дальше. Некоторые из них, такие как внутренние архитектурные изменения, являются просто частью операционной системы, а какие-то, например Network Access Protection, требуют тщательной настройки во всей вашей сети и обновления клиентских компьютеров.
Как обычно, необходимость перехода на последние версии продуктов зависит от конкретной сети и задач, стоящих перед вами и вашей организацией. Но если безопасность сети является для вас важным приоритетом, то, похоже, Windows Server 2008 — это операционная система, на которую вам следует обратить внимание.