Đối với các website hoặc diễn đàn lớn, việc phòng chống và kiểm tra Ddos là một việc làm hết sức thường xuyên. Đặc biệt, các webmaster luôn luôn phải trong tình trạng xử lý khi mình dính phải trường hợp đó. Bạn có thể tìm hiểu thêm về Ddos tại Wikipedia.
Thông thường, việc phát hiện Ddos rất đơn giản khi bạn gặp tình trạng
server load chậm một cách bất thường, mọi câu lệnh hoặc tác vụ đều không
thể xử lý ngay thì 90% là do những nguyên nhân sau:
1/ Server bị Ddos
2/ Server quá tải do thiếu RAM
3/ Server quá tải do tốc độ xử lý của CPU không đảm bảo
4/ Tốc độ truy xuất dữ liệu của HDD không đáp ứng nhu cầu read/write của data.
Đối với trường hợp 2, 3, 4 thì các bạn có thể xử lý bằng việc can thiệp và nâng cấp phần cứng của server. Còn với vấn đề đầu tiên: Server bị Ddos thì sau đây là một số thủ thuật đơn giản và có hiệu quả mà bạn có thể áp dụng.
* Cách kiểm tra tình trạng Ddos của server:
Cách 1:
Sử dụng câu lệnh:
netstat -anp |grep 'tcp\|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
Kết quả sau khi gõ câu lệnh trên, bạn sẽ thấy những IP được trả về chiếm nhiều kết nối nhất trên server được sắp xếp theo dạng từ ít đến nhiều. Tuy nhiên, cách trên chỉ là một cách cho hiệu quả 50 - 50 vì có thể Ddos vẫn xuất hiện dụng tình trạng kết nối là ít.
Cách 2:
Sử dụng một trong hai câu lệnh sau:
1/ netstat -n | grep :80 |wc -l
2/ netstat -n | grep :80 | grep SYN |wc -l
Ở câu lệnh 1/ sẽ đưa về cho bạn kết quả là những kết nối đang hoạt động. Theo kinh nghiệm, nếu số lượng kết nối trả về trên 500 thì khả năng server bạn đang phải hứng chịu một cuộc tấn công Ddos là rất cao.
Ở câu lệnh 2/ sẽ đưa về cho bạn kết quả trên 100 thì có khả năng server bạn đang trong tình trạng syn attack Ddos.
* Cách xử lý:
* Cách xử lý:
Cách 1:
Cách xử lý nhanh nhất và có hiệu quả tức thì là việc block những IP chiếm nhiều kết nối trên server của bạn nhất. Bạn có thể sử dụng câu lệnh sau :
route add địa-chỉ-ip reject
Kiểm tra bằng lệnh: route -n |grep địa-chỉ-ip
Cách 2:
Sử dụng hàm iptables như sau:
Bước 1: iptables -A INPUT 1 -s địa-chỉ-ip -j DROP/REJECT service iptables restart
Bước 2: service iptables save
Sau đó xóa hết tất cả các kết nối hiện hành và khởi động lại httpd bằng câu lệnh sau:
killall -KILL httpd service httpd restart
Xin lưu ý, những phương pháp trên chỉ là phương pháp mang tính tương đối vì với những trường hợp đặc biệt có thể sẽ khác hoặc trái ngược hoàn toàn với các cách trên.
(Tổng hợp)