Làm thế nào tôi có thể phát hiện Slowloris?


14

Tôi khá chắc chắn rằng tôi đã bị tấn công Slowloris. Tôi đã thiết lập quy tắc iptables để giới hạn kết nối tối đa cho máy chủ web của mình, nhưng tôi muốn biết làm thế nào tôi có thể biết liệu đó có thực sự là một cuộc tấn công Slowloris hay không, và nếu vậy, làm thế nào tôi có thể tìm thấy địa chỉ IP của kẻ tấn công. Tôi thực sự muốn chuyển nhật ký cho ISP của anh ấy.

Cảm ơn

Câu trả lời:


5

Các cuộc tấn công Slowloris hoạt động bằng cách gửi dữ liệu yêu cầu càng chậm càng tốt. Do đó, nếu bạn có thể đo mức sử dụng băng thông trên mỗi địa chỉ IP thì nếu nó ở dưới ngưỡng nào đó, (được tìm thấy bằng cách đo băng thông trong một cuộc tấn công chậm đã biết) thì bạn biết bạn đang bị tấn công.

Để ngăn chặn các cuộc tấn công, tôi khuyên bạn nên chuyển đổi phần mềm máy chủ web của mình. Tôi sử dụng cherokee có khả năng chống lại cấu hình mặc định của nó. Tôi không thể chắc chắn liệu nginx có dễ bị tổn thương hay không, nhưng lighttpd thì có. Tôi cũng không thể chắc chắn rằng việc sử dụng máy chủ web kháng chiến làm proxy sẽ tạo ra sự khác biệt.

Dưới đây là thông tin thêm: http://ha.ckers.org/blog/20090617/slowloris-http-dos/


10

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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.