Примечание. При подготовке статьи использовалась версия Windows Server 2008, CTP-сборка бета 3 от июня 2007 г. Некоторые параметры и экраны в окончательной редакции могут измениться.

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

Как же проверить настройки безопасности компьютера, прежде чем разрешить ему доступ к сетевым ресурсам? Когда следует предоставлять полный или ограниченный доступ? Сетевым администраторам нужен механизм, обеспечивающий соответствие всех компьютеров, подключаемых к корпоративной сети, требованиям политики безопасности и своевременную установку всех необходимых программ и обновлений.

Защита доступа к сети

В Windows Server 2003 SP1 реализована технология помещения в карантин Network Access Quarantine (NAQ), с помощью которой администраторы могут ограничить или запретить подключение к компьютерам, не соответствующим политикам безопасности компании. Однако у NAQ много недостатков. Во-первых, технология применима только к VPN-соединениям и не обезопасит сеть от незащищенных пользователей и даже от пользователей с физическим подключением к сети (например, через ноутбуки сотрудников). Во-вторых, в основе NAQ лежат составленные вручную сценарии (реализованные через диспетчер соединений), которые необходимо запустить на клиентской системе, прежде чем ему будет предоставлен VPN-доступ. Эти сценарии проверяют, в частности, состояние брандмауэра и антивирусной защиты, наличие хранителя экрана с паролем и состояние Internet Connection Sharing. Помимо того что подготовка сценариев — трудоемкая задача, отнимающая много времени, различные типы программ защиты на клиентской стороне могут стать источником проблем. Например, если на VPN-клиентах установлены разные антивирусные программы, то для каждой программы необходимо подготовить специальный сценарий и использовать свой пакет диспетчера соединений. Данное решение — статическое. После того как клиент пройдет все проверки и основной сценарий сообщит серверу о состоянии клиента, пользователь волен отключить брандмауэр, антивирусную программу и все остальные функции безопасности. Эти действия не будут обнаружены, и уровень доступа к ресурсам останется неизменным.

В Windows Server 2008 большинство недостатков NAQ устраняется благодаря технологии Network Access Protection (NAP). С помощью NAP администратор может назначить специальные политики соответствия, которые должны быть удовлетворены, прежде чем клиентский компьютер сможет обратиться к сетевым ресурсам. Если клиентский компьютер не соответствует требованиям к состоянию, он помещается в карантин (с ограниченным доступом к определенным узлам) или просто не получает доступа.

Кроме того, NAP может автоматически скорректировать настройки не отвечающих требованиям клиентских систем, по возможности обновляя компьютеры в соответствии с корпоративной политикой. В зависимости от типа клиентских соединений администратор настраивает метод принудительного применения NAP. NAP обеспечивает соответствие требованиям для следующих типов соединений:

  • соединения с защитой Ipsec;
  • соединения с проверкой подлинности IEEE 802.1x;
  • VPN-соединения;
  • DHCP-управляемые соединения;
  • соединения шлюза служб терминалов.

В данной статье рассматривается реализация NAP для DHCP-управляемых соединений. Использование NAP в сочетании с DHCP позволяет защитить сеть от всех потенциально небезопасных клиентов, управляемых через DHCP (т. е. получающих IP-адреса от службы DHCP), в том числе NAP-совместимых настольных компьютеров-резидентов.

К NAP-совместимым операционным системам относятся Windows Vista (по умолчанию) и Windows XP SP2 с программой NAP-клиента (ныне представленной бета-версией 3). NAP-клиент также войдет в состав XP SP3. Более старые операционные системы не поддерживаются, так как в NAP используется информация от компонента Windows Security Center (WSC), который имеется только в Vista и XP SP2.

Преимущество NAP заключается в том, что область применения не ограничивается только технологиями Microsoft. Использовать NAP может любая система, способная передать сведения о своем состоянии серверу NAP. Компания Microsoft сотрудничает со многими поставщиками оборудования и программных продуктов и другими партнерскими компаниями, помогая им проектировать NAP-совместимые устройства и программы. Чтобы использовать NAP для управляемых службой DHCP соединений, требуется подготовить среду, настроить политики состояния, составить сетевые политики для NAP, настроить DHCP для NAP и реализовать NAP на клиентской стороне.

Подготовка среды

Во-первых, необходима инфраструктура Active Directory (AD) с одним или несколькими контроллерами домена Windows 2003 (или Windows Server 2008). Нужно установить DHCP на компьютере Windows Server 2008, так как прошлые версии службы DHCP (в частности, версия Windows 2003) не распознают NAP. Требуется по крайней мере один статический адрес для этого компьютера.

Следует установить Windows Server 2008 на сервере, который является членом домена. После установки нужно добавить роли Windows Server 2008 с названиями Network Policy Server и DHCP Server. Эту задачу легко выполнить с помощью консоли Server Manager, которую можно найти на странице приветствия или в разделе Administrative Tools. Откройте Server Manager, перейдите к Roles Summary и щелкните на Add Roles. В Windows Server 2008 роль Network Policy Server заменяет Internet Authentication Service (IAS) операционной системы Windows 2003. Таким образом, Network Policy Server (NPS) позволяет создавать различные типы политик, не только относящиеся к NAP.

Настройка политик состояния

Чтобы настроить политики состояния, перейдите к Administrative Tools и щелкните на добавленной роли Network Policy Server. В открывшейся консоли NPS необходимо настроить параметры System Health Validator и Health Policy, чтобы подготовить подходящую сетевую политику. Компонент System Health Validator задает требования к настройкам безопасности клиентов, которые обращаются к сети, а Health Policy определяет различные конфигурации для NAP-совместимых клиентов.

Дважды щелкните на узле Network Access Protection в левой части консоли и на System Health Validator. Элемент Windows Security Health Validator появится в правой части консоли. Следует дважды щелкнуть на этом элементе, чтобы открыть окно настройки (экран 1). В нем нужно щелкнуть на кнопке Configure, чтобы увидеть требования к безопасности. Как показано на экране 2, можно просто установить соответствующие флажки, назначив требования к клиентам. В Windows Vista можно потребовать включить брандмауэр и функции автоматического обновления, своевременно обновлять антивирусные и антишпионские программы, а также устанавливать оперативные исправления. Аналогичные требования применимы и к XP SP2, кроме отсутствующего в этой операционной системе компонента антишпионажа. В целях тестирования установим только флажок брандмауэра как для Vista, так и для XP. Два раза нажмите OK, чтобы завершить настройку System Health Validator.

Экран 1. Настройка свойств Windows Security Health Validator

Экран 2. Назначение требований безопасности для клиентов Windows Vista

Для настройки параметра Health Policy следует дважды щелкнуть на узле Policies в консоли NPS, щелкнуть правой кнопкой мыши на Health Policies и выбрать пункт New в контекстном меню. В окне, показанном на экране 3, введите имя политики и выберите круг проверок System Health Validator (SHV).

Экран 3. Настройка параметра Health Policy

Для начала подготовим политику для соответствующих клиентов. Требуется ввести имя политики compliant и выбрать из раскрывающегося меню пункт Client passes all SHV checks. Выбор этого параметра означает, что корректным считается клиент, который соответствует всем требованиям, заданным в SHV (в данном примере — только требование к брандмауэру). Затем нужно установить флажок Windows Security Health Validator и нажать OK. Первая политика настроена.

Следующий этап — создать политику для компьютеров, не соответствующих требованиям безопасности. Повторите шаги, чтобы создать новую политику состояния, которую можно назвать noncompliant. В раскрывающемся меню нужно выбрать пункт Client fails one or more SHV checks; в результате клиент, у которого выявлен хотя бы один некорректный компонент, считается несоответствующим. Наконец, следует установить флажок Windows Security Health Validator и нажать OK.

Создание сетевых политик для NAP

После того как будет завершена настройка параметров SHV и Health Policy, можно настроить сетевые политики. В узле Policies консоли NPS требуется щелкнуть Network Policies и отключить политики по умолчанию. Две стандартные политики — Connections to Microsoft Routing and Remote Access Server и Connections to other access servers. Нужно щелкнуть правой кнопкой мыши на папке Network Policies и выбрать пункт New. Будет запущен мастер для создания новой политики. Введите имя политики (например, noncompliant-restricted для политики, применяемой к несоответствующим клиентам). Затем следует выбрать из раскрывающегося списка тип сервера сетевого доступа, который будет применять политику к клиентам. По умолчанию это Unspecified; для целей данной статьи выбираем DHCP Server.

Щелкните на кнопке Next, чтобы продолжить работу со страницей Conditions, и на кнопке Add, чтобы выбрать условия для политики. Из списка доступных условий необходимо выбрать Health Policies из группы Network Access Protection. В открывшемся окне выберем созданную ранее политику состояния noncompliant.

Теперь следует повторить процедуру, чтобы добавить к политике условие NAP-Capable (экран 4). Это условие ограничивает применение политики только NAP-совместимыми компьютерами.

Экран 4. Ввод условия NAP-Capable

Откройте окно Specify Access Permission, щелкнув на кнопке Next. В этом окне необходимо указать действия в отношении клиентов, соответствующих политике. На первый взгляд логично отказать в доступе некорректным клиентам, но в действительности полностью лишать их доступа неправильно. Предпочтительно предоставить им ограниченный доступ лишь к тем компьютерам, которые помогут повысить их безопасность (т. е. серверам с программами коррекции). Выберите пункт Access Granted и щелкните на кнопке Next.

В окне Configure Authentication Methods нужно установить флажок Perform machine health check only и снять все остальные флажки (экран 5). Поскольку выполняется настройка политики для проверки состояния безопасности клиентов через DHCP и поскольку клиенты DHCP не проходят проверку подлинности на сервере DHCP, настраивать методы проверки подлинности не нужно. Достаточно щелкнуть на кнопке Next в окне Configure Constraints — ни один из параметров к нашему примеру не применим.

Экран 5. Настройка политики для проверки состояния безопасности клиентов через DHCP

Выберем пункт NAP Enforcement в разделе Network Access Protection окна Configure Settings (экран 6). Для этой политики следует указать метод реализации NAP — Allow limited access. В данном режиме клиенты помещаются в карантин и получают доступ только к серверам коррекции. Из этого окна можно настроить серверы коррекции: достаточно щелкнуть на кнопке Configure, чтобы создать группу Remediation Server, и ввести IP-адреса для компьютеров. Также следует установить флажок Enable auto-remediation of client computers. Благодаря этим двум параметрам клиентский компонент NAP Enforcement автоматически обновляет состояние системы безопасности компьютера (например, отключенный брандмауэр будет включаться автоматически).

Экран 6. Настройка принудительного применения NAP

После того как будет готова политика для несоответствующих клиентов, необходимо составить политику для корректных клиентов. Выполните те же шаги, чтобы создать новую сетевую политику, дав ей имя compliant full. На странице Conditions выберите политику состояния compliant, установите флажок Allow full network access на вкладке NAP Enforcement Settings. Все другие параметры — такие же, как в политике для некорректных клиентов.

Наконец, можно настроить политику для NAP-несовместимых клиентов, предоставив или запретив им доступ к сети. Политика должна открывать или запрещать доступ NAP-несовместимым клиентам путем реализации исключительного условия NAP-совместимости в режиме Only computers that are not NAP-capable. В тестовой среде данная политика необязательна.

На экране 7 показана консоль NPS после того, как будут созданы все необходимые политики. Затем требуется настроить DHCP.

Экран 7. Вид консоли NPS после создания сетевой политики

Настройка DHCP для NAP

Необходимо настроить DHCP для использования NPS и подготовленных политик. Во-первых, требуется создать область на сервере DHCP. Цель этого действия — настроить DHCP-сервер на распространение различных групп параметров области соответствующим и несоответствующим клиентам NAP. Завершив создание области, щелкните правой кнопкой мыши в консоли DHCP. Выберите пункт Properties и перейдите к вкладке Network Access Protection. Затем установите флажок Enable for this scope (экран 8) и используйте профиль NAP, выбираемый по умолчанию.

Экран 8. Активизация NAP в области DHCP

Кроме того, в разделе свойств IPv4 на вкладке Network Access Protection можно настроить поведение DHCP, на случай если DHCP не удастся установить связь с сервером сетевой политики. По умолчанию клиентам предоставляется полный доступ, но можно выбрать режимы Restricted Access или Drop Client Packet. Можно также включить и выключить NAP на уровне сервера.

Наконец, необходимо настроить дополнительные параметры для NAP-несовместимых клиентов. Щелкните правой кнопкой мыши на Scope Options и выберите Configure Options. В диалоговом окне Configure Scope Options следует выбрать вкладку Advanced. Выберите Select Default Network Access Protection Class в качестве класса User и определите специфические параметры DHCP для этого класса клиентов (например, другое имя домена DNS или другой шлюз).

Применение NAP на стороне клиента

Последний этап — настроить клиента для работы с NAP. Принудительно применить NAP на клиентах можно с помощью консоли NAP Client, групповой политики или утилиты Netsh (с новым контекстом для настройки NAP). Поскольку нельзя настроить домен или объекты групповой политики (GPO) организационной единицы (OU) так, чтобы охватить параметры NAP из Windows 2003, применение групповой политики требует редактирования объектов GPO из консоли управления групповой политикой (GPMC) Vista или Windows Server 2008. Используйте консоль администрирования Services, чтобы запустить службу Network Access Protection Agent, изменив тип запуска этой службы на Automatic (это можно сделать и с помощью групповой политики).

В Windows Vista запустите консоль MMC и добавьте оснастку NAP Client Configuration. Или выберите пункт Run из меню Start и введите команду

napclcfg.msc

Требуется выбрать узел Enforcement Clients в левой панели задач, щелкнуть два раза на клиенте DHCP Quarantine Enforcement справа, установить флажок Enable this enforcement client и нажать OK. С этого момента клиент получит возможность использовать NAP.

Чтобы применить Netsh для настройки NAP на клиенте, перейдите к командной строке и введите

Netsh nap client set enforcement ID = 79617

В XP SP2 требуется установить клиентскую программу NAP для XP Beta 3, чтобы обеспечить совместимость операционной системы с NAP.

Тестирование NAP

Для тестирования NAP на клиенте нужно настроить клиент Vista и присоединить его к домену. Получите IP-адрес из DHCP-сервера; брандмауэр должен находиться в активном состоянии по умолчанию. Убедитесь, что назначен статический IP-адрес из области, заданной на предшествующих этапах, с назначенными параметрами области. Чтобы убедиться в наличии всей необходимой DHCP-информации (например, о DNS-серверах, шлюзе, WINS-серверах), введите в командной строке

ipconfig /all

Результат выполнения команды показан на экране 9.

Экран 9. Результаты тестирования NAP на несовместимом компьютере

Затем следует вручную отключить брандмауэр Vista. Через несколько секунд клиент DHCP выполнит автокоррекцию, внеся изменения в состояние клиентской системы, и включит брандмауэр. Для исправления системы, направленной в карантин, нужно перейти к NAP-консоли Windows Server 2008 и настроить Windows Security Health Validator на установку и своевременное обновление антивирусной программы. Если на клиенте Vista нет антивирусного решения, необходимо запустить команду ipconfig /release, а следом — ipconfig /renew, чтобы направить клиента в карантин и дать уведомление о карантине в панели задач. Вновь запустите ipconfig /all и обратите внимание, что в компьютере действуют настройки, заданные в классе DHCP Network Access Protection. Как показано на экране 10, имеется лишь IP-адрес и маска подсети; доступ в Internet и к другим компьютерам сети отсутствует.

Экран 10. Результаты тестирования NAP на совместимом компьютере

Эффективное решение

Поддерживать состояние компьютеров — задача, отнимающая много времени у любого администратора. Она еще более усложняется, если приходится следить за состоянием ноутбуков, компьютеров домашних пользователей и партнеров или компьютеров, не охваченных корпоративной системой применения исправлений (например, Windows Server Update Services — WSUS, Microsoft Systems Management Server — SMS). В этой связи NAP представляет собой эффективное средство управления безопасностью сетевых компьютеров.

Дамир Диздаревич (ddamir@logosoft.ba) — менеджер учебного центра Logosoft в Сараево (Босния). Имеет сертификаты MCSE, MCTS, MCITP и MCT. Специализируется на безопасности Windows Server и опубликовал более 350 статей в журналах по ИТ


Использование NAP для проверки состояния компьютера перед разрешением сетевого доступа

  1. Подготовьте среду: установите DHCP на контроллере домена Windows Server 2008 с AD и введите роли Network Policy Server и DHCP Server.
  2. Настройте политики состояния (параметры System Health Validator и Health Policy).
  3. Подготовьте сетевые политики для NAP: настройте политики для соответствующих и несоответствующих клиентов, а также политики для клиентов, несовместимых с NAP.
  4. Настройте DHCP для NAP: настройте DHCP-сервер для распространения различных наборов параметров соответствующим и несоответствующим клиентам NAP.
  5. Обеспечьте применение NAP на клиентской стороне: используйте клиентскую консоль NAP, групповую политику или утилиту Netsh для настройки клиента на работу с NAP.