Vorrei sapere se è possibile interrompere un attacco SYN TCP o ICMP Flood se questi attacchi vengono rilevati alla volta. Qual è il processo più accurato per filtrare questi indirizzi se l'unico modo è bloccare gli indirizzi IP della botnet.
È probabile che questi attacchi vengano eseguiti utilizzando lo spoofing IP, la prima linea di difesa è quella di incoraggiare il tuo ISP ad adottare BCP38 per evitare lo spoofing IP.
Il problema con un attacco di tipo Denial of Service è che spesso devi impedire al traffico dannoso di raggiungerti in primo luogo. Non puoi fare molto localmente, ma puoi sempre optare per un servizio come CloudFare (che implementa anche BCP38) in quanto possono disinfettare questo tipo di pacchetti prima che ti raggiungano.
SYN Flood può essere mitigato abilitando i SYN Cookies . SYN I cookie impediscono a un utente malintenzionato di riempire le code SYN e rendere i servizi non raggiungibili all'utente legittimo.
Su Linux, queste sono alcune impostazioni che puoi utilizzare per abilitare e configurare i cookie SYN in modo efficiente:
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
echo 2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo 3 > /proc/sys/net/ipv4/tcp_synack_retries
Per rendere automaticamente attive queste impostazioni all'avvio, aggiungi quelle righe al file /etc/sysctl.conf
:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 3
È anche possibile proteggere una casella di Windows, come descritto in questo articolo da Microsoft . Windows Vista e versioni successive hanno la protezione dagli attacchi SYN abilitata per impostazione predefinita.
A causa dell'inondazione UDP, sfortunatamente non c'è molto che puoi fare al riguardo. In ogni caso, in un'inondazione ICMP / Ping, puoi impostare il tuo server in modo che ignori Ping, quindi un attacco sarà solo mezzo efficace dal momento che il tuo server non consumerà la larghezza di banda rispondendo alle migliaia di Ping che riceve.
Puoi farlo eseguendo questa configurazione:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
E naturalmente, aggiungi questa riga al file /etc/sysctl.conf
:
net.ipv4.icmp_echo_ignore_all = 1
Tuttavia, alcuni sistemi di watchdog richiedono che ICMP Echo sia abilitato per funzionare. Alcuni server di noleggio richiedono di lasciare ICMP Echo abilitato per questo motivo. Ma puoi ancora usare iptables
per disabilitare Ping solo in alcune interfacce.
Su Windows questo può essere fatto con il comando:
netsh firewall set icmpsetting 8 disable
Windows Firewall deve essere attivo.
Come esempio di un grave attacco UDP, sono amministratore di rete senior presso un'università in CA, e un paio di giorni fa abbiamo avuto un grave attacco UDP da non meno di 553 host separati in tutto il mondo .. Sì, davvero .. Sono stato in grado di limitare le nostre (grandi) pipe in arrivo dal nostro provider e parzialmente filtrare alcune delle entrate, e alcune delle risultanti UDP di risposta .. Questo è un vettore di attacco davvero cattivo .. Sto ancora lavorando su una suite di contromisure di risposta migliore da implementare quando ciò accade di nuovo.