Доступно в редакциях: Open/CE, BE, SE, SE+, Ultimate/EE, Core
Стадия жизненного цикла модуля: General Availability
В модуле реализовано 7 алертов.
Модуль не включен по умолчанию в каком-либо наборе модулей.
Параметры
Версия схемы: 1
- объектsettings
- объектsettings.ipv4OptionsGuard
Защита от CVE-2026-98432 (use-after-free в обработке IPv4 TCP handshake в ядре Linux, срабатывающий на TCP SYN с IP-опциями).
Сайдкар агента CNI устанавливает фильтр в сетевое пространство имён хоста и во все сетевые пространства имён подов на узле, включая поды, запущенные позже. Фильтр срабатывает на IPv4 TCP SYN и IPv4-фрагменты с IP-опциями.
Фильтр использует тот режим iptables (nft или legacy), который iptables-wrapper выбрал на узле, как и остальные компоненты Deckhouse. В режиме nft фильтр создаётся нативными выражениями nftables, в режиме legacy — через iptables с match
u32. Модули ядра не загружаются, если не включён параметрallowKernelModuleLoad. Если модули ядра выбранного режима не загружены, а модули другого режима загружены, фильтр использует другой режим, и узел отображается в алертеD8IPv4OptionsGuardBackendMismatch. Узел, который не удалось защитить, отображается в алертеD8IPv4OptionsGuardNodeUnprotected.Чтобы исключить узел (например, узел с маркированной сетью CIPSO), установите на него метку
ipv4-options-guard.deckhouse.io/disabled: "true": изменения на этом узле будут отменены.Защита не устраняет уязвимость: обновите ядро узлов, как только станет доступна исправленная версия.
- булевыйsettings.ipv4OptionsGuard.allowKernelModuleLoad
В режиме nft фильтру нужен модуль ядра
nf_tables, в режиме legacy — модули ядраip_tables,iptable_raw,xt_tcpudpиxt_u32.По умолчанию модули ядра не загружаются: если какой-то модуль режима, выбранного iptables-wrapper, не загружен, фильтр использует другой режим, когда его модули загружены, а иначе узел отображается как незащищённый. Установите
true, чтобы загружать модули выбранного режима.По умолчанию:
false - булевыйsettings.ipv4OptionsGuard.disableMPTCP
В режиме
Enforceустанавливатьnet.mptcp.enabled=0в сетевом пространстве имён хоста и во всех сетевых пространствах имён подов. Это убирает условие опубликованного эксплойта.Сокеты, открытые до изменения, остаются MPTCP до перезапуска процесса. После перезагрузки узла MPTCP на хосте снова отключается, когда запустится агент CNI.
По умолчанию:
true - строкаsettings.ipv4OptionsGuard.mode
Режим работы.
Если режим не задан, он равен
Enforceв кластерах, установленных вместе с митигацией, иAuditв кластерах, существовавших до неё.Audit— подходящие пакеты только подсчитываются (метрикаd8_ipv4_options_guard_matched_packets_totalи алертD8IPv4OptionsGuardMatchedTraffic). Используйте, чтобы убедиться, что приложения не зависят от IP-опций. Пока хотя бы один узел в этом режиме, алертD8IPv4OptionsGuardAuditModeнапоминает, что кластер ещё не защищён.Enforce— подходящие пакеты отбрасываются, а MPTCP отключается, если включён параметрdisableMPTCP.Disabled— фильтр удаляется из всех сетевых пространств имён, включая работающие поды, а значениеnet.mptcp.enabledвосстанавливается.
Режим применяется без перезапуска подов агента CNI.
Допустимые значения:
Audit,Enforce,Disabled
- строкаsettings.podNetworkMode
Режим работы.
Внимание. При переключении между
HostGWиVXLANтребуется перезагрузка всех узлов кластера. Изменять этот параметр можно только при использовании модуля в bare-metal-кластерах.По умолчанию:
HostGWДопустимые значения:
HostGW,VXLAN

