Защитные правила iptables / nftables против TCP SYN Flood и сканирования

Обновлено: Август 2026 Стек: iptables / nftables, Linux Kernel 5.x/6.x Проверено: Production-Ready

Набор правил iptables и sysctl для фильтрации атак типа TCP SYN Flood, Port Scan, спуфинга пакетов и защиты стека TCP/IP ядра Linux от переполнения.

Интерактивный генератор под ваши параметры
Параметры подставляются в код в реальном времени
/etc/iptables/rules.v4
# Правила iptables против SYN-Flood
iptables -N SYN_FLOOD
iptables -A INPUT -p tcp --syn -j SYN_FLOOD
iptables -A SYN_FLOOD -m limit --limit 100/s --limit-burst 150 -j RETURN
iptables -A SYN_FLOOD -j DROP

# Блокировка некорректных TCP пакетов (XMAS, NULL сканы)
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

# Защита от Ping of Death
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

Разбор ключевых директив конфигурации

Техническое обоснование директив и их прямое влияние на процессор (CPU), оперативную память (RAM) и дисковый ввод-вывод (NVMe I/O).

Директива / Блок Рекомендуемое значение Зачем нужно и системное влияние (CPU / RAM / I-O)
SYN_FLOOD limit 100/s 100/s Ограничивает скорость входящих SYN пакетов, предотвращая истощение таблицы соединений conntrack.
DROP flags ALL NONE DROP Блокирует попытки скрытого сканирования портов утилитой Nmap.
ufw default deny incoming deny incoming Блокирует все входящие порты по умолчанию, оставляя доступными только явно разрешенные сервисы (HTTP/HTTPS/SSH).
bantime = 24h 24h Блокирует IP адрес атакующего на 24 часа при превышении порога неудачных попыток авторизации.

Рекомендуемые системные требования VDS под этот стек

Расчет минимальной и оптимальной конфигурации виртуального сервера для стабильной работы без сбоев.

Оптимальный сайзинг: 1-2 vCPU, 2 GB RAM, KVM виртуализация
Timeweb Cloud
2 CPU / 4 GB NVMe
Рекомендуемые ресурсы
1-2 vCPU / 2 GB RAM / 20 GB NVMe
🔷 Selectel
2 vCPU / 4 GB RAM
Рекомендуемые ресурсы
1-2 vCPU / 2 GB RAM / 20 GB NVMe
🟠 Beget
Turbo 4 GB
Рекомендуемые ресурсы
1-2 vCPU / 2 GB RAM / 20 GB NVMe

Онлайн-утилиты SysKit для проверки этого сервера

Протестируйте корректность применения конфигурации прямо сейчас в один клик.

Частые ошибки при настройке и их решение (FAQ)

Типовые проблемы вебмастеров и сисадминов при внедрении данной конфигурации.

Как включить SYN Cookies в ядре Linux?
Добавьте `net.ipv4.tcp_syncookies = 1` в `/etc/sysctl.conf` и примените: `sysctl -p`.
Как не заблокировать собственный IP адрес?
Добавьте ваш IP в директиву `ignoreip = 127.0.0.1/8 ::1 ВАШ_IP` в файле `/etc/fail2ban/jail.local`.
Как разблокировать ошибочно забаненный IP?
Выполните команду `fail2ban-client set <jail_name> unbanip <IP_ADDRESS>`.

Рекомендуемые смежные конфигурации

Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.