Cấp 1: Slowloris DOS
Để tìm địa chỉ IP của kẻ tấn công Slowloris tôi sử dụng dòng lệnh sau:
netstat -ntu -4 -6 | awk '/^tcp/{ print $5 }' | sed -r 's/:[0-9]+$//' | sort | uniq -c | sort -n
Điều này sẽ cung cấp cho bạn số lượng kết nối hoạt động cho mỗi IP được kết nối
Nếu bạn đang bị một cuộc tấn công DOS đơn giản, một đứa trẻ có một hoặc một vài IP, thì một mạng có 50 - 100 kết nối (hoặc nhiều hơn) rất có thể là một kẻ tấn công làm chậm bạn có thể thả.
Điều này là để phát hiện và thả (với iptables hoặc hlfw ưa thích của bạn) chúng "thời gian thực" nếu bạn được kết nối trên máy chủ trong cuộc tấn công.
Thêm thời gian xử lý (đối số% D hoặc% T) trong nhật ký apache của bạn cũng có thể giúp phát hiện các cuộc tấn công chậm "postmortem" bằng cách phân tích nhật ký, nếu bạn không có thông tin này trong nhật ký của mình, bạn sẽ không thể tìm thấy bất cứ điều gì thú vị . Xem http://httpd.apache.org/docs/cản/mod/mod_log_config.html để biết cấu hình nhật ký.
Cấp độ 2: DDOS chậm lớn thực sự
netstat (sử dụng xem netstat để làm mới) vẫn có thể giúp bạn thấy rằng một số IP chỉ luôn được kết nối
Để chống lại Slowloris, trên apache, hãy cài đặt các mô-đun reqtimeout và thiết lập nó, ví dụ:
http://pastebin.com/3BNNwfyb
Sau đó, cứ 408 bạn thấy trong access_log thì chắc chắn 99,999% là một kẻ tấn công chậm.
Sử dụng mô-đun apache reqtimeout, bạn có thể dễ dàng chống lại hàng ngàn ips và hàng ngàn gói / giây trên một máy chủ chuyên dụng đàng hoàng
Iptables cũng có thể giúp một chút với một cái gì đó như:
iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP