Как настроить параметры ядра Linux tcp_max_syn_backlog и somaxconn для защиты бэкенда от SYN-flood-атак?

tcp_max_syn_backlog ограничивает очередь незавершённых TCP-handshake, somaxconn — верхнюю границу listen backlog. Увеличение очередей сглаживает всплески, но само по себе не останавливает SYN-flood.

Короткий ответ

Что ответить на собеседовании

tcp_max_syn_backlog ограничивает очередь незавершённых TCP-handshake, somaxconn — верхнюю границу listen backlog. Увеличение очередей сглаживает всплески, но само по себе не останавливает SYN-flood.

Подробный разбор

Ответ с пояснениями

tcp_max_syn_backlog ограничивает очередь незавершённых TCP-handshake, somaxconn — верхнюю границу listen backlog. Увеличение очередей сглаживает всплески, но само по себе не останавливает SYN-flood.

Сначала измерьте SYN_RECV, переполнения очередей, доступную память и скорость обработки соединений. Значение backlog приложения согласуйте с somaxconn, а параметры применяйте под конкретную нагрузку, не копируя произвольные большие числа.

Дополнительная защита включает SYN cookies, фильтрацию и ограничение аномального трафика на сетевом периметре. При насыщении внешнего канала настройка ядра сервера уже не спасёт. Проверяйте влияние изменений на легитимных клиентов и не отключайте защитные механизмы ради красивого теста пропускной способности.

Источник: kernel.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее