Назад | Перейти на главную страницу

Linux блокирует udp на низком уровне против DDOS

Мой сервер в настоящее время подвергается DDOS-атаке с почти 500 тыс. UDP-пакетов в секунду.

UDP заблокирован в iptables, но процессор все еще перегружен.

Любой способ заблокировать UDP на более низком уровне, чтобы не передавать пакет через все цепочки / модули iptables, а отбрасывать его даже раньше?

Самая ранняя возможная точка отбрасывания пакетов - это iptables. raw таблицу, как показано на диаграмме в https://unix.stackexchange.com/questions/243079/netfilter-iptables-why-not-using-the-raw-table

Вы можете сбрасывать пакеты в PREROUTING цепочка такая:

iptables -t raw -A PREROUTING -p udp -j DROP

Однако при таком подходе вы также отбрасываете ответы DNS на запросы, инициированные вашим сервером, поскольку обработка raw таблица появляется до того, как происходит отслеживание соединения.

Вы можете добавить разрешенные хосты UDP следующим образом:

iptables -t raw -A PREROUTING -p udp -s !nnn.nnn.nnn.nnn -j DROP

где nnn.nnn.nnn.nnn - это IP-адрес хоста, с которого вы хотите получать UDP-трафик.

В зависимости от сервера, отключение UDP-трафика перед отслеживанием соединения может иметь и другие последствия.