RFC: 3715
Оригинал: IPsec-Network Address Translation (NAT) Compatibility Requirements
Категория: Информационный
Дата публикации:
Авторы: ,
Перевод: Мельников Дмитрий Анатольевич
  1. Несовместимость между выбором индекса параметров безопасности IPsec-протоколов (Security Parameter Index — SPI) и NAT-модулями. Так как IPsec/ESP-трафик зашифровывается, он становится не доступен для NAT-модуля, и поэтому NAT-модуль должен использовать элементы IP- и IPsec-заголовков для демультиплексирования входящего IPsec-трафика. Для этой цели обычно используется битовая последовательность, включающая IP-адрес получателя сообщения, IPsec-протокол (АН/ESP) и SPI-индекс.

    Однако, так как SPI-индексы для исходящих и входящих SA-соединений изменяются независимо, NAT-модуль не способен определить (только с помощью проверки исходящего трафика) какое входящее SA-соединение со своим SPI-индексом соответствует тому или иному IP-узлу получателю сообщения. Следовательно, если два IP-узла, обслуживаемые одним NAT-модулем, попытаются одновременно установить SA-соединения с одним и тем же внешним IP-узлом, то тогда возможна ситуация, при которой NAT-модуль будет по ошибке транслировать входящие IPsec-пакеты по другому SA-соединению.

    Замечание. По существу, в данном случае нет прямой несовместимости с IPsec-протоколами, так как это, скорее всего, связано с практической реализацией. Это относится и к AH-протоколу, и к ESP-протоколу, IP-узел, получатель сообщения, определяет SPI-индекс, который будет использоваться в данном SA-соединении, причем этот выбор имеет значение только для принимающей стороны. В настоящее время, SA-соединение однозначно идентифицируется с помощью IP-адреса получателя сообщения, SPI-индекса и IPsec-протокола (АН/ESP). Кроме этого, значения SPI-индекса могут иметь значения в диапазоне «1…255», установленном IANA, и эти значения будут использоваться в дальнейшем. Это означает, что когда проводится процедура согласования SA-параметров с одним и тем же IP-узлом или сетевым шлюзом, внутренние IP-узлы, обслуживаемые одним NAPT-модулем, могут выбрать одно и то же значение SPI-индекса, например, первый IP-узел будет иметь входное SA-соединение:

    (SPI=470, Internal Dest IP=192.168.0.4)

    а второй IP-узел будет иметь входное SA-соединение:

    (SPI=470, Internal Dest IP=192.168.0.5)

    Приемный NAPT-модуль не способен определить принадлежность входящего IPsec-пакета, так как два внутренних IP-узла присвоили свои входящим SA-соединениям одинаковый SPI-индекс «470».

    Кроме того, возможна ситуация, когда IP-узел (получатель сообщения) промаркирует каждое одноадресное SA-соединение собственным уникальным SPI-индексом. В таком случае, IP-адрес IP-узла, получателя сообщения, необходим только для проверки того, что он является разрешенным уникальным IP-адресом этого IP-узла, и не нужен для проверки того, что специфический IP-адрес IP-узла, получателя сообщения, используется передающим IP-узлом. Используя этот способ проверки, NA(P)T-модуль может обеспечить низкую (но не нулевую) вероятность ошибочной доставки IPsec-пакетов по неверному маршруту (на другой внутренний IP-узел), даже тогда, когда два IP-узла или больше сформировали SA-соединения с одним и тем же внешним IP-узлом.

    Такой подход обеспечивает полную совместимость, но при этом требуется, чтобы соответствующий приемный IP-узел сделал изменения в распределении и назначении SPI-индексов и в кодировке «IPsec_esp_input(_)». Однако, NA(P)T-модули не способны обнаружить такую ситуацию, так как могут возникнуть проблемы с синтаксическим анализом полей полезной нагрузки в IKE-сообщениях. А от IP-узла, по-прежнему, может потребоваться использование диапазона SPI-индексов, стандартизированного для этих целей IANA.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.