Vai al contenuto

Proxy di terminazione TLS

Da Wikipedia, l'enciclopedia libera.
Il traffico HTTPS in ingresso viene decriptato e inoltrato a un servizio web all’interno della rete privata.

Un TLS termination proxy (chiamato anche SSL termination proxy o SSL offloading) è un proxy server che funge da punto intermedio tra applicazioni client e server, e viene utilizzato per terminare e/o stabilire tunnel TLS (o DTLS) decrittando e/o cifrando le comunicazioni.

Questo è diverso dai TLS pass-through proxy, che inoltrano il traffico (D)TLS cifrato tra client e server senza terminare il tunnel.

I proxy di terminazione TLS possono essere utilizzati per:

  • mettere in sicurezza comunicazioni in chiaro su reti non affidabili incapsulandole in tunnel (D)TLS;
  • consentire l’ispezione del traffico cifrato da parte di un sistema di intrusion detection per rilevare e bloccare attività dannose;
  • permettere la sorveglianza di rete e l’analisi del traffico cifrato;
  • abilitare integrazioni altrimenti non supportate con altre applicazioni che offrono funzionalità aggiuntive, come il content filtering o un Hardware Security Module;
  • abilitare versioni, estensioni o funzionalità del protocollo (D)TLS (ad es. OCSP stapling, ALPN, DANE, CT validation, ecc.) non supportate dalle applicazioni client o server, per migliorarne compatibilità e/o sicurezza;
  • aggirare implementazioni (D)TLS difettose o insicure nelle applicazioni client o server, per migliorarne compatibilità e/o sicurezza;
  • fornire autenticazione aggiuntiva basata su certificati, non supportata dalle applicazioni o dai protocolli lato server e/o client;
  • offrire un ulteriore livello di sicurezza (defence-in-depth) per un controllo centralizzato e una gestione coerente della configurazione (D)TLS e delle relative policy di sicurezza;
  • ridurre il carico sui server principali delegando l’elaborazione crittografica a un’altra macchina.

I proxy di terminazione TLS possono fornire tre modelli di connettività:[1]

  • TLS Offloading di una connessione (D)TLS in ingresso e cifrata proveniente da un client, inoltrando poi le comunicazioni verso il server tramite una connessione in chiaro.
  • TLS Encryption di una connessione in chiaro in ingresso proveniente da un client, inoltrando poi le comunicazioni verso il server tramite una connessione (D)TLS cifrata.
  • TLS Bridging tra due connessioni (D)TLS cifrate, per consentire l’ispezione e il filtraggio del traffico cifrato: la connessione (D)TLS in ingresso dal client viene decrittata e poi nuovamente cifrata tramite un’altra connessione (D)TLS verso il server.

Combinare un TLS Encrypting proxy davanti al client con un TLS Offloading proxy davanti al server può permettere di aggiungere cifratura e autenticazione (D)TLS a protocolli e applicazioni che normalmente non la supportano, con i due proxy che mantengono un tunnel (D)TLS sicuro attraverso segmenti di rete non affidabili tra client e server.

Un proxy utilizzato dai client come gateway intermedio per tutte le connessioni in uscita è generalmente chiamato Forward proxy, mentre un proxy utilizzato dai server come gateway intermedio per tutte le connessioni in ingresso è generalmente chiamato Reverse proxy.

I Forward TLS bridging proxy che permettono a un sistema di intrusion detection di analizzare tutto il traffico dei client sono solitamente commercializzati come “SSL Forward Proxy”.

I proxy TLS Offloading e TLS Bridging di solito devono autenticarsi ai client con un certificato digitale usando l’autenticazione PKIX o DANE (autenticazione basata su DNS delle entità denominate).[2]

Di norma, l’operatore del server fornisce al proprio reverse proxy un certificato valido da utilizzare durante l’handshake (D)TLS con i client.

Un operatore di forward proxy, invece, deve creare una propria CA privata, installarla nel trust store di tutti i client e fare in modo che il proxy generi in tempo reale un nuovo certificato, firmato dalla CA privata, per ogni server a cui un client tenta di connettersi.

Quando il traffico di rete tra client e server viene instradato tramite un proxy, questo può operare in modalità trasparente, utilizzando l’indirizzo IP del client al posto del proprio per connettersi al server e l’indirizzo IP del server quando risponde al client. Se un Transparent TLS Bridging Proxy possiede un certificato server valido, né il client né il server sarebbero in grado di rilevare la presenza del proxy.

Un avversario che abbia compromesso la chiave privata del certificato digitale del server o che sia in grado di utilizzare CA PKIX compromesse o coercitive per emettere un nuovo certificato valido per il server, potrebbe eseguire un attacco man-in-the-middle, instradando il traffico TLS tra client e server attraverso il proxy trasparente, con la possibilità di copiare le comunicazioni decriptate, incluse le credenziali di accesso, e modificare i contenuti delle comunicazioni in tempo reale senza essere rilevato.

  1. ^ Infrastructure Layouts Involving TLS, su haproxy.com.
  2. ^ Funzionamento dell'autenticazione basata su DNS SMTP delle entità denominate (DANE), su learn.microsoft.com. URL consultato il 19 novembre 2025.