fb-pixel

Cos’è un reverse proxy?

Vuoi sapere cos’è un reverse proxy e perché è importante per la sicurezza di un server?

Scopriamo insieme l’importanza di questo sistema che permette di proteggere i server e incrementare le prestazioni.

Cose Un Reverse Proxy

Cos’è un server proxy?

Per poter capire in maniera chiara cos’è un reverse proxy, dobbiamo prima fare un passo indietro per comprendere cos’è un proxy e a cosa serve.

Spiegate in modo molto semplice, le comunicazioni in rete funzionano in questo modo.

Ci sono dei dispositivi, chiamati client, che fanno delle richieste ad altri dispositivi, i server.

Quando nella pratica visitiamo un sito web usiamo il browser, il nostro client, e attraverso di esso facciamo una richiesta al server su cui è ospitato quel sito web. Di conseguenza c’è una comunicazione tra server e client che ci permette di vedere il contenuto delle pagine web.

Navigazione Browser

Questa è una spiegazione molto semplificata di quello che accade.

In realtà la comunicazione non è sempre lineare e può prevedere anche altri intermediari. Ed è qui che entrano in gioco i server proxy.

In parole molto semplici, questo tipo di server si posiziona tra il client e il server e fa proprio da tramite.

A questo punto bisogna distinguere tra diversi tipi di proxy.

Da una parte abbiamo i più comuni, chiamati forward proxy.

I forward proxy si occupano di ricevere tutte le richieste in entrata e in uscita dai client. In questo modo i client non comunicano mai direttamente con l’esterno, ma c’è sempre il proxy a fare da tramite.

Ecco uno schema che ci fa capire questo processo.

Forward Proxy Schema

La funzione di questo tipo di proxy è quella di proteggere il client. Tra i vantaggi ci può essere il fatto che l’indirizzo IP del client viene mascherato e non è quindi direttamente visibile.

Ora che è chiaro questo tipo di processo, passiamo al reverse proxy.

Cos’è un reverse proxy?

Un reverse proxy è un server proxy che viene usato per “schermare” le richieste in entrata e in uscita da uno o più server.

In questo caso, quindi, viene implementato come misura di sicurezza dei server.

In questo modo tutte le richieste dirette a un server, passano prima dal server proxy per poi essere indirizzate al server (o a più server) di destinazione.

Non c’è quindi una comunicazione diretta tra client e server, ma c’è un server proxy che fa da tramite, proprio come viene mostrato in questo schema.

Reverse Proxy Schema

Guardando questo schema diventano più chiari, quindi, anche le definizioni di forward e reverse. I due server proxy, infatti, lavorano in direzioni opposte come si può vedere bene dai due schemi.

Si può implementare il proprio proxy inverso in diversi modi. Per esempio i web server più usati sono Apache e Nginx che possono essere configurati attraverso dei moduli per funzionare da reverse proxy. Anche Varnish può essere configurato come proxy inverso.

Un’alternativa al reverse proxy è quella di utilizzare una rete di distribuzione dei contenuti. Per esempio ci si può affidare a servizi di terze parti tra cui la CDN di Cloudflare.

A cosa serve un reverse proxy?

Un reverse proxy può essere usato per diversi scopi, uno di questi è sicuramente la sicurezza del server, ma non è l’unico.

Vediamo perciò quali sono i casi d’uso più comuni.

Aumentare la sicurezza

I server reverse proxy possono essere impostati per fare da scudo al server su cui sono contenuti i dati veri e propri.

Utilizzando un reverse proxy come tramite, infatti, si può nascondere l’indirizzo IP del server. In questo modo è più difficile per un attaccante riuscire a fare un attacco DDoS.

Inoltre, si può anche avere una migliore gestione del traffico, andando a bloccare indirizzi IP sospetti o dannosi e monitorando in maniera più accurata il traffico in arrivo prima ancora che arrivi sul server.

Migliorare le performance

Un altro utilizzo interessante dei server reverse proxy è il miglioramento delle performance. Si possono, infatti, sfruttare per la cache dei contenuti in modo da distribuire in maniera più rapida le pagine o le applicazioni e avere tempi di caricamento ridotti.

In questo tipo di scenario, quando il reverse proxy riceve una richiesta e memorizza le informazioni in cache, può fornire alla prossima richiesta un accesso più veloce perché deve richiamare i dati dalla cache e non fare un’altra richiesta al server di origine.

Prestazioni Sito

Anche quando solo parte delle informazioni può essere conservata nella cache, si ottiene comunque un miglioramento delle performance grazie a quella parte di dati che può essere memorizzata e quindi fornita più rapidamente.

I server reverse proxy, inoltre, possono essere utilizzati per comprimere i dati, ad esempio attivando la compressione gzip e ridurre ulteriormente il tempo di caricamento.

Crittografare le informazioni

In alcune applicazioni si utilizzano i reverse proxy per la crittografia, per esempio per assicurare che lo scambio di informazioni tra client e server avvenga tramite crittografia SSL.

Questo può avere il vantaggio di ridurre le richieste che devono essere effettuate sul server di origine e quindi incrementare le prestazioni.

Bilanciamento del carico

Il bilanciamento del carico, che in inglese viene chiamato load balancing, consiste nell’utilizzare il server reverse proxy in modo da fare da tramite tra più server e le richieste dei client.

In questo modo si può distribuire in maniera globale l’informazione e quindi avere server distribuiti geograficamente in modo da essere più vicini al pubblico di riferimento.

Server Irragiungibile

Un altro vantaggio è quello di avere a disposizione più server e quindi più risorse in modo da poter far fronte a tanto traffico senza saturare le risorse del server.

Questo tipo di sistema assicura anche la ridondanza e quindi un uptime maggiore. Se, infatti, un errore causa il malfunzionamento di uno dei server, il sito continua ad essere operativo grazie alla presenza degli altri server. In maniera analoga a quello che succede quando si ha un’infrastruttura cloud invece di un server tradizionale.

Conclusioni

Abbiamo visto che un server reverse proxy può essere usato per migliorare la sicurezza e le prestazioni di un server.

Ci permette infatti di limitare il traffico, rendere più difficili gli attacchi e distribuire il traffico in modo da non sovraccaricare i server.

Conoscevi già i vantaggi di un reverse proxy? Facci sapere nei commenti.


Prova gratis e senza impegno uno dei nostri piani hosting per 14 giorni. Non è richiesto nessun dato di pagamento!

Commenti

Lascia un commento

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