Một số lệnh cơ bản kiểm tra server khi bị DDoS

Ngày 16/07 năm 2018 | Tin mới | Tag:

Tấn công từ chối dịch vụ phân tán (DDoS – Distributed Denial Of Service) là kiểu tấn công làm cho hệ thống máy tính hay hệ thống mạng quá tải, không thể cung cấp dịch vụ hoặc phải dừng hoạt động. Trong các cuộc tấn công DDoS, máy chủ dịch vụ sẽ bị “ngập” bởi hàng...

Rate this post

Tấn công từ chối dịch vụ phân tán (DDoS – Distributed Denial Of Service) là kiểu tấn công làm cho hệ thống máy tính hay hệ thống mạng quá tải, không thể cung cấp dịch vụ hoặc phải dừng hoạt động. Trong các cuộc tấn công DDoS, máy chủ dịch vụ sẽ bị “ngập” bởi hàng loạt các lệnh truy cập từ lượng kết nối khổng lồ.

Khi số lệnh truy cập quá lớn, máy chủ sẽ quá tải và không còn khả năng xử lý các yêu cầu. Hậu quả là người dùng không thể truy cập vào các dịch vụ trên các trang web bị tấn công DDoS.

Mình xin chia sẻ lại bài của BKNS, giới thiệu một số lệnh cơ bản để kiểm tra server trong trường hợp này.

– Đếm lượng connection vào Port 80:

netstat -n | grep :80 |wc -l

1

netstat -n | grep :80 |wc -l

– Kiểm tra số lượng connection đang ở trạng thái SYN_RECV:

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

1

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

– Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP:

netstat -an|grep :80 |awk ‘{print $5}’|cut -d”:” -f1|sort|uniq -c|sort -rn

1

netstat -an|grep :80 |awk ‘{print $5}’|cut -d”:” -f1|sort|uniq -c|sort -rn

– Nếu muốn kiểm tra IP nào mở nhiều SYN thì thêm vào:

netstat -an|grep :80|grep SYN |awk ‘{print $5}’|cut -d”:” -f1|sort|uniq -c|sort -rn

1

netstat -an|grep :80|grep SYN |awk ‘{print $5}’|cut -d”:” -f1|sort|uniq -c|sort -rn

– Đối với server có nhiều IP, để kiểm tra IP nào đang bị tấn công:

netstat -plan | grep :80 | awk ‘{print $4}’| cut -d: -f1 |sort |uniq -c

1

netstat -plan | grep :80 | awk ‘{print $4}’| cut -d: -f1 |sort |uniq -c

– Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP:

netstat -an | grep ‘:80’ | awk ‘{print $5}’ | sed s/’::ffff:’// | cut -d”:” -f1 | sort | uniq -c

1

netstat -an | grep ‘:80’ | awk ‘{print $5}’ | sed s/’::ffff:’// | cut -d”:” -f1 | sort | uniq -c

– Hiển thị số lượng kết nối mỗi loại

netstat -an | grep :80 | awk ‘{print $6}’ | sort | uniq -c

1

netstat -an | grep :80 | awk ‘{print $6}’ | sort | uniq -c

61 ESTABLISHED
13 FIN_WAIT1
17 FIN_WAIT2
1 LISTEN
25 SYN_RECV
298 TIME_WAIT

123456

61 ESTABLISHED 13 FIN_WAIT1 17 FIN_WAIT2 1 LISTEN 25 SYN_RECV 298 TIME_WAIT

– Hiển thị tất cả các IP đang kết nối và số lượng kết nối từ mỗi IP

watch “netstat -an | grep ‘:80’ | awk ‘{print $5}’ | sed s/’::ffff:’// | cut -d”:” -f1 | sort | uniq -c”

1

watch “netstat -an | grep ‘:80’ | awk ‘{print $5}’ | sed s/’::ffff:’// | cut -d”:” -f1 | sort | uniq -c”

watch “netstat -an | grep :80 | awk ‘{print $6}’ | sort | uniq -c”

1

watch “netstat -an | grep :80 | awk ‘{print $6}’ | sort | uniq -c”

Khi đã phát hiện IP có dấu hiệu bất thường, bạn có thể sử dụng CSF để block IP đó lại.

Cách khắc phục nhanh nhất là block các IP chiếm nhiều connection nhất trong “giờ cao điểm”:

Cách 1:

Code:

route add địa-chỉ-ip reject

1

route add địa-chỉ-ip reject

vd: route add 192.168.0.168 reject

Kiểm tra bằng lệnh: route -n |grep địa-chỉ-ip

Cách 2: sử dụng iptables

Code:

iptables -A INPUT 1 -s địa-chỉ-ip -j DROP/REJECT service iptables restart

service iptables save

123

iptables -A INPUT 1 -s địa-chỉ-ip -j DROP/REJECT service iptables restart  service iptables save

Sau đó xóa hết tất cả connection hiện hành và khơi động lại service httpd

Code:

killall -KILL httpd

service httpd restart

123

killall -KILL httpd service httpd restart

Nếu như hoàn tất các bước nêu trên mà server vẫn chậm thì có nghĩa là vấn đề bạn gặp phải nằm vào trường hợp 2,3,4… chỉ việc nâng cấp server để đáp ứng nhu cầu truy cập của người sử dụng.

Nguồn: tổng hợp, hocvps.com

Có thể bạn quan tâm