Server sotto attacco DDOS - Come scoprire gli IP?


20

Il mio server è sotto attacco DDOS e voglio bloccare l'IP che lo sta facendo, quali log dovrei cercare per determinare l'IP dell'attaccante?


2
Come hai stabilito che il server è sotto attacco? Mi sembra che dovresti guardare qualche tipo di tabella di sessioni TCP (netstat su Windows) per fare questa determinazione e in questo modo vedresti gli indirizzi IP degli host che si collegano al tuo server, il che farebbe la tua domanda discutibile.
joeqwerty,

Risposte:


43
tail -n 10000 yourweblog.log|cut -f 1 -d ' '|sort|uniq -c|sort -nr|more

Dai un'occhiata ai migliori indirizzi IP. Se qualcuno si distingue dagli altri, quelli sarebbero i firewall.

netstat -n|grep :80|cut -c 45-|cut -f 1 -d ':'|sort|uniq -c|sort -nr|more

Questo esaminerà le connessioni attualmente attive per vedere se ci sono IP che si collegano alla porta 80. Potrebbe essere necessario modificare il taglio -c 45- poiché l'indirizzo IP potrebbe non iniziare nella colonna 45. Se qualcuno stava eseguendo un flood UDP a il tuo server web, anche questo lo prenderebbe.

Nel caso in cui nessuno di questi mostri alcun IP che sia eccessivamente fuori norma, dovresti presumere che hai una botnet che ti sta attaccando e dovresti cercare particolari schemi nei log per vedere cosa stanno facendo. Un attacco comune contro i siti wordpress è:

GET /index.php? HTTP/1.0

Se guardi attraverso i log di accesso per il tuo sito Web, potresti essere in grado di fare qualcosa del tipo:

cut -f 2 -d '"' yourweblog.log|cut -f 2 -d ' '|sort|uniq -c|sort -nr|more

che ti mostrerebbe gli URL colpiti più comunemente. Potresti scoprire che stanno colpendo un particolare script anziché caricare l'intero sito.

cut -f 4 -d '"' yourweblog.log|sort|uniq -c|sort -nr|more

ti permetterebbe di vedere gli UserAgent comuni. È possibile che stiano utilizzando un singolo UserAgent nel loro attacco.

Il trucco è trovare qualcosa in comune con il traffico di attacco che non esiste nel tuo traffico normale e quindi filtrarlo attraverso iptables, mod_rewrite o upstream con il tuo webhost. Se vieni colpito da Slowloris, Apache 2.2.15 ora ha il modulo reqtimeout che ti consente di configurare alcune impostazioni per proteggere meglio da Slowloris.


Grazie mille, esaminerò sicuramente questo fine settimana.
Webnet,

eccellente. molto utile e semplicemente fantastico .... continuate così e dio vi benedica. Allinonescript.com ( allinonescript.com ) Sviluppatori di tutto il mondo La conoscenza acquisisce conoscenza.
Vadivel S

Finché hai impostato correttamente il tuo access_log: tail -n 10000 / var / log / httpd / access_log | cut -f 1 -d '' | sort | uniq -c | sort -nr | more Questo dovrebbe funzionare. Ha funzionato per me,
dustbuster

7

Cordiali saluti - Dovresti provare a lavorare con il tuo ISP per vedere se possono bloccarlo a monte di te.


4

Alcuni buoni consigli qui. Aggiungerei anche questo:

netstat -an | grep ESTABLISHED | awk '\''{print $5}'\'' | awk -F: '\''{print $1}'\'' | sort | uniq -c | awk '\''{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'\''

Metti questo sotto un alias (nn, per esempio). Questo ti darà una prospettiva "grafica" dell'ips con connessioni più stabilite.

Spero che sia di aiuto.

Per coloro che non sono riusciti a farlo funzionare, ho corretto la sintassi in modo che funzioni per me sotto Ubuntu:

netstat -an|grep ESTABLISHED|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|awk '{ printf("%s\t%s\t",$2,$1); for (i = 0; i < $1; i++) {printf("*")}; print ""}'

3

I miei file di log preferiti per verificare gli attacchi DOS sono / var / log / secure (sotto Redhat / Centos / Fedora ....) e /var/log/auth.log (sotto ubuntu, debian ...). Vedrai tentativi di accesso non riusciti effettuati dall'IP di origine dell'attaccante, la maggior parte delle volte attacchi basati su dizionario.



0

Quale distro?

Penso che il registro sia in /var/log/apache2/access.log con Ubuntu ... Forse anche Debian.

Esegui updateb come sudo quindi individua access.log dalla riga di comando.

EDIT: credo che questo accadrà solo se ti stanno colpendo o richiedendo pagine o direttamente attraverso la porta 80. Se stanno colpendo altre porte non vedrai le informazioni che ti servono lì dovrai controllare e vedere quale processo è in esecuzione su quella porta e dai un'occhiata ai log di connessione per quel processo.


0

potresti usare tcpdump per vedere quale indirizzo è $ tcpdump -vv porta X se sospetti una porta particolare


0

Se sei sotto un DOS distribuito, c'è sicuramente molto più di un IP da bloccare e gli IP possono essere falsificati, è meglio chiedere al tuo ISP come ha detto mfinni . Inoltre, questo potrebbe essere più di un DOS contro il tuo server, ma un esca per nascondere il vero attacco dal rilevamento, quindi controlla che tutti i tuoi servizi esposti siano gestiti da software aggiornato. Potresti anche essere interessato a mod_dosevasive per apache.


2
Gli IP sono molto difficili da forgiare per gli attacchi web. Poiché una connessione Web valida richiede una stretta di mano syn / ack, dovresti avere la fortuna di avere l'indirizzo IP contraffatto con il giusto numero di sequenza affinché il tuo payload dal sito di attacco forgiato funzioni. Il traffico UDP / ICMP è senza connessione e consente pacchetti contraffatti, ma la maggior parte degli host li blocca.
user6738237482

0

Per prima cosa devi determinare il tipo di DOS. Alcuni attacchi sono molto furtivi ma efficaci (slowloris), alcuni sono così pesanti che potrebbero far crollare un ISP (inondazioni ICMP da una larghezza di banda maggiore rispetto alla tua fonte ISP).

Dopo aver determinato il tipo di DOS, chiama il tuo ISP e chiedi loro se possono filtrare il traffico.

Ho visto alluvioni dell'ICMP così pesanti che abbiamo dovuto chiedere all'ISP a monte di filtrare l'IP di destinazione tramite una comunità BGP.

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.