La mia azienda ha affrontato attacchi DDoS fino a 180 gbps e qui ci sono le mie tecniche che ho usato per mitigare.
Le dimensioni di un sito Web non solo lo rendono un obiettivo più grande, ma anche le cose che svolgono un ruolo significativo sono:
- Pubbliche relazioni (ti stai pubblicizzando come qualcosa che non sei, a quale popolo stai mirando)
- Fornire promesse
- Trattare i clienti nel modo giusto
I motivi per gli attacchi DDoS includono ma non sono limitati a quanto segue:
- Fama ("Oh guarda me, sono riuscito a portare giù questo sito")
- Denaro (i siti più grandi sono più costosi da attaccare, in genere se cercano denaro saranno più piccoli con entrate elevate che non hanno un grande team tecnico)
- Attivismo
Anche (da uno dei commenti):
- Un altro motivo è che stanno cercando di distrarti. Ad esempio, se vogliono attaccare Apache così sei impegnato a risolverlo mentre usano la tua password SSH bruteforce.
Ci sono molti diversi tipi di attacchi DDoS e come vengono avviati, in primo luogo è necessario ottenere i punti che ho elencato sopra in ordine, quindi gli attacchi DDoS probabilmente diminuiranno. Questo non significa che non li sperimenterai più, semplicemente darai alle persone meno motivi per attaccarti.
A livello tecnico, ci sono più cose da considerare perché la maggior parte delle aziende ha più nodi nella propria infrastruttura. In alcuni casi, ogni nodo richiede un diverso tipo di approccio. Nel mio caso questi nodi erano un'API, un server di gioco, un server di autenticazione, un database e un server sociale. Il passaggio 1 doveva garantire che non si esponesse mai un indirizzo IP che non ha bisogno di essere esposto. Nel mio caso quelli erano il server di autenticazione, il database e il server social. Limitare generalmente i punti di fallimento è un buon approccio per iniziare. La protezione è incredibilmente costosa, ed è bello avere la protezione più resistente dove ne hai davvero bisogno.
Dopo aver determinato quali punti devono essere pubblici, è possibile proteggere ciascuna funzione singolarmente nel modo in cui devono essere protetti. theterriblevitrium ha dato una risposta eccellente alle tecniche, ecco i miei 2 centesimi su quello.
-
Anycast (ad esempio, un CDN. Funziona incredibilmente bene per nodi statici come API locali, server DNS e server web, il lato negativo di questo è che attualmente non funziona in modo efficace per i sistemi che hanno un singolo punto di errore come i server di gioco)
- Regole di rete e amp; Packet Inspection (EG ogni connessione può occupare solo X kb di traffico al secondo e ogni pacchetto deve corrispondere al modello x, yo z. Questo ha funzionato bene per i nostri giochi.Il lato negativo è che se raggiungono il limite di larghezza di banda, sei fuori di fortuna.)
Sentiti libero di fare qualsiasi domanda!