Attacchi DDOS? Ecco come sapere l’IP di chi vi attacca!

Ebbene si, per quanto i software anti-DDOS possano servire, il modo migliore di evitare gli attacchi DDOS è un sistema a “Mitigazione” dove l’attacco viene sparso lungo tutta l’infrastruttura disponibile, annientando praticamente ogni attacco.

Tuttavia per chi non dovesse aver modo di pagare tali servizi o volesse comunque sapere l’IP di chi rende inagibile il proprio servizio, c’è un modo, ma con Linux.

RICHIESTO:

  • Server con Linux (testato con UBUNTU)
  • Accesso a protocollo SSH

PROCEDURA:

    1. Apri il Terminale / Console / Linea di Comando e collegati al tuo server tramite SSH (non viene spiegato qui come fare ma si trovano migliaia di guide online)
    2. Scrivi:
      netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

Fine 🙂 Vedrai TUTTE le connessioni attive sul tuo server raggruppate per numero di connessioni per singolo IP (quello con il numero a sinistra più grande è quello che crea problemi ma attenzione a non calcolare 127.0.0.1 e anche 0.0.0.0 che sono i vostri IP locali!).

Cosa vuol dire?

Che se un utente è collegato decine o centinaia di volte non è un bene e potrebbe essere proprio quello che ti sta creando problemi!


 

SOLUZIONE 1 – Sconsigliata, troppo precisa ma buona per il singolo IP

Non l’ho ancora testata ma una volta trovato l’IP del furbone basterà chiudergli la connessione verso il tuo server con:

iptables -A INPUT 1 -s $IPADRESS -j DROP/REJECT

modificando dove c’è scritto $IPADRESS con l’IP che crea il problema e riavviare le connessioni con

killall -KILL httpd
 
service httpd start           #Per sistema Red Hat 
/etc/init/d/apache2 restart   #Per sistema Debian


 

SOLUZIONE 2 – Consigliata! Ottima e sicura

Un comando più complesso da usare ma molto più descrittivo è iftop. Per usare la connessione eth0 (solitamente la LAN) usa il comando

iftop -P -i eth0

Una volta aperta la tabella verifica le porte usate per l’attacco.

In caso di flood UDP verificate le porte che usano e usate il comando

iptables -A INPUT -p udp -m udp --dport 20100:20500 -m state --state NEW -m recent --update --seconds 30 --hitcount 10 --name DEFAULT --rsource -j DROP

Questo limiterà le connessioni del singolo IP dalla porta 20100 alla porta 20500 (che dovrete cambiare in caso di attacchi ad altre porte) bannando l’IP che supererà le 10 connessioni in 30 secondi, davvero un comando santo per gli attacchi flood UDP, testato personalmente! Probabilmente utilizzabile anche per gli attacchi TCP, basta cambiare udp con tcp nel comando.

Avete sbagliato comando o porta? Oppure è troppo corto il tempo (o lungo)?

iptables -L INPUT --line-numbers

Questo mostrerà tutte le regole di iptables attive sul tuo server, precedute da un numero indentificativo. Per cancellare una regola guarda il numero (ad esempio 7) e usa il comando

iptables -D INPUT 7

Ovviamente al posto del 7 metti il numero prima della regola da cancellare.


 

Buona Protezione!

Annunci

, , , , , , , , , , ,

  1. Lascia un commento

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: