Giải pháp để kiểm tra nếu server của bạn đã bị tấn công.
June 22, 2019
bash
linux
http
Khi server đã bị tê liệt vì tiêu tốn quá nhiều tài nguyên bởi cuộc tấn công. vậy giải pháp để bạn khách phục sẽ là gì. Dưới đây là một vài giải pháp mình đã tham khảo được để giảm thiểu các vấn đề này.
Dưới đây là 1 vài cách thức để giúp bạn kiểm tra số lượng connection tới server của bạn khi bạn cảm thấy server quá tải trì ệ, tê liêt.
Đếm lượng connection vào các port web 80, 443..
netstat -n | grep :80 |wc -l
# Output
# 2034
Kiểm tra số lượng connection đang ở trạng thái SYN_RECV
netstat -n | grep :80 | grep SYN_RECV|wc -l
# Output
# 1034
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
# Output
# 1012 14.177.107.xxx
# 28 14.177.107.xxx
# 1 32.109.222.xxx
# 7 83.102.152.xxx
# ...
netstat -an | grep ':80' | awk '{print $5}' | sed s/'::ffff:'// | cut -d":" -f1 | sort | uniq -c
# Output
# 1012 14.177.107.xxx
# 28 14.177.107.xxx
# ...
Nếu bạn muốn kiểm tra IP nào mở nhiều SYN
netstat -an|grep :80|grep SYN |awk '{print $5}'|cut -d":" -f1|sort|uniq -c|sort -rn
# Output
# 1012 14.177.107.xxx
Nếu bạn sử dụng nhiều server muốn kiểm tra địa chỉ server nào đang bị tấn công
netstat -plan | grep :80 | awk '{print $4}'| cut -d: -f1 |sort |uniq -c
# Output
# 1
# 1012 14.177.107.xxx
# 1 45.32.240.xxx
Khi đã kiểm tra và xác định có dấu hiệu nghi vấn việc cần làm của bạn là block ngay lập tức IP đó lại
route add 14.177.107.xxx reject
Sau đó hãy restart lại tất các các connection đang diễn ra bằng cách restart web server của bạn
service nginx restart
Đây là các giải pháp nhằm mục đích chống tấn công nhanh chóng để khắc phục khi server của bạn bị tê liệt. Hi vọng nó sẽ giúp ích phần nào cho các bạn.