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

* Простой * способ заблокировать DDoS по количеству запросов

У меня есть 3 сервера Varnish 3.0.2 с Apache 2 в качестве бэкэнда, нагрузка на которые балансируется через отдельный сервер HAproxy.

Мне нужно найти очень простую программу (я не очень большой системный администратор), которая блокирует запросы с IP-адреса, если этот IP-адрес сделал более X запросов за Y секунд.

Можно ли добиться чего-то подобного с помощью простого решения? Сейчас мне нужно вручную заблокировать все запросы с помощью iptables.

Вы можете сделать что-то подобное с помощью iptables:

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --set --name HTTP
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 80 --rttl --name HTTP -j DROP

Первая команда помечает соединение (которое может быть законным) как HTTP, а вторая блокирует его, если выполняются следующие требования: более 80 попыток за последние 60 секунд.

Однако всем, кто использует заблокированный IP-адрес, будет отказано, а не только возможный DDOSer, если он / она использует IP-адрес с NAT. И вам нужно найти что-то, чтобы снова включить доступ через некоторое время.

Вы также можете попробовать failtoban.

Надеюсь, поможет