Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

ESP_INTEGRITY_CHECK_FAILED Сетевое оборудование и VPN

IPsec Error ESP_INTEGRITY_CHECK_FAILED: ошибка проверки HMAC-SHA/MD5

Обновлено: 24.08.2026 · Официальная документация ↗

При попытке передачи полезной нагрузки через IPsec туннель наблюдается следующее поведение:

  • Фазы 1 и 2 успешно устанавливаются, туннель отображается в статусе UP/ESTABLISHED.
  • В логах ядра шлюза фиксируются критические ошибки: ESP_INTEGRITY_CHECK_FAILED: HMAC-SHA/MD5 verification error, integrity check failed for SPI 0x..., ICV mismatch или XfrmInHdrError / XfrmInStateInvalid.
  • Трафик малого размера (ICMP ping 64 байта) проходит успешно, но любая передача файлов (HTTP, SSH, SMB) зависает.
  • Счетчики входящих ошибок ICV (Integrity Check Value) на принимающей стороне стремительно растут.

1. Принцип работы проверки целостности ICV (RFC 4303)

При использовании алгоритмов аутентификации (HMAC-SHA256, HMAC-SHA1) передающая сторона вычисляет контрольное значение хеша (ICV) по всей полезной нагрузке ESP и помещает его в трейлер пакета. Принимающий шлюз заново рассчитывает HMAC с использованием симметричного сессионного ключа Фазы 2. Если рассчитанный хеш отличается от переданного хотя бы на 1 бит, пакет немедленно уничтожается для защиты от искажения данных или повреждения транзитной средой.

2. Проверка статистики ошибок XFRM в Linux

# Просмотр ошибок контрольных сумм и заголовков ESP
cat /proc/net/xfrm_stat | grep -E 'XfrmInHdrError|XfrmInStateProtoError|XfrmInStateInvalid'

# Мониторинг отбрасываемых пакетов через dropwatch
apt-get install -y dropwatch
dropwatch -l kas
# Выполните в консоли: start

3. Диагностика фрагментации пакетов и несовпадения MTU/MSS

Самая распространенная причина ошибки ICV — промежуточная фрагментация пакета после вычисления контрольной суммы или повреждение битов заголовка маршрутизатором NAT.

# Проверка пути методом отправки нефрагментируемых пакетов с DF-битом
ping -M do -s 1422 -c 4 <IP_УДАЛЕННОГО_УЗЛА>

# Настройка принудительного занижения TCP MSS в iptables
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Либо установка фиксированного MSS (например, 1360 байт)
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1360

4. Отключение сбоящей аппаратной акселерации (Hardware Crypto Offload)

Баги в драйверах сетевых карт с аппаратной разгрузкой шифрования (Intel QAT, Broadcom, Realtek) часто приводят к повреждению ICV трейлера:

# Отключение аппаратной разгрузки контрольных сумм и шифрования
ethtool -K eth0 tx off rx off
ethtool -K eth0 tso off gso off gro off
ethtool -K eth0 esp-hw-offload off

# Проверка текущего состояния аппаратных фич
ethtool -k eth0 | grep -E 'checksum|offload'

5. Проверка симметричности алгоритмов и пересоздание SA

В случае сбоя синхронизации сессионных ключей (Rekeying race condition), принудительно сбросьте ассоциации безопасности:

# strongSwan: очистка и переинициализация соединений
swanctl --terminate --ike <имя_соединения>
swanctl --initiate --ike <имя_соединения>

# Cisco ASA
clear crypto ipsec sa peer <IP_АДРЕС>
💡 Практика специалистов: Если ошибки проверки целостности возникают спонтанно раз в час/сутки, проблема кроется в процедуре Rekeying (пересогласования ключей). Настройте одинаковые интервалы времени жизни SA (lifetime / margintime) на обоих концах туннеля, чтобы избежать гонки процессов при обновлении ключей.

Частые вопросы (FAQ)

Что такое ICV (Integrity Check Value) в протоколе ESP?

ICV — это поле переменной длины в конце пакета ESP, содержащее криптографический хеш (HMAC), рассчитанный по заголовку ESP, полезной нагрузке и трейлеру. Оно гарантирует, что данные не были модифицированы злоумышленником или повреждены сетью при транзите.

Почему ICMP Ping работает, а трафик по HTTPS или RDP падает с ошибкой ICV?

Пакеты Ping имеют малый размер и не подвергаются фрагментации. Пакеты HTTPS/RDP достигают размера MTU (1500 байт), фрагментируются на внешнем интерфейсе, а при некорректной сборке фрагментов на шлюзе проверка контрольной суммы ICV завершается провалом.

Может ли неправильный Pre-Shared Key (PSK) вызывать ошибку ESP Integrity Check?

Нет. Ошибка PSK приводит к сбою на этапе Фазы 1 (IKE_AUTH / Authentication Failed). Если дело дошло до ошибок ESP ICV, значит Фаза 1 завершилась успешно, а сбой происходит на уровне ключей шифрования Фазы 2 или целостности L2/L3 среды.

Решает ли проблему переход на AEAD-шифрование (AES-GCM)?

Да, переход на AES-GCM (например, aes256gcm128) заменяет связку алгоритмов 'AES-CBC + HMAC-SHA' на единый механизм комбинированного шифрования с аутентификацией (AEAD), который работает быстрее и исключает многие ошибки рассинхронизации проверки хеша.

Полезные материалы
Рекомендуем