DDoS – Phát hiện và chống DDoS
Files blocked.ips, đây chỉ đơn giản là 1 file text bạn chỉ việc tạo ra nó bằng lênh vi bình thường, nội dung trắng, nó được dùng để làm nơi lưu những IP bị nghi ngờ đang DOS.
File iptables.sh, có nội dung:#!/bin/bash
IPT=/sbin/iptables
SPAMLIST=”spamlist”
SPAMDROPMSG=”SPAM LIST DROP”
BADIPS=$(egrep -v -E “^#|^$” /root/iptables/blocked.ips)
# create a new iptables list
$IPT -N $SPAMLIST
for ipblock in $BADIPS
do
$IPT -A $SPAMLIST -s $ipblock -j LOG –log-prefix “$SPAMDROPMSG”
$IPT -A $SPAMLIST -s $ipblock -j DROP
done
$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST
Tác dụng của file này là đọc các IP bị cấm trong file blocked.ips và thực hiện cấm đối với những IP này và đưa vào log để tiện theo dõi.
Cuối cùng là file autoblock.sh, Nội dung của file này:
#!/bin/bash
/etc/init.d/iptables start
cd /root/iptables
netstat -atun | grep SYN_RECV | awk ‘{print $5}’ | cut -d: -f1 |sort | uniq -d | sort -n > blocked.ips
sh ./iptables.sh
Tác dụng của file này là tìm xem có những IP nào đang gửi các gói tin dạng SYN_RECV, và đưa những IP này vào file blocked.ips, sau đó gọi file iptables.sh để khóa IP.
Cách triển khai: Tất cả 3 file này chúng ta lưu vào một thư mục, ở đây tôi lưu vào /root/iptables và được chmod cho phép thực thi, thường mọi người hay chmod 777
Sau đó chúng ta khai báo vào Crontab
*/2 * * * * /root/iptables/autoblock.sh
Chúc hệ thống vps các bạn luôn ổn định.