Несовместимость между выбором индекса параметров безопасности 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.
RFC 3715 — Требования по совместимости NAT и протколов IPsec-архитектуры (IPsec/NAT-несовместимость)
- RFC: 3715
- Оригинал: IPsec-Network Address Translation (NAT) Compatibility Requirements
- Категория: Информационный
- Дата публикации:
- Авторы: B. Aboba , W. Dixon
- Перевод: Мельников Дмитрий Анатольевич
2007 - 2022 © Русские переводы RFC, IETF, ISOC.