Shell này gồm 3 file:
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
# Ban quyen thuoc ve Hanh_bk
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
# Ban quyen thuoc ve Hanh_bk
/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 các bạn luôn giữ ổn định cho hệ thống của mình