Ако се съмнявате в DoS атака ползвайте следната команда :netstat -alpn| grep ":80"| awk '{ print $5 }'| cut -d: -f4| sort| uniq -c | sort -n
Примерен изходен вариант:┌(eragon)─(0)─(01:54 AM Sat Dec 07)
└─(~)─(15 files, 972Kb)─> netstat -alpn| grep ":80"| awk '{ print $5 }'| cut -d: -f4| sort| uniq -c | sort -n
1 *
19 10.10.10.10
По-долните два реда са примерни, може да се променят според вашите нужди.iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 20 -j DROP
Имайте в предвид, че максималните стойности за –seconds са 60, а за –hitcount са 20.
Със следният редiptables -L INPUT -n --line-numbers
лисваме всички правила в iptables:┌(eragon)─(0)─(01:44 AM Sat Dec 07)
└─(~)─(15 files, 972Kb)─> iptables -L INPUT -n --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW recent: UPDATE seconds: 60 hit_count: 20 name: DEFAULT side: source
2 tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 state NEW recent: SET name: DEFAULT side: source
3 fail2ban-SSH tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
За да изтрием правилото за блокиране на IP-тата в този случай пишем:iptables -D INPUT 1
Тука 1 (едно) след INPUT е номера на правилото показано по-горе.