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

команда linux для предотвращения атаки dos с помощью netstat и iptables

Я хочу отбрасывать более 200 запросов на каждый IP-адрес, чтобы предотвратить атаку ddos. это команда, которую я использовал для определения количества запросов на ip:

netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr

теперь я хочу добавить все IP-адреса, которые сделали более 200 запросов в IPtables для DROP ввода и вывода.

Вы можете создать ipset. Таким образом, вы можете добавить в набор столько IP-адресов, сколько вам нужно, не изменяя iptables набор правил.

ipset -N myset iphash
ipset -A myset 1.1.1.1
ipset -A myset 2.2.2.2

Или, в вашем случае, используйте вывод вашего скрипта и прочтите его примерно так:

while read a; do ipset -A myset "$a"; done < <(your script here)

И ссылка на него в вашем iptables правила:

iptables -A INPUT -m set --set myset src -j DROP

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

Есть и другие способы смягчать DDOS-атака с использованием iptables прямо. Прочтите iptables раздел справочной страницы о connlimit и recent модули.

Вы также можете использовать iptables для ограничения скорости входящих соединений. Например, если вам не нужно более 200 подключений в минуту от источника:

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --set

iptables -I INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 200 -j DROP