Docente: In questa lezione
parleremo dell'importanza dei bilanciatori di carico.
I bilanciatori di carico,
noti anche come content switch, sono utilizzati
per distribuire le richieste in arrivo su
un certo numero di server all'interno
di una forma di server o di un'infrastruttura cloud.
Se gestite un sito web o un servizio di grandi dimensioni,
non potete fare tutto questo su un singolo server.
Per esempio, a questo punto ho diverse centinaia di migliaia
di studenti che seguono
i miei corsi e guardano i miei video.
È impossibile che un singolo server possa gestire un carico così elevato.
Quindi dobbiamo distribuirlo
su molti server diversi in tutto
il mondo.
Ma quando uno studente vuole visitare il mio sito web,
non deve scegliere un server specifico.
Invece, vanno semplicemente a diontraining. com e il nostro load balancer
e content switch reindirizza la richiesta
al prossimo server disponibile per poterla elaborare.
In effetti, abbiamo tonnellate di server
diversi in tutto il mondo
per gestire tutte le richieste.
La stessa cosa accade con Netflix
o Hulu o Facebook o Amazon, ma su scala
molto più ampia.
Tutti questi siti web di grandi dimensioni devono utilizzare
un bilanciatore di carico, altrimenti
un singolo server si bloccherebbe sotto
il carico e subirebbe
un attacco di Denial of Service autoimposto a causa
della popolarità del sito.
Un bilanciatore di carico agisce essenzialmente
come un poliziotto del traffico,
sedendosi di fronte ai vostri server e instradando
le richieste dei clienti verso i server più disponibili
a soddisfare tali richieste in un determinato momento.
In questo modo si massimizza la velocità di risposta all'utente
e si utilizza in modo più efficiente
tutta la capacità esistente dei server per tutte le
richieste degli utenti.
Il motivo per cui un bilanciatore di carico è così
importante è che è una delle cose principali
che possiamo fare per difenderci da un attacco Denial
of Service o Distributed Denial of Service.
Che cos'è un attacco Denial of Service?
Un attacco di tipo "Denial of Service"
consiste nell'inondare continuamente i sistemi della vittima
con richieste di servizi, facendo
sì che il sistema esaurisca la memoria e alla
fine si blocchi.
Ora, però, la maggior parte dei sistemi
moderni non può essere abbattuta da una singola macchina.
Gli aggressori utilizzano invece un attacco DDoS
o Distributed Denial of Service.
In un attacco Distributed Denial of Service,
invece di un singolo attaccante che prende di mira un
server, ci sono centinaia o addirittura migliaia
di macchine che lanciano simultaneamente l'attacco al server
per metterlo offline.
Nel marzo 2018, ad esempio, GitHub è stato colpito
dal più grande DDoS mai avvenuto, in cui decine
di migliaia di endpoint unici hanno condotto
un attacco coordinato per colpire
il server con un picco di traffico pari a 1,5
milioni di euro. 35 terabit al secondo.
Questo ha costretto il sito a rimanere offline per cinque minuti.
Ma la vera domanda è: come possiamo sopravvivere
a uno di questi attacchi e impedire che distruggano
i server della nostra organizzazione?
Basta guardare ad Amazon per capire quali
sono le migliori pratiche.
Nel febbraio del 2020, Amazon è stata colpita
dal più grande DDoS mai avvenuto, persino più
grande di GitHub.
E c'è stato un attacco coordinato
per colpire quel server con un picco di traffico
che ha misurato 2. 3 terabit al secondo, ma grazie
alla buona architettura di sicurezza di cui dispone e alla
capacità di scalare le risorse per sostenere
l'attacco, non ha subito alcun
downtime durante l'attacco, anche se era del 70%
più grande di quello che ha messo fuori uso
GitHub.
La prima tecnica utilizzata
è nota come blackholing o sinkholing.
Si tratta di una tecnica
che identifica gli indirizzi IP attaccanti e
instrada tutto il loro traffico
verso un server inesistente attraverso un'interfaccia
nulla, bloccando di fatto l'attacco.
Purtroppo, gli aggressori possono sempre spostarsi su un
nuovo IP e ricominciare l'attacco.
Quindi non impedirà per sempre un DDoS, ma vi
farà guadagnare un po' di tempo
mentre lavorate su altre mitigazioni.
Gli IPS, o sistemi di prevenzione delle intrusioni, possono
essere utilizzati anche per identificare
e rispondere agli attacchi Denial of Service.
Questo può funzionare bene per gli attacchi
su piccola scala contro
la rete, ma non ha abbastanza potenza di elaborazione
per gestire un attacco su larga scala, come
quello che ha colpito Amazon.
Uno dei metodi più efficaci è l'utilizzo
di un'infrastruttura cloud elastica, che
consente di scalare su richiesta in base alle necessità, in modo
da poter superare l'attacco.
Il problema di questa strategia, tuttavia,
è che la maggior parte dei fornitori
di servizi addebita il costo in base alla capacità
e alle risorse utilizzate.
Quindi, man mano che si sale di scala,
si riceve una fattura molto più alta dal nostro provider
di servizi cloud e questo può essere
qualcosa per cui non si ottiene
alcun ritorno sull'investimento, perché tutto
quel traffico non generava alcun guadagno per la nostra organizzazione, era solo
parte dell'attacco.
Detto questo, almeno rimarrete online per servire
i vostri clienti paganti.
Si tratta quindi di capire se potete
permettervi di resistere più a lungo di
quanto l'attacco DDoS possa continuare.