Shell chống DOS đơn giản dạng SYN attack

Date: 2 Tháng 8 2009 Comments: 1

Đoạn mã này mình đã dùng và thấy hiệu quả tương đối tốt, tuy nhiên là còn nhiều sai sót, tuy nhiên trong một mức độ nào đó thì nó cũng có tác dụng. Cơ chế hoạt động của nó chỉ đơn giản là tìm xem có những IP nào đang thực hiện kết nối dạng SYN_RECV thì sẽ được đưa vào blacklist và khóa lại, cứ 2 phút 1 lần hệ thống sẽ gọi đến file này, nếu như ip đó không thực hiện tấn công SYN Flood nữa thì IP đó sẽ được xóa ra khỏi danh sách cấm.

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:

File này 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

Đây là shell mà tôi đã dùng và đã chống được khá tốt, mọi người dùng thử và cho ý kiến nhé.

  1. One Comments to “Shell chống DOS đơn giản dạng SYN attack”

    1. As247 nói:

      Em thấy bảo là firewall ngày nay đều có cơ chế chống SYN flood rồi mà :”>

    Leave a Reply


    *

    Bộ gõ AVIM-Reloaded

    Comment moderation is enabled. Your comment may take some time to appear.

Subscribe without commenting

  • Search for:
  • Phản hồi gần đây

  • Tags Cloud