Câu hỏi lệnh linux để ngăn chặn tấn công dos bằng cách sử dụng netstat và iptables


Tôi muốn DROP hơn 200 yêu cầu cho mỗi ip để ngăn chặn cuộc tấn công ddos. đây là lệnh mà tôi đã sử dụng để phát hiện các yêu cầu tính trên mỗi ip:

netstat -alpn | grep :80 | awk '{print $5}' |awk -F: '{print $(NF-1)}' |sort | uniq -c | sort -nr

bây giờ tôi muốn thêm tất cả các địa chỉ IP đã thực hiện hơn 200 yêu cầu vào IPtables để DROP đầu vào và đưa ra.


5
2018-03-20 20:10


gốc


Bạn nhận ra rằng điểm của ddos ​​là các yêu cầu đến từ rất nhiều địa chỉ khác nhau mà bạn không thể chặn chúng, thay vì tải từ một vài địa chỉ, và bất kỳ điều nào nhưng các cuộc tấn công đơn giản nhất vẫn sẽ gửi lưu lượng đến bão hòa đường xuống của bạn, cho dù bạn trả lời hay không? - psusi
Tôi nghĩ rằng lệnh của bạn liệt kê các kết nối song song mở tới cổng 80 cho mỗi địa chỉ IP. Điều đó không giống như yêu cầu tính trên mỗi IP (trong một thời gian), nhưng thừa nhận vẫn là một số liệu hữu ích khi máy chủ của bạn đã bắt đầu chậm lại và yêu cầu tiếp tục xếp hàng. - tanius


Các câu trả lời:


Vâng, bạn không thể ngăn chặn ddos, và 200 yêu cầu là khá tầm thường.

Tốt nhất bạn có thể làm, IMO, là đặt giới hạn

sudo iptables -A INPUT -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -j REJECT

Đối với cổng 80, sử dụng

sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 50/minute --limit-burst 200 -j ACCEPT
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 50/second --limit-burst 50 -j ACCEPT
sudo iptables -A INPUT -j REJECT

Bạn sẽ có thể điều chỉnh các giới hạn đó cho máy chủ của mình.

Xem: http://blog.bodhizazen.com/linux/prevent-dos-with-iptables/


11
2018-03-20 20:23