Защитные правила iptables / nftables против TCP SYN Flood и сканирования
Набор правил 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>`.
Рекомендуемые смежные конфигурации
Дополнительные рецепты и калькуляторы для полной оптимизации данного серверного стека.