Reverse Proxy: Guida di Riferimento 2024

Poter contare su una maggiore sicurezza online non è un lusso di questi tempi, ma piuttosto una necessità senza compromessi. Un reverse proxy è uno dei tanti approcci alla sicurezza che gli esperti di AppSec consigliano di implementare. Progettato per fare di più che filtrare il traffico, un reverse proxy è l’eroe che dovresti imparare a conoscere.

In questo post scopri subito di più sulla differenza tra proxy vs reverse proxy, su come funziona quest’ultimo e come può migliorare la tua sicurezza informatica.

Per saperne di più sui proxy, cliccate qui::

Reverse proxy: le informazioni di base

In un linguaggio tecnico semplice, riguardo a reverse proxy cos’è è un tipo di server che viene posizionato davanti ad applicazioni back-end come server web e che inoltra le richieste dei client. Esiste in più forme, per esempio come app, server web e servizio cloud. In ogni forma, il reverse proxy riceve la richiesta del client, la intercetta e la fa sembrare più autentica.

Reddit Reverse Proxy Review

(In poche parole un reverse proxy in genere termina una connessione esterna alla DMZ (di solito https) ed effettua la connessione alla tua web farm per aumentare la sicurezza, scaricare SSL, semplificare le regole del firewall e fornire il bilanciamento del carico).

Viene utilizzato principalmente in servizi cloud, siti web pesanti e reti di distribuzione di contenuti, da solo o in combinazione con altre tecnologie, dove è responsabile del miglioramento della sicurezza, delle prestazioni complessive e della scalabilità del sistema gestendo o distribuendo efficacemente il carico dei server interni.

Ciò è possibile perché il reverse proxy server riesce a mantenere la cache del contenuto statico, eseguire la compressione dei dati e aggiungere la crittografia ai dati in transito. In genere i reverse proxy sono offerti dai servizi web e sono facilmente accessibili dagli utenti finali tramite la connettività Internet pubblica.

Per quanto riguarda l’implementazione del server reverse proxy, per il suo impianto vengono utilizzati server open source più famosi come Caddy, Nginx reverse proxy e Apache reverse proxy.

Speriamo che ora tu abbia chiaro che cos’è un reverse proxy e nginx reverse proxy docker. È il momento di passare ai suoi vantaggi.

I vantaggi di reverse proxy

Quando utilizzato nel modo opportuno, il reverse proxy dona molteplici benefici, tra cui:

  • Efficace bilanciamento del carico

Per un server di un sito web, il carico di lavoro potrebbe essere troppo pesante da gestire poiché milioni di utenti potrebbero accedere a uno stesso sito in un giorno. Questo traffico eccessivo può esercitare una grande forza sul server del sito e può portare a incidenti come guasti o inattività del server.

La corretta implementazione del reverse proxy iis può essere di grande utilità per eseguire il bilanciamento del carico del traffico. In tal modo, infatti, verrà distribuito efficacemente il traffico in entrata e si assicurerà che il traffico non venga gestito da un singolo server, mettendone più di uno al lavoro.

  • Erogazione continua del servizio

Il reverse proxy mette in azione più server. Questo significa che se un server è inattivo, hai un altro server come backup. Se stai promettendo ai tuoi clienti un sito web sempre attivo, il reverse proxy ti aiuterà a mantenere questa promessa.

  • Migliore protezione della sicurezza informatica

Quando il reverse proxy è in funzione, non è necessario rivelare l’indirizzo IP effettivo. Ciò rende difficile per gli hacker monitorare e individuare le attività di un indirizzo IP specifico. Lo strumento ha una comprovata esperienza nel ridurre efficacemente le possibilità di attacchi DDoS e pericoli informatici.

Attraverso questo reverse proxy puoi anche settare un servizio che normalmente non supporta TLS, e lo rende sicuro da utilizzare al di là del tuo network.

Andando oltre, puoi aggiungere l’autenticazione utente a un servizio che di norma ne ne è sprovvisto (o uno che esegue l’autenticazione secondo un codice di cui non ti fidi molto) settando un .htacesss file.

Per esempio, io ho settato un TiddlyWiki personale perché non ha alcuna autenticazione utente già programmata.

Reddit Reverse Proxy Review 2

  • Goditi il ​​bilanciamento mirato del server globale

Il bilanciamento del server globale è una versione avanzata del bilanciamento del prestito ed è preferito per una gestione efficace del traffico. In questo tipo di bilanciamento del prestito, il funzionamento di un sito web dipende da server sparsi in tutto il mondo, e si ha quando il traffico o la richiesta viene inoltrato al server più vicino all’origine della richiesta/del traffico.

In questo modo, la distanza tra richiesta e risposta si riduce. Poiché la risposta deve percorrere meno distanza, le prestazioni sono sicuramente migliorate.

  • Ottimizzazione della crittografia semplice

L’implementazione della crittografia è necessaria per rendere i dati non rintracciabili. Tuttavia, è difficile implementare la crittografia su ogni richiesta. Con l’aiuto del reverse proxy è facile crittografare tutte le risposte in uscita mantenendo ampia la risorsa serverless di origine.

  • Potente memorizzazione nella cache dei contenuti

Se sei esperto, puoi facilmente utilizzare un proxy inverso per memorizzare nella cache sia contenuto dinamico che statico.

Fondamentalmente distribuisce il traffico e riduce il carico sul server di origine, ed ntrambe queste cose si aggiungono alle prestazioni del sito. La memorizzazione nella cache dei contenuti nel reverse proxy funziona, dunque, in questo modo.

Se un sito web ha il server principale situato in Australia, le richieste provenienti dal Canada riceveranno automaticamente risposta da una versione del sito memorizzata nella cache che deve essere salvata su un server vicino alla posizione della richiesta. Poiché la risposta ha meno distanza da coprire, verrà consegnata rapidamente.

Limiti di Reverse Proxy

Anche se i vantaggi del server reverse proxy inverso sono molti, ci sono anche alcune limitazioni da considerare. Se hai intenzione di utilizzare questo strumento, è consigliabile familiarizzare anche con le restrizioni.

  • L’implementazione del reverse proxy applica automaticamente la crittografia SSL/TLS. Questa crittografia è forte e non consentirà a nessuna app o plug-in di funzionare se viene individuato qualcosa di sospetto.
  • Il reverse proxy renderà le richieste dei client totalmente dipendenti dal proxy. Sebbene sembri buono dal punto di vista della sicurezza, rende difficile l’auditing. Gli esperti di sicurezza di AppSec avranno difficoltà a scoprire quale richiesta è danneggiata poiché le richieste verificate e non verificate provengono dalla stessa fonte.
  • Il reverse proxy richiederà potenza e risorse aggiuntive per mantenere in esecuzione i server back-end. Questo si aggiunge al costo aggiuntivo.

Reverse proxy: in cosa differisce dagli altri server

Un reverse proxy rappresenta una delle tante opzioni di server a disposizione. È dunque bene sapere in cosa differisce rispetto ai suoi concorrenti.

Il proxy effettua le richieste dai client mentre il reverse proxy estrae le richieste dei client.

Il server proxy farà apparire molte richieste come una sola, mentre il reverse proxy farà sembrare molti server come uno solo.

L’utilizzo chiave dei server proxy è il blocco delle richieste, il monitoraggio in tempo reale e la registrazione. Un reverse proxy viene utilizzato principalmente per il bilanciamento del carico, i gateway API, la memorizzazione nella cache e la scansione della sicurezza.

  • Reverse proxy vs forward proxy

Un forward proxy viene posizionato di fronte all’utente e funge da intermediario tra il server e l’utente finale. Ogni richiesta generata dall’utente dovrà passare attraverso il forward proxy prima di raggiungere l’utente finale.

Il reverse proxy accetta le richieste dei client e le inoltra a server diversi.

I server front-end utilizzano il forward proxy, mentre i server interni o back-end utilizzano il reverse proxy.

  • Reverse proxy vs bilanciatore di carico

Il reverse proxy accetta le richieste dei client e le invia a vari server più adatti. D’altra parte, il bilanciamento del carico inoltra una richiesta a un gruppo di server e torna con una risposta adeguata a ogni richiesta.

Installazione di reverse proxy

Dopo tutte le informazioni di cui sopra, ora è necessario conoscere i modi per installare un reverse proxy. Spiegheremo il processo utilizzando Apache, che è un reverse proxy molto famoso.

Consideriamo che tu abbia due siti completamente funzionanti, example.com e sample.domain.com. Di questi due siti, il secondo sito web deve essere un sito WordPress in modo che possa caricare facilmente il blog del dominio principale per il primo sito web al collegamento della sottodirectory example.com/blog.

Una volta assicurato ciò, devi iniziare l’implementazione del server accedendo al terminale del server Apache. Avresti inoltre bisogno di SSH per il lavoro, e devi abilitare anche il modulo proxy di Apache.

Il comando per procedere è il seguente:

sudo a2enmod proxy proxy_http ssl

Il prossimo passo è modificare il file degli host virtuali del server di origine. Questo file è necessario per generare un reverse proxy, e i seguenti codici devono essere aggiunti al file:

<VirtualHost *>

DocumentRoot /var/www/app/public

SSLProxyEngine On ProxyRequests off

ProxyPass /blog http://sample.domain.com

ProxyPassReverse /blog http://sample.domain.com

</VirtualHost>

Nota:“*” verrà sostituito con l’indirizzo IP.

La direttiva ProxyPass utilizzata genererà un reverse proxy per il percorso predefinito. D’altra parte, la direttiva ProxyPassReverse decodificherà le intestazioni di risposta HTTP che il proxy inverso ProxyPass inoltrerà. Dopo aver ricevuto le intestazioni della risposta HTTP, la direttiva le riscriverà in modo che possano facilmente corrispondere alla configurazione del server Apache.

Salva il file e apporta le modifiche nel file wp-config.php. Devi continuare ad aggiungere il codice di seguito fino a quando non ti viene detto di fermarti.

$_SERVER[‘REQUEST_URI’] = ‘/blog’ . $_SERVER[‘REQUEST_URI’];

$_SERVER[‘SCRIPT_NAME’] = ‘/blog’ . $_SERVER[‘SCRIPT_NAME’];

$_SERVER[‘PHP_SELF’] = ‘/blog’ . $_SERVER[‘PHP_SELF’];

Il codice precedente verificherà se le variabili esistono e il tal caso le sovrascriverà. La richiesta viene quindi inviata alla sottodirectory /blog/*.

Infine, aggiorna il database del sito in modo che vengano aggiunti i valori di configurazione per il collegamento alla sottodirectory/blog. La query SQL richiesta per questa attività è:

UPDATE wp_options SET option_value = ‘https://www.example.com/blog’ WHERE option_name IN( ‘siteurl’, ‘home’ );

Dopo aver inserito correttamente questi codici, puoi accedere all’URL https://www.example.com/blog e caricare il sottodominio di http://example.domain.com senza apportare modifiche all’URL.

Per concludere

Un reverse proxy è più di un modo per migliorare la sicurezza del tuo sito web. La sua implementazione di successo porta a prestazioni del sito migliorate, consegna rapida della risposta e ottimizzazione della crittografia SSL. Ora che hai capito cos’è un reverse proxy, non ti resta che provarlo almeno una volta. Sarai in grado di realizzare la sua potenza in pieno svolgimento.

Articoli correlati:

FAQs

Per cosa viene utilizzato un reverse proxy?

Sebbene esistano più vie d’utilizzo del reverse proxy, viene più frequentemente utilizzato per  nascondere l’identità del server di origine, aggiungere protezione contro gli attacchi DDoS, eseguire test A/B e multi-varianti e aggiungere l’autenticazione dell’accesso al server.

Una VPN si può definire un reverse proxy?
Un DNS è un reverse proxy?

Commenti

Scrivi un commento

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