Шифрование данных — наиболее широко известная функция IPsec, но проверка подлинности и другие функции могут играть важную роль в построении эшелонированной обороны для защиты данных предприятия. Многие системные администраторы с опасением относятся к IPsec, так как перед применением протокола необходимо разобраться в его многочисленных механизмах. Однако, зная основные принципы, работать с ним не так сложно. В статье дается краткое описание возможностей и терминологии Ipsec и приведен простой пример настройки IPsec для двух серверов в сети.

Что такое IPsec и каковы его возможности?

IPsec — протокол безопасности базовой эталонной модели взаимодействия открытых систем (OSI) уровня 3 (сетевой уровень) с мощными функциями шифрования, проверки подлинности и целостности данных, пересылаемых по проводным линиям в отдельных фрагментах сети, доступных для неизвестных компьютеров. IPsec предоставляет четыре основные функции.

Цифровая подпись IP-пакетов. Цифровая подпись IP-пакетов гарантирует, что полученные данные исходят из доверенного источника. Функция, используемая для борьбы с атаками «человек посередине», удостоверяет, что компьютер X в действительности является доверенным сервером, установленным в сети.

Проверка неизменности данных во время передачи. Данные получены, но как убедиться, что они не были изменены в процессе пересылки? IPsec проверяет, не изменились ли данные, гарантируя целостность.

Защита от повторного использования (anti-replay protection). Гарантирует, что последовательность IP-пакетов, пересылаемых между двумя машинами, не подвергалась изменениям.

Шифрование данных. IPsec гарантирует конфиденциальность деловых данных и предотвращает перехват с помощью инструментов мониторинга сети во время пересылки по сетевым каналам. Функция шифрования данных — необязательная: IPsec проверяет подлинность IP-пакетов с использованием цифровых сигнатур, но данные не шифруются, если в этом нет необходимости.

Чтобы гарантировать связь через сеть только между доверенными узлами, в IPsec проверяется подлинность компьютера, а не пользователя. IPsec — протокол безопасности уровня 3, прозрачный для пользователей и приложений. Таким образом, этот вид шифрования/проверки подлинности можно применять и с приложениями, которые не поддерживают IPsec. С помощью IPsec можно также в некоторой степени противостоять атакам из доверенных компьютеров, например назначая ограничения для определенных портов и/или протоколов при доступе к корпоративной сети с удаленных компьютеров.

Основы IPsec

Прежде чем изучить образец сценария для шифрования данных, пересылаемых между двумя серверами в сети, полезно познакомиться с основами IPsec. Во-первых, рассмотрим заголовки и узлы IPsec; затем списки, действия и правила фильтрации IPsec; и, наконец, проверку подлинности, шифрование, защищенные соединения (security association, SA) и мониторинг трафика.

Заголовки IPsec. Authentication Header (AH) обеспечивает цифровое подписывание IP-пакетов; он гарантирует, что IP-пакеты (как заголовок, так и данные) не изменены во время пересылки, и защищает от повторного использования IP-пакеты, направленные конкретному устройству. Данные не шифруются. Дополнительное преимущество заголовка Encapsulating Security Payload (ESP) — шифрование данных.

Режимы IPsec. Протокол IPsec функционирует в двух режимах — транспортном и туннельном. Для Windows Server 2003 режим по умолчанию — транспортный. В транспортном режиме данные IP-заголовка (в частности, информация об адресе источника и назначения) никогда не шифруются, но в туннельном режиме IP-заголовок и полезные данные шифруются. Это достигается посредством инкапсуляции IP-заголовка и данных внутри нового пакета, в котором конечные точки туннеля остаются незашифрованными, чтобы маршрутизировать пакет. Туннельный режим используется, если данные нужно передать через общедоступную сеть, такую как Internet. В приведенном ниже примере используется выбираемый по умолчанию транспортный режим.

Списки фильтрации, действия фильтрации и правила IPsec. Список фильтрации представляет собой список IP-адресов, портов и протоколов, который определяет один или несколько фильтров пакетов. Действие фильтрации определяет метод обработки пакетов, пересылаемых между устройствами, определенными в списке фильтрации, например разрешить, блокировать или согласовать меры безопасности. Правило — комбинация одного списка фильтрации и одного действия фильтрации с несколькими другими параметрами, такими как метод проверки подлинности и режим IPsec. В политике IPsec может быть много правил.

Проверка подлинности. Internet Key Exchange (IKE) выполняет «взаимную проверку подлинности» между двумя компьютерами. Используется один из перечисленных ниже методов.

  • Kerberos — метод по умолчанию для проверки подлинности между компьютерами в лесу Active Directory (AD). Kerberos посылает удостоверение компьютера незашифрованным, пока не создано защищенное соединение. В примере в данной статье для проверки подлинности используется Kerberos, так как Server A и Server B — члены домена AD и ни один компьютер напрямую не подключен к Internet.
  • Сертификат компьютера (X.509 или инфраструктура открытого ключа, PKI) — более надежный, чем Kerberos, для компьютера, подключенного напрямую к Internet. Метод Kerberos может оказаться непригодным, так как для него требуется, чтобы оба компьютера были членами леса AD.
  • Общий секретный ключ (pre-shared key) — самая ненадежная форма проверки подлинности. Тем не менее она может пригодиться, если AD или сервер сертификата недоступны (или нежелательны).

Шифрование. Алгоритм Triple Data Encryption Standard (3DES) обеспечивает шифрование, а Secure Hash Algorithm (SHA1) — целостность данных (т. е. данные не изменяются при пересылке). Обе технологии используются в комбинации по умолчанию в протоколе IPsec, реализованном в Windows 2003. Нет необходимости изменять параметры шифрования, если не предстоит настраивать политики IPsec для связи с другими устройствами, требующими различных стандартов.

Защищенные соединения. В основном режиме (этап 1) IKE устанавливает защищенное соединение, согласовывая основные требования к безопасности (стандарты и протоколы, приемлемые для обоих узлов). В быстром режиме (этап 2) IPsec согласовывает защищенное соединение для шифрования данных.

Мониторинг трафика IPsec. Если IPsec применяется для шифрования данных, нельзя использовать программы сетевого мониторинга для захвата данных в целях диагностики. Однако если IPsec используется только для проверки подлинности, то большинство инструментов сетевого мониторинга (в том числе Microsoft Network Monitor) пригодны для этой цели.

Использование IPsec для шифрования данных в сети

Рассмотрим простой сценарий, в котором требуется шифровать данные, передаваемые по сети между двумя серверами. Например, на одном сервере (сервер A) размещено Web-приложение корпоративной сети; он обменивается данными с другим сервером (сервер B), на котором размещена внутренняя база данных приложения. Все данные, передаваемые между собственно Web-приложением и корпоративными клиентами, подключающимися через браузер, могут шифроваться с использованием протокола HTTP Secure (HTTPS), но данные, передаваемые между Web-сервером и внутренней базой данных, уязвимы. Злоумышленник может перехватить или изменить данные на ненадежных узлах сети.

Чтобы упростить пример, пусть шифрование данных применяется только между серверами A и B. На рисунке показан процесс установки. Трафик, поступающий на один из этих серверов из любого другого компьютера, не проверяется и не шифруется. Будет подготовлена политика IPsec, которая предотвращает перехват данных между серверами A и B. IPsec можно настроить и для дополнительной защиты серверов, например разрешить подключение к ним только надежных узлов.

Настройка IPsec с использованием групповой политики

Политику IPsec на каждом сервере можно настроить с применением групповой политики. Политика IPsec должна присутствовать в каждой конечной точке. Защищенное соединение устанавливается в соответствии с настройками политики в каждой конечной точке. Политики IPsec можно настраивать вручную, без групповой политики, но всегда предпочтительно централизованное управление такой конфигурацией.

Шаг 1. Создание нового объекта групповой политики (GPO). Откройте консоль управления групповой политикой (GPMC) из раздела Administrative Tools в панели управления. Щелкните правой кнопкой мыши на Group Policy Objects, выберите пункт New, дайте политике название IPsec и нажмите OK. Разверните узел Group Policy Objects, щелкните правой кнопкой мыши на новой политике IPsec и выберите пункт Edit. Откроется окно редактора групповой политики.

Шаг 2. Создайте политику безопасности IPsec. Разверните Computer Configuration, затем Windows Settings и Security Settings. Щелкните правой кнопкой мыши на IPsec security policies on Active Directory в нижней части списка и выберите пункт Create IPsec Security Policy. Нажмите кнопку Next на первом экране, а на следующем назначьте политике IPsec имя: Web App Encrypt. Снимите флажок Active Default Response Rule и щелкните на кнопке Next. Убедитесь, что выбран параметр Edit Properties, и нажмите Finish. Чтобы создать правило, нажмите Add на вкладке Rules и Next во вводном экране. Будет использован транспортный режим, поэтому щелкните Next на экране Tunnel Endpoint. На экране Network Type выберите все соединения и нажмите Next.

Шаг 3. Создание списка фильтрации IPsec. На данном этапе будет создан новый список фильтрации, так как не нужно шифровать трафик из всех IP-адресов, как в типовом списке фильтрации. Нажмите Add и дайте имя новому списку фильтрации: Web — DB. Нажмите Add, чтобы запустить мастер IP Filter Wizard и Next на вводном экране. Введите описание, например, «Шифрование всего трафика только между серверами A и B». Убедитесь, что выбран флажок Mirrored, и щелкните на кнопке Next. В раскрывающемся списке Source Address выберите A Specific IP Address и введите IP-адрес сервера A. Нажмите Next и введите IP-адрес сервера B как адрес назначения. Нажмите Next.

На экране IP Protocol Type примите параметр по умолчанию Any и нажмите Next. Снимите флажок Edit Properties и нажмите Finish. Щелкните OK в диалоговом окне IP Filter List (экран 1). В окне IP Filter List мастера Security Rule Wizard появится дополнительный список фильтрации. Выберите список фильтрации Web — DB и нажмите Next.

Экран 1. Окно списка IP-фильтров

Шаг 4. Создание действия фильтра. Чтобы создать действие фильтрации, которое требует шифрования всех соединений, щелкните на кнопке Add. Нажмите Next на вводном экране мастера IP Filter Action. Дайте действию имя Require Security (Strict) и нажмите Next. Выберите параметр Negotiate Security и нажмите Next. Оставьте режим по умолчанию Do not communicate with computers that do not support IPsec и нажмите Next. Согласитесь принять параметр по умолчанию Integrity and Encryption и последовательно нажмите Next и Finish.

В мастере IP Filter Action выберите новое действие фильтрации Require Security (Strict) и нажмите Next. Выберите метод проверки подлинности Kerberos и нажмите Next.

Шаг 5. Завершение подготовки политики IPsec. В окне Completing the Security Rule Wizard снимите флажок Edit Properties и нажмите Finish. В диалоговом окне Web App Encrypt Properties можно увидеть, что выбран фильтр Web — DB (экран 2). Нажмите OK. Щелкнув на IP Security Policies for Active Directory в окне редактора объекта групповой политики, можно увидеть только что созданную политику Web App Encrypt. Политика не назначается по умолчанию, поэтому щелкните правой кнопкой мыши на политике и выберите пункт Assign. Состояние политики в окне должно измениться. Закройте окно редактора объекта групповой политики и вернитесь в консоль GPMC. Нужно назначить этот объект GPO серверу A и серверу B. Создайте новую организационную единицу (OU) и свяжите с ней IPsec GPO. Переместите учетные записи компьютеров в новую OU и зарегистрируйтесь на каждом сервере в качестве администратора. Запустите команду gpupdate /force из командной строки.

Экран 2. Диалоговое окно свойств Web App Encrypt Properties с выбранным фильтром Web — DB

Шаг 6. Проверка политики с использованием IPSecmon. Следует проверить, что у каждого сервера есть успешное защищенное соединение основного и быстрого режимов. Если защищенные соединения установлены успешно, то между серверами A и B потечет трафик с проверкой подлинности и шифрованием. Введите MMC в командной строке и выберите Select File, Add/Remove Snap-In. Щелкните Add и выберите IP Security Monitor из списка, вновь щелкните Add, а затем нажмите Close. Щелкните OK в окне Add/Remove Snap-In и разверните узлы Main Mode и Quick Mode в разделе IP Security Monitor. Поочередно выделите Security Associations в каждом узле, и на правой стороне экрана будут представлены сведения о SA (экран 3). Любому другому компьютеру (надежному или нет), который попытается подключиться к любому из этих серверов, не потребуется политика IPsec.

Экран 3. Консоль с подробностями защищенного соединения

Углубленный подход

Пример, приведенный в данной статье, показывает, как организовать дополнительный уровень в рамках общей стратегии защиты конфиденциальных данных. Освоив основы IPsec, можно строить сложные политики, добавляя новые уровни защиты, и применять протокол в разнообразных сценариях.


Рассел Смит (rms@russell-smith.net ) — независимый ИТ-консультант, специализируется на управлении системами