Come posso rilevare Slowloris?


14

Sono abbastanza sicuro di essere sotto l'attacco di Slowloris. Ho impostato una regola iptables per limitare le connessioni massime al mio server web, ma vorrei sapere come posso capire se si trattasse davvero di un attacco Slowloris e, in tal caso, come posso trovare l'indirizzo IP dell'attaccante. Vorrei davvero passare i log al suo ISP.

Grazie

Risposte:


5

Gli attacchi Slowloris funzionano inviando i dati delle richieste il più lentamente possibile. Pertanto, se potessi misurare l'uso della larghezza di banda per indirizzo IP, allora se è al di sotto di una soglia (rilevata misurando la larghezza di banda in un noto attacco al rallentatore), allora sai di essere sotto attacco.

Per prevenire attacchi, suggerirei di cambiare il software del tuo server web. Uso cherokee che è resistente nella sua configurazione predefinita. Non riesco a capire se nginx sia vulnerabile, ma lo è lighttpd. Inoltre, non posso essere sicuro che l'utilizzo di un server Web resistente come proxy farà la differenza.

Ecco ulteriori informazioni: http://ha.ckers.org/blog/20090617/slowloris-http-dos/


10

Livello 1: slowloris semplice DOS


Per trovare l'indirizzo IP dell'attaccante slowloris uso la seguente riga di comando:

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

Questo ti darà il numero di connessioni attive per ogni IP connesso

Se sei sotto un semplice attacco DOS, un kiddie con uno o pochi IP, quello con 50-100 connessioni (o più) è molto probabilmente un attaccante slowloris che puoi rilasciare.

Questo per rilevare e rilasciare (con iptables o il tuo hlfw preferito) "real time" se sei connesso al server durante l'attacco.

L'aggiunta del tempo di elaborazione (argomento% D o% T) nei registri di Apache può anche aiutare a rilevare gli attacchi di rallentatore "post mortem" analizzando i registri, se non si dispone di queste informazioni nei registri, non sarà possibile trovare nulla di interessante . Vedere http://httpd.apache.org/docs/current/mod/mod_log_config.html per la configurazione del registro.

Livello 2: vero grande DDOS slowloris


netstat (usa watch netstat per l'aggiornamento) può comunque aiutarti a vedere che alcuni IP sono sempre connessi

Per combattere slowloris, su apache, installa i moduli reqtimeout e configuralo, ad esempio:

http://pastebin.com/3BNNwfyb

Dopodiché, ogni 408 che vedi in access_log è sicuro al 99,999% di un IP attaccante slowloris.

Utilizzando il modulo reqtimeout apache, puoi facilmente affrontare migliaia di ips e migliaia di pacchetti / secondo su un server dedicato decente

Iptables può anche aiutare un po 'con qualcosa come:

iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j DROP
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.