Bagaimana saya bisa mendeteksi Slowloris?

14

Saya cukup yakin saya diserang Slowloris. Saya membuat aturan iptables untuk membatasi koneksi maksimal ke server web saya, tetapi saya ingin tahu bagaimana saya bisa mengetahui apakah itu benar-benar serangan Slowloris, dan jika demikian, bagaimana saya bisa menemukan alamat IP penyerang. Saya benar-benar ingin meneruskan log ke ISP-nya.

Terima kasih

rampok
sumber

Jawaban:

5

Serangan Slowloris bekerja dengan mengirim data permintaan selambat mungkin. Oleh karena itu, jika Anda bisa mengukur penggunaan bandwidth per alamat ip maka jika itu di bawah ambang batas, (ditemukan dengan mengukur bandwidth dalam serangan slowloris yang dikenal) maka Anda tahu bahwa Anda sedang diserang.

Untuk mencegah serangan, saya sarankan mengganti perangkat lunak server web Anda. Saya menggunakan cherokee yang tahan di konfigurasi default itu. Saya tidak bisa memastikan apakah nginx rentan, tetapi lighttpd. Saya juga tidak yakin bahwa menggunakan server web yang tahan sebagai proxy akan membuat perbedaan.

Berikut informasi lebih lanjut: http://ha.ckers.org/blog/20090617/slowloris-http-dos/

dan_waterworth
sumber
10

Level 1: DOS slowloris sederhana


Untuk menemukan alamat ip penyerang slowloris saya menggunakan baris perintah berikut:

netstat -ntu -4 -6 |  awk '/^tcp/{ print $5 }' | sed -r 's/:[0-9]+$//' |  sort | uniq -c | sort -n

Ini akan memberi Anda jumlah koneksi aktif untuk setiap IP yang terhubung

Jika Anda berada di bawah serangan DOS sederhana, kiddie dengan satu atau beberapa IP, yang dengan 50-100 koneksi (atau lebih) kemungkinan besar adalah penyerang slowloris yang bisa Anda jatuhkan.

Ini untuk mendeteksi dan menjatuhkan (dengan iptables atau hlfw pilihan Anda) mereka "real time" jika Anda terhubung pada server selama serangan.

Menambahkan waktu pemrosesan (% D atau% T argumen) di apache log Anda mungkin juga dapat membantu mendeteksi serangan slowloris "postmortem" dengan menganalisis log, jika Anda tidak memiliki info ini di log Anda, Anda tidak akan dapat menemukan sesuatu yang menarik . Lihat http://httpd.apache.org/docs/current/mod/mod_log_config.html untuk konfigurasi log.

Level 2: DDOS slowloris nyata besar


netstat (gunakan watch netstat untuk menyegarkan) masih dapat membantu Anda melihat bahwa beberapa IP selalu terhubung

Untuk melawan slowloris, pada apache, instal modul reqtimeout dan atur, contoh:

http://pastebin.com/3BNNwfyb

Setelah itu, setiap 408 yang Anda lihat di access_log adalah 99,999% yakin ip penyerang slowloris.

Menggunakan modul apache reqtimeout, Anda dapat dengan mudah berdiri melawan ribuan ips dan ribuan paket / detik pada server khusus yang layak

Iptables juga dapat membantu sedikit dengan sesuatu seperti:

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP
neofutur
sumber