Cách phát hiện và hạn chế một cuộc tấn công DDoS

Xin nói trước là chỉ hạn chế thôi chứ không thể chống lại một cuộc tấn công DDoS nhé. Với lại tôi cũng không phải chuyên gia về bảo mật hay phòng chống DDoS, bởi vì web công ty bị phá riết, chống chọi với DDoS riết nên có tí kinh nghiệm và viết bài này. Cũng xin nói thêm trong loại tấn công website thì DDoS là nguy hiểm nhất và cũng hạ đẳng nhất. Còn tại vì sao thì phải tìm hiểu nhiều.

tan-cong-ddos

I. Check

Bằng netstat

Cái này mà > 500 tức là Server của bạn đã có vấn đề

netstat -n | grep :80 |wc -l

Cái này > 100 có thể là tấn công syn

netstat -n | grep :80 | grep SYN |wc -l

Kiểm tra kết nối của tất cả các cổng, xem IP nào có nhiều connect nhất

netstat -ntu | grep ':' | awk '{print $5}' | sed 's/::ffff://' | cut -f1 -d ':' | sort | uniq -c | sort -n

Kiểm tra kết nối của port 80 và xem IP có nhiều kết nối nhất.

netstat -ntu | grep ':80' | awk '{print $5}' | sed 's/::ffff://' | cut -f1 -d ':' | sort | uniq -c | sort -n

Kiểm tra các kết nối bằng giao thức tcp hoặc udp

netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Kiểm tra IP nào thực hiện nhiều gói SYN nhất

netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'

Phân tích file Log

Xuất ra màn hình tất cả IP > 10 connect, trong 1 giờ qua (15 giờ 8/12/2015)

grep -w '08/Dec/2015:15' /file_log_server_access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq -cd | sort -nr | grep -v '^ *[1-9] '

Xem thêm: Phân tích Log VPS từ cơ bản đến nâng cao

II. Filter

Bằng Route

route add ipaddress reject

vd:

route add 111.111.111.1111 reject

Kiểm tra các IP đã bị Block bằng route

route -n |grep IPaddress

vd:

route -n |grep 111.111.111.1111

Bằng iptables

iptables -A INPUT 1 -s IPADRESS -j DROP/REJECT
service iptables restart
service iptables save

Xóa tất cả các kết nối

killall -KILL httpd
service httpd restart

Bằng csf

csf -d IPaddress

vd:

csf -d 111.111.111.111

Sau đó khởi động lại csf

csf -r

III. Service

Đơn giản nhất là dùng các dịch vụ chống DDoS, tất nhiên là tốn phí.

Nổi tiếng nhất và hiệu quả nhất là Cloudflare để chống được DDoS thì ít nhất phải dùng gói Business 200$/m, gói Free và 20$/m chỉ có chức năng tối ưu cho website thôi nhé, không có chức năng chống DDoS.

Tiếp đến là Incapsula  với gói Small Businesses 299$/m cũng là một sự lựa chọn hoàn hảo.

…còn nữa

Tham khảo: eukhost.com, sinhvienit.net

Dương Triều Blog © 2016