Технология NAP предлагает различные варианты реализации: выдача IP-адресов из различных диапазонов для «хороших» и «плохих» компьютеров; установление соединения IPSec с «хорошими» компьютерами, в то время как «плохим» компьютерам в соединении будет отказано. И самый интересный и наиболее правильный для использования в локальной сети вариант — авторизация сетевых устройств по протоколу IEEE 802.1x на коммутаторах локальной сети. Далее я расскажу, как настроить роль Network Policy Server в  Windows Server 2008, а также сетевые коммутаторы для реализации NAP в сети.

Для изучения и демонстрации технологии NAP у нас в компании был собран стенд «Поликом Про», состав оборудования которого был максимально приближен к реальным условиям. В нашей лабораторной сети установлен L3-коммутатор Cisco Catalyst 3550 и L2-коммутаторы Cisco Catalyst 2950. Данные модели наиболее распространены в сетях российских предприятий. Схема собранного стенда показана на рисунке.

Рисунок. Схема лабораторного стенда

Как мы видим, в качестве контроллера домена используется компьютер под управлением Windows Server 2003, центр сертификации также развернут на компьютере под управлением Windows Server 2003. На компьютере под Windows Server 2008 развернута только одна роль — Network Policy Server, которая необходима для реализации технологии NAP. Такая конфигурация стенда была выбрана специально, чтобы показать, что для использования технологии NAP администраторам не придется перестраивать всю существующую инфраструктуру, а при желании достаточно лишь добавить один сервер под управлением Windows Server 2008, и можно использовать новые технологии, реализованные в новой серверной операционной системе. В качестве клиентов использовались компьютеры под управлением Windows Vista и Windows XP SP2 плюс специальный программный модуль или Windows XP SP3.

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

Предварительная настройка Windows Server 2008

На рисунке мы видим, что у нас есть сервер с именем DC, который работает под управлением операционной системы Windows Server 2003. Данный сервер является контроллером домена nap.demo. Также на данном сервере развернут центр сертификации Microsoft Certification Authority. Никаких других настроек не производилось.

Второй сервер, NPS, работает под управлением операционной системы Windows Server 2008. Этот сервер входит в домен nap.demo, т. е. является членом домена. Первое, что необходимо сделать при его настройке, это запросить сертификат компьютера для данного сервера. Для этого открываем консоль mmc, в меню File выбираем Add/Remove Snap-in, в появившемся окне из списка предложенных оснасток выбираем оснастку Certificates, далее нажимаем кнопку Add, в следующем окне Certificates snap-in выбираем пункт Computer Account и нажимаем Next. В новом окне выбираем пункт Local computer (the computer this console is running on) и нажимаем кнопку Finish. В окне удаления/добавления оснасток нажимаем Ok.

В оснастке Certificates щелкаем правой кнопкой мыши на пункте Personal и из контекстного меню выбираем All Tasks, Request New Certificate, после чего появится мастер запроса сертификатов. В окне Before you begin нажимаем Next. Далее из списка предложенных шаблонов нужно выбрать шаблон Computer и Enroll. После получения сообщения об успешном завершении операции нажимаем Finish.

Чтобы удостовериться, что теперь на нашем компьютере есть сертификат, открываем Certificates(Local Computer), Personal, Certificates и видим в правой панели экрана выданный нам сертификат.

Следующим шагом будет установка роли Network Policy Server. Для этого необходимо открыть Server Manager, в разделе Roles Summary выбрать пункт Add Roles и далее в окне Before You Begin нажать Next. Из списка предложенных ролей выбираем роль Network Policy and Access Services и опять нажимаем Next. В окне Network Policy and Access Services нажимаем Next. Далее, в окне Role Services следует выбрать пункт Network Policy Server и щелкнуть Next. Для запуска установки роли нажимаем кнопку Install и после завершения установки — Close.

Настройка Network Policy Server

Все предварительные действия выполнены, теперь можно приступать к настройке самого Network Policy Server. Для этого открываем Start, Programs, Administrative Tools, Network Policy Server.

На первом этапе создадим в NPS записи для наших коммутаторов Cisco Catalyst 2950 и Cisco Catalyst 3550. Разворачиваем контейнер RADIUS Clients and Servers и щелкаем правой кнопкой мыши на RADIUS Clients. Из контекстного меню выбираем пункт New RADUIS Client и в появившемся окне указываем имя клиента — Cisco Catalyst 2950. Это имя будет отображаться в окне Network Policy Server. Указываем IP-адрес клиента — 192.168.200.10 — это IP-адрес коммутатора Cisco Catalyst 2950 (см. рисунок). Далее указываем ключ — выбираем Manual и в поле Shared Secret пишем cisco (данный пароль будет ниже использоваться при настройке коммутатора). Повторяем наш пароль в поле Confirm Shared Secret и последним шагом устанавливаем флажок у параметра Access-Request. Повторяем аналогичные действия для Cisco Catalyst 3550, только имя будет, соответственно, Cisco Catalyst 3550, а IP-адрес — 192.168.200.20. В качестве Shared Secret также указываем cisco. В результате этой процедуры у нас в Network Policy Server будут зарегистрированы оба коммутатора.

Подключение — по запросу

Теперь необходимо создать политики запроса подключения, для чего переходим в раздел Policies и, щелкнув правой кнопкой мыши на пункте Connection Request Policies, из контекстного меню выбираем New. В открывшемся окне вводим имя политики — Request Policy for 2950 и нажимаем Next. В окне Specify Conditions нажимаем кнопку Add, и в разделе RADIUS Client выбираем пункт Client IPv4 Address. Нажимаем Add и в появившемся окне вводим адрес коммутатора 192.168.200.10, после чего нажимаем Ok.

Далее нажимаем Next до тех пор, пока не появится окно Specify Authentication Methods. В этом окне устанавливаем флажок Override network policy authentication settings, нажимаем кнопку Add и из появившегося списка выбираем пункт Microsoft: Protected EAP (PEAP). В окне Specify Authentication Methods нужно указать только что добавленный метод аутентификации, нажать кнопку Edit и в окне Configure Protected EAP Properties убедиться, что в Certificate issued отображается сертификат нашего компьютера NPS.nap.demo. После этого нажимаем Ok, затем дважды Next, и в окне Completing Connection Request Policy Wizard нажимаем кнопку Finish (см. экран 1).

Экран 1. Создание политики подключения

Создаем аналогичную политику для Cisco Catalyst 3550. При создании указываем имя политики Request Policy for 3550 и в окне Specify Conditions при указании IP-адреса клиента RADIUS вводим 192.168.200.20. Остальные действия аналогичны созданию политики для Cisco Catalyst 2950.

В итоге получаем две политики Connection Request Policies.

Проверка статуса

Следующий шаг — настройка проверки состояния компьютера для определения его статуса. Сначала укажем, какие параметры должны проверяться на компьютере, — открываем контейнер Network Access Protection и выбираем System Health Validators. В панели справа выбираем Windows Security Health Validator, щелкаем на нем правой кнопкой мыши и в контекстном меню выбираем пункт Properties. В открывшемся окне нажимаем кнопку Configure. Так как на нашем стенде клиентский компьютер работает под управлением операционной системы Windows Vista, на вкладке Windows Vista выбираем те параметры, которые нам необходимы. В нашем случае для стенда мы оставим включенной только проверку состояния брандмауэра. Проверку остальных параметров проводить не будем.

Теперь необходимо создать политики проверки состояния компьютеров, которые описывают, какой компьютер и с какими параметрами считать соответствующим политикам сети, а какой — нет. Для этого перейдем в контейнер Policies и, щелкнув правой кнопкой мыши на пункте Health Policies, из контекстного меню выберем пункт New.

В окне Create New Health Policy заполняем поле Policy Name — Compliant, убеждаемся, что в поле Client SHV Checks установлен переключатель Client passes all SHV checks, и ниже устанавливаем флажок напротив Windows Security Health Validator, после чего нажимаем Ok.

Аналогичным образом создаем политику для определения компьютеров, которые не соответствуют требованиям сети. Для Client SHV Checks выбираем значение Client fails one or more SHV checks.

Политики сети

Остался последний шаг — настройка сетевых политик. На пункте Network Policies щелкаем правой кнопкой мыши и из контекстного меню выбираем пункт New. В окне Specify Network Policy Name and Connection Type указываем имя политики Full Access for 2950 и нажимаем Next. В окне Specify Conditions нажимаем кнопку Add. Из открывшегося списка выбираем пункт Health Policies из раздела Network Access. Нажимаем кнопку Add, в появившемся окне выбираем из списка значение Compliant и нажимаем Ok.

В окне Specify Conditions опять нажимаем кнопку Add. Из появившегося списка следует выбрать пункт Client IPv4 Address из раздела RADIUS Client и нажать Add. В поле запроса IP-адреса вводим значение 192.168.200.10 и нажимаем Ok. Далее в окне Specify Conditions нажимаем Next. В следующем окне Specify Access Permission выбираем пункт Access granted и нажимаем Next до тех пор, пока не увидим окно Configure Settings (см. экран 2).

Экран 2. Настройка параметров сетевой политики

В левой части окна в разделе RADIUS Attributes выбираем пункт Standard, затем в рабочей области справа нажимаем кнопку Add и из списка параметров выбираем Termination-Action, после чего нажимаем кнопку Add. В окне Attribute Information в поле Attribute Value указываем значение RADIUS-Request и затем нажимаем Ok.

Таким же образом добавляем параметр Tunnel-Medium-Type со значением параметра 802 (includes all 802 media plus Ethernet canonical format). Затем закрываем окно Add Standard RADIUS Attribute.

В окне Configure Settings в левой части окна нужно выбрать пункт NAP Enforcement из раздела Network Access Protection. В правой части окна выбираем пункт Allow full network access и нажимаем Next.

В окне Completing New Network Policy нажимаем Finish. Все, сетевая политики для доступа «правильных» компьютеров создана.

Теперь создадим политику ограниченного доступа, для компьютеров, не соответствующих политикам сети. Для этого нужно щелкнуть правой кнопкой мыши на только что созданной политике и из контекстного меню выбрать пункт Duplicate Policy. На сдублированной политике Copy Of Full Access for 2950 щелкаем правой кнопкой мыши и из контекстного меню выбираем свойства. В открывшемся окне следует заменить значения полей Policy name на значение Limited Access for 2950, затем установить флажок Policy enabled, а в разделе Access Permission выбрать значение Deny Access. Переходим на вкладку Conditions. Выбираем пункт Health Policy и нажимаем кнопку Edit. В открывшемся окне меняем значение поля Health Policies на NonCompliant, нажимаем Ok и затем нажимаем кнопку Apply. Правила для Cisco Catalyst 2950 созданы: первое правило разрешает коммутатору открывать доступ компьютера в сеть, если у него включен брандмауэр. Второе правило предписывает коммутатору заблокировать порт, к которому подключен компьютер, если на нем брандмауэр выключен.

По аналогии создаем правила для Cisco Catalyst 3550. Для ускорения создания правил будем использовать правила, определенные на предыдущих этапах. Выбираем правило Full Access for 2950, щелкаем на нем правой кнопкой мыши и из контекстного меню выбираем Duplicate Policy. Открываем свойства вновь созданного правила и исправляем значения параметров следующим образом: в поле Policy name вводим Full Access for 3550, устанавливаем флажок Policy enabled. Переходим на вкладку Conditions, выбираем пункт Client IPv4 Address, нажимаем кнопку Edit и вводим IP-адрес 192.168.200.20. Переходим на вкладку Settings, в панели справа нажимаем кнопку Add и добавляем следующие параметры: Tunnel-Pvt-Group-ID со значением Healthy и Tunnel-Type со значением Viltual LANs (VLAN). Нажимаем Ok.

Повторяя шаги, необходимые для задания политик для 2950, создаем копию правила Full Access for 3550. Открываем свойства вновь созданного правила и редактируем следующим образом: в Policy name вводим Limited Access for 3550, устанавливаем флажок Policy enabled, переходим на вкладку Conditions, выбираем пункт Health Policy и изменяем значение этого параметра на NonCompliant. Далее переходим на вкладку Settings, в рабочей области экрана в разделе Attributes изменяем значение параметра Tunnel-Pvt-Group-ID на Quarantine и нажимаем Ok. Результат представлен на экране 3. На этом настройка Network Policy Server завершена.

Экран 3. Настройка политик для второго коммутатора

Финал — настройка оборудования Cisco

Теперь приступим к настройке оборудования Cisco. Список необходимых команд приведен в листинге, я лишь вкратце поясню последовательность действий. Через терминальный кабель следует подключиться к Cisco Catalyst 2950 и для начала изменить имя коммутатора, чтобы потом не запутаться, поскольку предстоит повторить такую же последовательность для модели 3550. Далее настраиваем аутентификацию и авторизацию через службу RADIUS: прежде всего, задаем настройки сервера RADIUS; он должен быть доступен через первый порт коммутатора. Далее настраиваем параметры Default VLAN (Vlan 1). Следующий шаг — настроить порты коммутатора, к которым будут подключаться клиенты. Порт 9 в листинге выбран для примера, аналогичная настройка должна выполняться для всех портов, к которым будут подключаться клиенты. На последнем шаге останется только сохранить конфигурацию.

Настройки Cisco Catalyst 3550 аналогичны настройке Cisco Catalyst 2950, только в качестве клиентского порта на нашем стенде был настроен 13-й порт коммутатора.

Роман Совалов (RSovalov@polikom.ru) — ведущий инженер компании «Поликом Про»