Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Могут ли ужиться IPsec и NAT?

Майк Фратто

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

Знатоки IP считают трансляцию сетевых адресов (Network Address Translation — NAT) опасным трюком, поскольку она вносит изменения в работу IP на фундаментальном уровне. Администратору сети, отвечающему за сетевую адресацию, NAT часто бывает полезна независимо от того, где он работает: у поставщика услуг Интернет, на крупном предприятии или в небольшой фирме. Почему? Потому что NAT предоставляет несколько способов скрыть сети и хосты. Протокол IPsec (IP security) тоже часто используется, поскольку позволяет безопасно подключать удаленные офисы и удаленных пользователей через Интернет.

Однако архитектура протоколов IPsec и нехватка NAT-устройств, способных работать с IPsec, до настоящего времени создавали проблемы при попытках заставить их согласованно работать друг с другом. Самым простым решением было бы поставить широкополосный маршрутизатор, который сочетал бы в себе функции NAT и VPN (Virtual Private Network). Тогда у вас не было бы проблем с IPsec и NAT. Но, поскольку такая роскошь не всегда доступна, вам следует знать о некоторых способах, с помощью которых поставщики решают проблему совместной работы IPsec и NAT более подробную информацию о NAT см.: Сети и системы связи. 1999. № 1. C. 104).

Разновидности NAT

Существуют две основные разновидности NAT. При динамической трансляции сетевых адресов внешний IP-адрес временно ставится в соответствие внутреннему IP-адресу, т. е. выполняется трансляция только IP-адресов. Динамическая трансляция используется главным образом в коммутируемых соединениях или соединениях по требованию при частом подключении и отключении удаленных пользователей (рис. 1). В момент подключения удаленного пользователя ему присваивается некий IP-адрес; когда он отключается, этот IP-адрес освобождается и может быть затем повторно использован — временно присвоен следующему удаленному пользователю.

Рис 1. Динамическая трансляция сетевых адресов.
Удаленный пользователь связывается по коммутируемому каналу и получает IP-адрес. Затем провайдер Интернет использует трансляцию сетевых адресов (NAT), чтобы присвоить этому пользователю внешний IP-адрес. Для внешнего мира адресом этого удаленного пользователя является 192.168.1.100

Трансляция сетевых адресов на уровне портов (Nework Address Port Translation — NAPT) знакома многим. NAPT используется почти исключительно устройствами доступа, предназначенными для того, чтобы скрывать небольшие и среднего размера сети с помощью единственного открытого IP-адреса. NAPT транслирует IP-адрес и номер порта источника в IP-адрес и номер порта открытого интерфейса (рис. 2).

Рис 2. Трансляция сетевых адресов на уровне портов.
Внутренний IP-алрес транслируется NAPT во внешний IP-адрес. Уникальность номеров портов UDP/TCP позволяет установить однозначное соответствие между внутренним и внешним соединениями.

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

Режимы IPsec

Теперь главное об IPsec. Этот протокол имеет два режима. В транспортном режиме протокол IPsec применяется к содержимому IP-пакетов, при этом их исходные заголовки остаются видимыми. Транспортный режим IPsec может быть использован только в VPN-соединениях типа хост—хост. Туннельный режим инкапсулирует исходные IP-пакеты в IPsec с новыми заголовками IP. Этот режим позволяет эффективно скрывать исходные IP-пакеты. В соединениях IPsec типа хост—шлюз, т. е. в обычном сценарии удаленного доступа, должен использоваться туннельный режим IPsec.

Нам необходимо рассмотреть два протокола IPsec: AH (Authentication Header) и ESP (Encapsulation Security Payload). С помощью протокола AH, редко используемого на практике, можно проверить, что требующиеся для подтверждения подлинности пакета поля, такие, как IP-адреса отправителя и получателя, не были изменены во время передачи. Если пакет не прошел проверку, он отбрасывается. Таким образом, AH обеспечивает целостность данных и аутентификацию их источника. Позднее мы увидим, что работа AH нарушается при использовании любой формы NAT. Протокол ESP шифрует данные IP-пакетов. В туннельном режиме он также обеспечивает целостность данных и аутентификацию источника.

Сети VPN, использующие IPsec, обмениваются информацией через логические соединения, называемые SA (Security Association — соглашение по безопасности). SA — это определенная совокупность применяемых на оконечных узлах протоколов, алгоритмов и договоренностей о времени существования ключа. Каждое соединение IPsec сети VPN имеет два SA-соглашения — по одному в каждом направлении. SA-соглашения определяются тремя параметрами. Один из них, SPI (Security Parameter Index), представляет собой уникальный номер, который присваивается получателем каждому SA. Другие два параметра—это адрес назначения и протокол. Уникальность номеров SPI гарантируется тем, что оконечный узел назначения может иметь вручную сформированный SPI, неизвестный отправителю.

И наконец, IKE (Internet Key Exchange) представляет собой отдельное соединение SA, которое применяется для согласования других параметров протокола IPsec. IKE использует порт 500 протокола UDP и поэтому может проходить процедуру трансляции сетевых адресов без какой-либо специальной обработки, как и любой другой протокол TCP/UDP. Соглашение IKE остается в силе в течение всего времени жизни SA-соглашения более низкого уровня.

Комбинация NAT и IPsec

Здесь начинается самое интересное. Давайте рассмотрим отдельные случаи, когда IPsec и NAT отказываются работать вместе. NAT и AH не могут работать вместе, поскольку NAT по определению меняет IP-адреса в IP-пакетах, а любые изменения в IP-пакете отмечаются протоколом AH как нарушение. Устройство NAPT, находящееся между двумя оконечными узлами IPsec и не знающее, как обрабатывать трафик IPsec, тоже нарушает работу IPsec.

Аналогично ESP и NAPT не будут работать вместе, потому что в транспортном режиме номера портов защищены протоколом ESP и любое изменение будет отмечено им как неверное.

При использовании протокола ESP в туннельном режиме заголовки TCP/UDP невидимы и не могут применяться для трансляции внешних адресов во внутренние и наоборот. Здесь мы ограничимся рассмотрением случая, когда в сети имеется всего одно устройство NAT. Если число их больше, то все они должны работать с IPsec, чтобы передавать трафик соответствующим образом. Статическая трансляция NAT и ESP будет проходить нормально, поскольку транслируются только IP-адреса независимо от протоколов более высоких уровней.

Устройство 3060 компании Cisco Systems и его клиент VPN поддерживают работу с удаленными пользователями через NAT, инкапсулируя IP-пакеты в пакеты UDP до передачи их в сеть. Поскольку внешний UDP-пакет и связанный с ним IP-заголовок никак не защищены, они свободно проходят через все виды устройств NAT. Устройство-получатель Cisco 3060 должно декапсулировать приходящий пакет и обработать его. Этот механизм действует только при использовании устройств семейства Cisco 3000.

В настоящее время организация IETF рассматривает и другие предложения по стандартизации инкапсуляции IPsec в UDP. Из них заслуживают упоминания IPsec NAT-Traversal (группа Network Working Group) и RSIP (Realm-Specific IP) для сквозных соединений IPsec (группа Network Address Translators Group). В ближайшее время должен выйти продукт NAT Traversal Toolkit фирмы SSH Communications Security.

Что же осталось?

Таким образом, нам осталось рассмотреть только ситуацию, в которой ESP взаимодействует с NAPT. Поставщики используют два способа решения этой задачи. Самый простой из них, который, однако, позволяет пропустить через NAPT только одно IPsec-соединение VPN, — ассоциировать единственную рабочую станцию, выполняющую соединение IKE, со всеми пакетами IPsec.

Этот метод применяется такими поставщиками, как D-Link Systems, Linksys и Macsense Connectivity. Маршрутизатор SME NAPT вы можете купить за 100—200 долл.

Все пакеты IPsec, пришедшие на устройство NAPT, по умолчанию пересылаются на указанный хост. Это возможно благодаря тому, что данный клиент начинает согласование путем передачи данных другому оконечному узлу на порт 500. Этим он сигнализирует устройству NAPT, чтобы оно пересылало все приходящие данные IPsec обратно именно ему. Оба протокола: и ESP и AH — являются протоколами IP, которым присвоены номера 50 и 51 соответственно.

Хотя это не самая универсальная реализация, она работает в случае подключения одиночных рабочих станций. Но что произойдет, если использовать IPsec захотят несколько рабочих станций?

В этом случае вам следует воспользоваться продуктами, подобными Nexland ISB2LAN или маршрутизатору Asante Technologies FriendlyNet 10/100 для кабельных и DSL-линий, которые поддерживают работу нескольких клиентов IPsec, обслуживаемых устройством NAPT. Эти более универсальные системы стоят от 150 до 250 долл. в зависимости от предлагаемых ими возможностей.

При трансляции адреса для передачи пакетов между частной сетью и сетью общего пользования NAPT принимает решение основываясь на уникальность номера порта источника. Поэтому согласование IKE происходит без какой-либо специальной обработки, поскольку IKE работает по протоколу UDP, используя порт 500.

Чтобы передать трафик IPsec между хостами, тоже необходимы какие-то уникальные номера, в качестве которых могут быть использованы номера SPI. Напомним, что каждое SA-соединение IPsec идентифицируется номером SPI, IP-адресом назначения и номером протокола. Когда в ходе установления VPN-соединения происходит согласование IKE, осуществляется обмен номерами SPI. Устройство NAPT “привязывает” эту пару номеров SPI к соответствующей оконечному узлу VPN, находящемуся позади устройства NAT (рис. 3).

Рис 3. Трансляция IPsec

  • В ходе IKE-согласования клиент IPsec выбирает идентификатор SPI и уведомляет об этом шлюз IPsec
  • NAPT-устройство, способное работать с IPsec, устанавливает соответствие между внутренними IP-адресами клиентов IPsec и внешними IP-адресами NAPT. Любой IP-пакет, соответствующий IP-адресу шлюза IPsec и SPI-идентификатору клиента IPsec транслируется и проходит вовнутрь
  • Шлюз IPsec "думает", что установил соединение по адресу 192.168.1.100, в то время как на самом деле он общается с хостом 1.1.1.1. Шлюз отправляет пакеты с SPI-идентификатором клиента IPsec по известному адресу NAPT-устройства

    Отправка пакетов с клиента на шлюз не требует никакой специальной обработки. NAPT-устройство должно знать, куда отправлять входящие пакеты, и поскольку оно не может видеть или модифицировать номер порта UDP/TCP, то будет использовать SPI-идентификаторы клиента для адресации входящих пакетов

    Единственным идентификатором SPI, который должен быть привязан к внутреннему IP-адресу, является идентификатор SPI входящего соединения, выбранный клиентом IPsec, так как устройство NAPT должно знать, куда посылать входящий трафик. Исходящий же трафик передается без проблем, потому что IP-адрес клиента IPsec изменяется устройством NAPT.

    Здесь есть, однако, некоторые нюансы. Во-первых, такой сценарий будет работать, только если соединение IPsec сети VPN инициируется клиентом IPsec, расположенным за устройством NAPT. Если соединение попытается инициировать шлюз IPsec, то согласование будет блокировано устройством NAPT, поскольку оно не будет знать, куда посылать пакеты UDP (оно не будет располагать схемой отображения адресов). По той же самой причине вы не сможете поместить Web-сервер позади устройства NAPT без использования переадресации портов, когда все входящие пакеты с каким-то конкретным портом назначения по умолчанию отправляются на некий внутренний IP-адрес. Переадресация на уровне портов должна быть сконфигурирована заранее.

    Во-вторых, чтобы все это работало, необходимо настроить ваш шлюз IPsec, чтобы он провел IKE-согласование, как минимум, со шлюзом NAPT или с любым IP-адресом. Для определения, какому SA-соединению принадлежит каждый пакет IPsec, ESP использует SPI, IP-адрес назначения и номер протокола. Поскольку шлюз IPsec идентифицирует клиента IPsec только по адресу NAPT, именно этот адрес и будет использоваться.

    И наконец, аутентификация на основе IKE до сих пор осуществляется главным образом с помощью заранее распределенных секретных ключей или паролей, связанных с IP-адресами. Поэтому для проведения согласования вы должны указать шлюзу IPsec IP-адрес NAPT. Поскольку удаленные пользователи часто подключаются, имея динамический IP-адрес, выделяемый им их провайдером, то почти все шлюзы IPsec способны связывать ключ с диапазоном IP-адресов.

    Если известно, например, что устройство NAPT при трансляции IPsec использует IP-адреса из подсети 192.168.1.0, то можно настроить шлюз IPsec таким образом, чтобы целой подсети соответствовал один ключ. Затем необходимо настроить каждый клиент IPsec, находящийся позади устройства NAPT, для использования того же самого ключа. В результате это практически ничем не будет отличаться от обычного удаленного доступа через IPsec.





  •   
    3 '2000
    СОДЕРЖАНИЕ

    колонка редактора

    • Свет на дне колодца

    локальные сети

    • Как не прогореть с кабельной системой

    • Стандарт, предлагающий разумные решения

    • Что нам стоит шкаф построить?

    • Стандарт 802.11а: ускорение передачи данных

    корпоративные сети

    • Microsoft Datacenter уготована нелегкая судьба

    • Кампусные сети на базе оптоволокна

    • Регулируем механизмы QoS

    услуги сетей связи

    • Из точки А в точку Б

    • MPLS - технология маршрутизации для нового поколения сетей общего пользования

    • DWDM как зеркало русской революции

    электронная коммерция

    • iPlanet старается удержаться в центре электронного бизнеса

    • Об электронном бизнесе Hewlett-Packard

    • Мобильная электронная коммерция: лед тронулся

    защита данных

    • Наблюдения за наблюдателями

    • Насколько безопасна ваша сеть?


    • КАЛЕЙДОСКОП

    только на сервере

    • Могут ли ужиться IPsec и NAT?



     Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх