Spiegare il load balancing è semplice: è un processo col quale si assegnano richieste di rete multiple a macchine o servizi diversi. Si tratta, tuttavia, di una definizione fuorviante, perché racchiude una vasta quantità di tecniche, modelli e strategie che fanno la differenza tra un servizio di streaming fluido e senza incertezze e uno zoppicante a più non posso.
E non si tratta solo di prestazioni: da qualche anno il load balancing riveste un ruolo di primaria importanza anche nella cyber security. Per la gestione della ridondanza, per esempio, ma anche per garantire prestazioni sufficienti nel corso di un attacco DDoS.
Indice degli argomenti
Load balancer: due tipologie
Benché la suddivisione in categorie non si sposi bene col load balancing, in linea di massima possiamo trovarne di due tipi principali. Inutile dire che questi si rifanno al mai troppo lodato modello OSI. Sulla base di questo schema a sette livelli (physical, data link, network, transport, session, presentation, application), che indentificano in un senso e nell’altro la trasmissione dei dati in una rete, il load balancing può essere effettuato a livello 4 o a livello 7.
Il livello 4 è casa di protocolli quali UDP e TCP, ma anche di SCTP, DCCP e molti altri. Quelli dedicati al trasporto delle informazioni, appunto. È per questa ragione che un load balancing di questo tipo si basa essenzialmente sugli indirizzi IP e al più sui network socket, su cui si basa per smistare e ottimizzare il traffico.
Il bello del layer 7
Si tratta di una tipologia di load balancing molto semplice, veloce ed efficiente, ma non molto “intelligente” e adattabile in tempo reale, poiché non prevede la modifica di informazioni quali URL, descriptor, cookie e via dicendo. Proprio per questo, il load balancing di livello 4 non si può utilizzare nel crescente settore dei microservice.
È per questa ragione che, in molti casi, si predilige l’utilizzo del load balancing a livello 7, che prevede la decodifica dei dati contenuti nei pacchetti e, quindi, un’ottimizzazione raffinata del traffico, perché è possibile deviarlo a seconda della tipologia.
Questione di certificati
Un load balancer di livello 7 si configura certo come una soluzione moderna e versatile ma, tanto per essere chiari, pone dei problemi di sicurezza fin dal principio. Dato che la decodifica dei dati prevede la condivisione di certificati proprio col load balancer, un attacco a quest’ultimo dà accesso diretto ai dati trasmessi, vanificando buona parte del lavoro fatto a livello di cyber security.
Esistono, tuttavia, numerose tecniche e accorgimenti per bloccare sul nascere attacchi di questo tipo, come per esempio la generazione di certificati temporanei utilizzati solo dal load balancer.
A questo punto, protette le basi della tecnologia, è il momento di chiedersi cosa può fare per noi quando si parla di sicurezza.
Un aiuto per il monitoraggio
Le ragioni del successo del load balancing nel campo della cybersecurity affondano, non serve nemmeno dirlo, proprio nel livello di ottimizzazione che la tecnologia è in grado di garantire. E per un motivo semplice ma spesso ignorato: ottimizzare il traffico in ingresso significa ottimizzare il lavoro dei sistemi di monitoraggio in tempo reale. Un traffico elevato, infatti, rischia di sovraccaricare un sistema di monitoraggio inadeguato, e a quel punto o si lascia tutto com’è, con i rischi annessi del caso, oppure si è costretti a onerosi potenziamenti che potrebbero essere evitati.
Il load balancing ottimizza anche la cyber security
Scalare il traffico a seconda delle esigenze è uno dei metodi più efficaci ed economici per sfruttare al massimo i sistemi di monitoraggio attivo. Sia perché, in questo modo, è possibile mantenere un adeguato livello di analisi dei pacchetti, sia perché si evitano dei DDoS auto-indotti.
Il load balancing, oltre alla sua funzione di ottimizzazione del traffico, rappresenta anche un ulteriore livello di protezione della rete. Fisicamente, infatti, si interpone tra rete interna e applicativi esterni, e questo aspetto si tramuta in opportunità dal punto di vista della sicurezza. Per esempio, integrando una soluzione aggiuntiva di application security, ma anche impostando policy per la compliance dei dati gestiti dal load balancer. Il tutto può essere arricchito da soluzioni di intelligenza artificiale che, tra l’altro, sono sempre più utilizzate nel load balancing per bilanciare, appunto, i carichi di dati.
Cloud Enterprise security: l’approccio giusto per la sicurezza delle infrastrutture aziendali
Un ausilio per la threat intelligence
Un load balancer sul layer 7, in buona sostanza, può agire sulla base di parametri quali connessione e disconnesione, tipologia di pacchetti, geo-localizzazione, e si tratta di informazioni preziose anche a livello di threat intelligence.
Senza contare che questa forma di scremature permette, per esempio, di veicolare traffici di rete particolari, come per esempio quelli crittografati SSL o TLS, verso appositi server. Sia per alleggerire il resto del traffico dalle pesanti operazioni di decodifica e codifica, sia per concentrare le risorse di sicurezza laddove è più necessario.
Load balancing per tutti
Per non parlare, ca va sans dire, dell’utilità del load balancing nel controllo e mitigazione degli attacchi DDoS. Un utilizzo talmente ovvio che Cloudflare, tanto per fare un esempio, insieme alle sue soluzioni offre proprio un servizio di load balancing derivato da quello utilizzato internamente.
Quello del load balancing è un settore molto ben collaudato e dai continui sviluppi, ma spesso ignorato da realtà medio-piccole che lo vedono come una soluzione sovradimensionata rispetto alle proprie esigenze. Detto che non esiste tecnologia scalabile come un load balancer, che per questo è adatto a tutti, da oggi vale la pena darci un’occhiata anche come ausilio in un efficacia programma di cyber security.