Как включить шифрование ESP на ISA 2004 в сценарии site-to-site VPN
Введение
Во многих документах на http://www.microsoft.com/isaserver/techinfo/guidance/2004/vpn.mspx автор включает раздел, в котором кратко описывается, как работает IPSec в туннельном режиме. При использовании Encapsulating Security Payload (ESP) трафик обычно шифруется с использованием стандарта шифрования данных (DES) или Triple DES (3DES) и аутентифицируется с помощью SHA1 или MD5. Однако вы можете указать использовать нулевое шифрование, т. е. вообще не использовать шифрование, чтобы структуру пакета с ESP можно было увидеть при его прохождении по сети. Должно быть очевидно, что это может быть очень полезной функцией, особенно в лабораторных условиях, чтобы узнать больше об IPSec и, возможно, также отладить некоторые типичные сценарии, особенно с устройствами IPSec сторонних производителей.
К сожалению, ни один из этих документов не объясняет, как включить ESP Null Encryption на ISA 2004 в сценарии site-to-site VPN. Поэтому я использовал следующую лабораторную среду, чтобы выяснить это самостоятельно:
фигура 1
Как вы можете видеть на рисунке выше, настройка довольно проста. У нас есть 3 сети: #22 (192.168.22.0/24), #1 (192.168.1.0/24) и #44 (192.168.44.0/24). Между сервером ISA 2004 и шлюзом IPSec мы создаем VPN с туннельным режимом IPSec site-to-site, которая позволяет сетям № 22 и № 44 безопасно взаимодействовать друг с другом. Сервер ISA 2004 работает под управлением Windows 2003 SP1. Шлюз IPSec реализован на сервере Windows 2003 SP1, используемом в качестве маршрутизатора с возможностями IPSec. В задачу этой статьи не входит объяснение того, как настроить такую VPN-сеть IPSec в туннельном режиме типа «сеть-сеть». Однако на сервере ISA 2004 вы должны использовать мастер добавления сети удаленных сайтов и выбрать режим туннеля IPSec в качестве протокола VPN (дополнительную информацию см. в разделе «Создание сетей VPN типа «сеть-сеть» в туннельном режиме IPSec с брандмауэрами ISA Server 2004) и для шлюза IPSec. вам следует следовать инструкциям, изложенным в статье базы знаний Майкрософт Как настроить туннелирование IPSec в Windows Server 2003.
Конфигурация
На сервере ISA 2004 мы создали новую удаленную сеть под названием RemoteSite#44. Если вы посмотрите на свойства этой сети, в частности на конфигурацию IPSec, вы увидите, что для параметров фазы II вы можете выбирать только между DES и 3DES:
фигура 2
Помните, что на шлюзе IPSec это всего лишь сервер Windows 2003, мы создали новую политику IPSec под названием RemoteSite#22. Если вы посмотрите на свойства этой политики IPSec, в частности на пользовательские настройки метода безопасности, вы увидите, что у вас есть выбор между <Нет>, 3DES и DES для алгоритма шифрования ESP, как показано на следующем рисунке:
Рисунок 3
Очевидный вывод состоит в том, что вы не можете настроить шифрование ESP <None> или Null через ISA MMC, хотя сервер ISA использует возможности IPSec Windows 2003 в этом сценарии. Тем не менее, должно быть ясно, что ISA MMC во многом упрощает настройку сценария site-to-site VPN. Итак, возможно, если мы посмотрим свойства политики IPSec Windows 2003, созданной ISA MMC, мы сможем настроить ESP <None> или нулевое шифрование. На следующем рисунке показана MMC политик IPSec на сервере ISA 2004:
Рисунок 4
Как вы можете ясно видеть, не отображается политика, которая может быть связана с сетью удаленного сайта RemoteSite#44, которую мы создали. После некоторого дальнейшего исследования мы узнали, что MMC IPSec Policies показывает только статически настроенные политики IPSec. Если вы хотите настроить и просмотреть все статические или динамические параметры основного режима IPSec (этап I), параметры быстрого режима (этап II), правила и параметры конфигурации, вам необходимо использовать команды Netsh для IPSec. Подробную информацию о командах Netsh для IPSec можно найти в технической библиотеке Windows Server 2003 на сайте Microsoft TechNet. В контексте этой статьи мы будем использовать только некоторые из этих команд.
Цель этой статьи — выяснить, можем ли мы настроить ESP Null Encryption на ISA 2004. Мы уже знаем, что не должны использовать команды статического режима Netsh IPSec, потому что они дают вам те же задачи управления и мониторинга, которые вы можете выполнять с помощью консоли IP Security Policy Management и IP Security Monitor. Кроме того, шифрование ESP является настройкой фазы II или быстрого режима. Следовательно, если можно настроить нулевое шифрование ESP, то это должно быть возможно с помощью команды netsh ipsec dynamic set qmpolicy. Согласно документации у нас действительно есть выбор между None, DES и 3DES в качестве алгоритма шифрования. Это то, что мы ожидали, но сначала нам нужно найти имя политики быстрого режима IPSec, созданной ISA MMC при настройке сети RemoteSite#44. Чтобы узнать это, используйте команду netsh ipsec dynamic show qmpolicy all. Вот результат в моей лабораторной среде:
C:>netsh ipsec dynamic show qmpolicy all
Имя политики согласования QM: ISA Server RemoteSite#44 QM Policy
Методы обеспечения безопасности Время жизни (Кб:сек) PFS DH Group
—————————————————————
ESP[3DES,SHA1] 0:3600 Средний (2)
Теперь, когда мы знаем имя политики быстрого режима, мы можем попробовать изменить алгоритм шифрования на None и посмотреть, работает ли он. Это команды Netsh для IPSec, которые мы запускали на сервере ISA 2004:
- Чтобы изменить алгоритм шифрования на Null:
C:>динамический набор netsh ipsec qmpolicy name="ISA Server RemoteSite#44 QM Policy" qmsecmethods=ESP[None,SHA1]:3600s
- Чтобы проверить изменение:
C:>netsh ipsec dynamic show qmpolicy name="ISA Server RemoteSite#44 QM Policy"
Имя политики согласования QM: ISA Server RemoteSite#44 QM Policy
Методы обеспечения безопасности Время жизни (Кб:сек) PFS DH Group
————————————————————
ESP[NONE,SHA1] 0:3600 Средний (2)
- Чтобы убедиться, что связь безопасности быстрого режима может быть установлена:
C:>netsh ipsec dynamic show qmsas all
SA быстрого режима
—————
Туннельный фильтр
Имя политики: ISA Server RemoteSite#44 QM Policy
Источник туннеля: 192.168.1.10
Адрес туннеля: 192.168.1.30
Исходный адрес: 192.168.22.0
Адрес назначения: 192.168.44.0
Протокол: ЛЮБОЙ
Исходный порт: 0
Порт назначения: 0
Направление: Исходящее
Предложение использовано
AH(b/r) ESP Con(b/r) ESP Int PFS Группа DH
————————————————
Нет Нет SHA1 Средний (2)
Обратите внимание, что алгоритм шифрования ESP показан под заголовком ESP Con(b/r). Также мы выполнили команду ping от клиента (192.168.44.20) к серверу (192.168.22.2), чтобы создать значимый трафик через межсайтовую VPN.
Имейте в виду, что изменения, которые мы внесли в политику IPSec, не являются постоянными. Команды динамического режима Netsh IPSec напрямую настраивают базу данных политик безопасности (SPD). Изменения, которые вы вносите в политику IPSec при использовании этих команд, вступают в силу только во время работы службы IPSec. Если служба IPSec остановлена, параметры динамической политики сбрасываются. Аналогичным образом, если вы нажмете новую политику брандмауэра ISA, изменения, сделанные вами с помощью команд конфигурации Netsh IPSec, могут быть перезаписаны новой политикой брандмауэра ISA. Поэтому вам следует использовать эти команды только в лабораторной среде и, возможно, также для отладки некоторых типичных сценариев.
Захват сети
Чтобы увидеть, что на самом деле происходит в сети, мы сделали несколько сетевых трассировок с помощью моего любимого инструмента Ethereal. когда клиент (192.168.44.20) отправляет эхо-запрос на сервер (192.168.22.2) через VPN-соединение в туннельном режиме IPSec типа «сеть-сеть». Первый захват был сделан на шлюзе IPSec на интерфейсе 192.168.44.1. Это означает, что мы должны видеть исходные пакеты, отправленные клиентом непосредственно перед защитой IPSec. Обратите внимание, что вы можете прочитать данные ping, abcdefghijklmnop…, как показано на рисунке ниже.
Рисунок 5
Второй захват был сделан на шлюзе IPSec на интерфейсе 192.168.1.30. Это означает, что теперь мы должны увидеть клиентский ping-пакет, защищенный VPN-соединением IPSec Tunnel Mode типа «сеть-сеть». В данном случае алгоритм шифрования ESP 3DES был настроен в политике быстрого режима IPSec. Как показано на рисунке ниже, вы видите совершенно новый IP-пакет с IP-адресами источника и назначения, конечными точками туннеля VPN (интерфейс шлюза IPSec «192.168.1.30» и интерфейс сервера ISA 2004 «192.168.1.10») и пакет ESP в качестве полезной нагрузки данных. Исходный клиентский пакет полностью скрыт в полезных данных пакета ESP. Другими словами, глядя только на пакет, мы даже не можем определить, действительно ли пакет, показанный на рисунке ниже, является пакетом ESP, содержащим ping-пакет исходного клиента.
Рисунок 6
Третий захват также был сделан на шлюзе IPSec на интерфейсе «192.168.1.30». Однако в данном случае алгоритм шифрования ESP Null был настроен в политике быстрого режима IPSec. Это означает, что теперь мы должны быть в состоянии полностью декодировать структуру пакета. Как показано на рисунке ниже, вы можете ясно видеть, что исходный клиентский IP-пакет представляет собой полезную нагрузку данных пакета ESP. Этот пакет ESP, в свою очередь, является полезной нагрузкой данных нового IP-пакета с IP-адресами источника и назначения и конечными точками туннеля VPN (интерфейс шлюза IPSec «192.168.1.30» и интерфейс сервера ISA 2004 «192.168.1.10»). Поскольку полезные данные ESP не зашифрованы, хотя они все еще аутентифицированы, вы можете прочитать данные ping, abcdefghijklmnop…, как показано на рисунке ниже.
Рисунок 7
Примечание:
Если Ethereal не показывает полную структуру пакета, проверьте, включен ли флаг Попытаться обнаружить/декодировать NULL зашифрованные полезные данные ESP в настройках протокола ESP.
Вывод
В этой статье мы узнали, что ISA Server 2004 использует возможности IPSec Windows 2003 путем создания динамических политик IPSec для создания VPN типа «сеть-сеть» IPSec в туннельном режиме. С помощью мощных команд Netsh IPSec мы можем включить нулевое шифрование ESP на ISA 2004 для этого сценария VPN, хотя его следует использовать только в лабораторной среде и в целях отладки.
Надеюсь, вам понравилась эта статья, и вы нашли в ней что-то, что вы можете применить к своей среде. Если у вас есть какие-либо вопросы по поводу того, что я обсуждал в этой статье, зайдите на http://forums.isaserver.org/m_2002012438/tm.htm и разместите сообщение. Я буду проинформирован о вашем сообщении и отвечу на ваши вопросы как можно скорее. Спасибо! – Стефан.