fbpx

Mitigare un DDoS con Route53

Negli ultimi anni, gli amministratori di sistema sempre più spesso sentono l’esigenza di trovare strumenti per difendersi da attacchi DoS o DDoS. La diffusione di questo tipo di attacchi in futuro sarà sempre maggiore al crescere della capacità di banda delle connessioni casalinghe e non solo, ma anche per il diffondersi dell’IoT.

Diamo una rapida definizione di un attacco DoS e DDoS.

DoS: acronimo di Denial Of Service, ovvero negazione del servizio, esaurire deliberatamente le risorse di un sistema esposto su Internet.

DDoS: aggiunge all’attacco precedente il Distributed. Mentre il primo attacco molto spesso proviene da un’unica fonte e tende a saturare le risorse, il DDoS sfrutta una serie di dispositivi zombie, che tutti insieme e coordinati da un Botmaster, formano una Botnet.

DDOS
fonte: https://it.wikipedia.org/wiki/Botnet

Gli attacchi appena descritti, di solito, si concentrano sui layers 3,4 e 7 del Modello OSI. Descriviamo sommariamente i tipi di attacchi più diffusi, anche se non è il tema dell’articolo.

L3: Di solito qui troviamo attacchi di tipo volumetrico (es: Flood UDP)

L4: In questo layer troviamo attacchi volti a creare disturbo verso servizi intermedi della nostra infrastruttura come Firewall Load Balancers. (es: TCP Syn-Flood)

L7: Attacchi applicativi progettati per saturare le risorse del sistema. Per esempio effettuare molteplici richieste, HTTP (GET, POST, etc…), da una Botnet su uno stack LAMP/LEMP che possono bloccare un server web, visto che per ogni richiesta vengono consumate  risorse hardware. Se moltiplichiamo queste richieste per numeri molto elevati, si può incorrere in un blocco del servizio.

In questa guida ci occuperemo di mitigare gli attacchi di livello 7, utilizzando Route53 di AWS. Abbiamo evidenziato il termine mitigare perchè attacchi di denial of service difficilmente si bloccano completamente, più spesso se ne limitano le conseguenze.

Amazon AWS vi protegge già da alcuni attacchi DoS/DDoS utilizzando i loro servizi. Per esempio se si usa:

  • Elastic Load Balancing
  • Application Load Balancer
  • Cloudfront
  • Web App Firewall
  • WAF
  • Shield

Un servizio poco noto per la protezione da attacchi DoS/DDoS è Route53. Questo servizio, da solo o in aggiunta con altri servizi AWS, può mitigare notevolmente un attacco DoS/DDoS verso la vostra infrastruttura.

La prima cosa da fare è accedere alla console Route53 del nostro dominio. Nel nostro esempio useremo:

applicazione.dominio.tld

Nella console Route53 abbiamo creato 2 record CNAME applicazione che puntano a due host diversi:

Mitigate DDOS Route53

Il primo punta alla nostra applicazione web, il secondo ad un bucket s3 configurato come virtual host (abbiamo già descritto in una guida precedente come configurarlo).

Rispetto alla normale configurazione di un record CNAME, sono presenti i tag Geolocation, necessari per indirizzare il traffico in base alla provenienza geografica dell’ip che sta richiedendo la risorsa.

In questo nostro esempio abbiamo scelto di indirizzare tutto il traffico proveniente dal territorio Italiano verso il record CNAME applicazione-web.dominio.tld. 

Mentre tutto il resto del traffico mondiale lo abbiamo indirizzato ad una pagina o sito statico, presente su S3.

Il traffico proveniente dal territorio nazionale verrà indirizzato alla nostra applicazione, mentre tutto il resto sfrutterà i server HTTP di S3, servendo una semplice pagina HTML di cortesia. In questo modo gran parte del traffico verrà assorbito dai web server S3 evitando una negazione di servizio della nostra applicazione per i nostri clienti italiani.

Prima di scegliere cosa accettare o meno è necessario individuare quale è il target territoriale di richieste che accettiamo. Se la nostra applicazione non è indirizzata al mercato globale ma può essere limitata geograficamente allora questa soluzione è praticabile.

Molto spesso gli attacchi di Layer-7 provengono da paesi specifici dove organizzazioni cyber criminali si sono diffuse. Con questo sistema possiamo escludere tali paesi o continenti.

Per semplificare abbiamo scelto un tipo di configurazione base, ma nessuno ci vieta di organizzare il traffico DNS in base a nazioni o continenti, anche con l’ausilio di Cloudfront. Una configurazione alternativa, rispetto al nostro esempio, potrebbe essere quella di accettare il traffico proveniente da tutto il mondo tranne una o più nazioni/continenti. Ovviamente configurando opportunamente i CNAME per non creare conflitti.

Con questo semplice utilizzo della Geolocation di Route53 possiamo avere una protezione in più rispetto ad attacchi L7 verso la nostra applicazione, attivandola all’occorrenza.

Questa è una semplice guida su come avere uno strumento di difesa in più da attacchi DDoS utilizzando Route53 in modo molto semplice. AWS offre strumenti completi  e professionali per difendersi dagli attacchi, come WAF (Web Application Firewall) o AWS Shield, che vanno presi in considerazione quando gli attacchi diventano più elaborati.

Alla prossima.

Se sei uno sviluppatore appassionato e curioso… scopri come unirti a noi!

Loreno Edelmondo
Loreno Edelmondo
Articoli: 24

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.