Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Татьяна Антипова
Исторически одной из проблем с развертыванием Layer Two Tunneling Protocol с Internet Protocol security (L2TP/IPSec) является то, что IPSec-узлы не могут быть расположены позади Network Address Translator (NAT). NAT чаще всего используется в корпоративных сетях, чтобы выходить в Интернет с единственного IP-адреса, тем самым эффективнее используя ограниченное адресное пространство IP-адресов. Однако NAT имеет проблемы с использованием сквозных протоколов типа IPSec.
Новая технология, известная как IPSec NAT Traversal
(NAT-T), находится в процессе стандартизации в
В процессе установления IPSec-подключения, IPSec NAT-T-узлы автоматически определяют:
n Может ли инициализированный IPSec-узел (как правило, компьютер клиента) и запрашиваемый IPSec-узел (обычно сервер), использовать IPSec NAT-T.
n Есть ли в пути между этими узлами NAT.
Если оба эти условия выполняются, то узлы автоматически используют IPSec NAT-T, чтобы посылать IPSec-защищенный трафик через NAT. Если хотя бы один узел не поддерживает IPSec NAT-T или в пути между узлами нет NAT, то выполняется обычная стандартная IPSec-защита.
IPSec NAT-T поддерживается
В этой статье мы исследуем проблемы, связанные с использованием IPSec через NAT, расскажем о способе решения проблем в IPSec NAT-T и закончим изменениями в Internet Key Exchange (IKE) согласования для Quick Mode и Main Mode.
Обратите внимание!!! IPSec NAT-T определен только для ESP-трафика.
Проблемы, связанные с использованием IPSec через NAT
Ниже представлены проблемы использования IPSec через NAT:
n NAT не может модифицировать контрольные суммы верхнего уровня.
TCP- и UDP-заголовки содержат контрольную сумму, которая рассчитывается из значения IP-адреса источника и адресата и номера портов. Когда NAT изменяет IP-адрес и/или номер порта в пакете, он обычно модифицирует TCP- или UDP- контрольную сумму. Когда же TCP- или UDP-контрольная сумма зашифрована в ESP, она не может быть модифицирована. Поскольку NAT изменяет адреса или порты, то обычно происходят сбои проверки контрольной суммы в адресате.
n NAT не может мультиплексировать IPSec-потоки данных.
ESP-защищенный IPSec-трафик не содержит видимого TCP-или UDP-заголовка. ESP-заголовок расположен между IP-заголовком и зашифрованным TCP- или UDP-заголовком, и использует 50 IP-протокол. Из-за этого не может использоваться TCP- или UDP-номер порта, чтобы мультиплексировать трафик к различным хостам в частной сети. ESP-заголовок содержит поле, называемое Security Parameters Index (SPI). SPI используется вместе с IP-адресом адресата в открытом IP-заголовке и IPSec security protocol (ESP или AH) идентифицирует IPSec security association (SA).
Для входящего NAT-трафика, IP-адрес адресата должен быть отображен к частному IP-адресу. Для множественных IPSec-узлов в частной NAT-сети, IP-адрес адресата прибывающего трафика для нескольких IPSec-ESP-потоков данных – один и тот же адрес. Чтобы отличать один IPSec-ESP-поток данных от другого, IP-адрес адресата и SPI должны или быть прослежены, или отображены к частному IP-адресу адресата и SPI.
Поскольку SPI – 32-разрядное число, шанс использования одинаковых значений SPI между несколькими частными сетевыми клиентами крайне низок. Проблема состоит в том, что трудно определить, какое исходящее SPI-значение соответствует прибывающему SPI-значению.
NATs не может отображать SPI, потому что ESP-трейлер содержит код идентификации сообщения, разбавленный цифровым мусором (hashed message authentication code, HMAC), который проверяет целостность модуля данных ESP-протокола (ESP protocol data unit, PDU), состоящего из ESP-заголовка, ESP-данных и ESP-трейлера, если SPI будет изменен, то недействительным окажется HMAC-значение.
n IKE-UDP-номер порта не может быть изменен.
Некоторые выполнения IPSec использует 500 UDP-порт как UDP-номер порта источника и адресата. Однако для IPSec-узла, расположенного позади NAT, NAT изменяет исходный адрес начального IKE-Main-Mode-пакета. В зависимости от выполнения, IKE-трафик от другого порта, кроме 500, будет отвергнут.