Panoramica dell'ispezione TLS

Il traffico web criptato con Transport Layer Security (TLS) rappresenta un'ampia parte di tutto il traffico web e gli utenti malintenzionati possono utilizzare questi canali criptati per lanciare attacchi dannosi. Di conseguenza, è fondamentale controllare il traffico criptato TLS prima di inoltrarlo alla sua destinazione.

Secure Web Proxy offre un servizio di ispezione TLS che consente di intercettare il traffico TLS, ispezionare la richiesta criptata e applicare criteri di sicurezza.

Sulla base delle regole di sicurezza implementate e della configurazione dell'ispezione TLS, la soluzione Secure Web Proxy stabilisce due connessioni sicure, una con il client e un'altra con il server esterno. La soluzione Secure Web Proxy analizza quindi il traffico tra le due connessioni protette. Dopo la verifica, puoi applicare al traffico criptato gli stessi controlli di filtro e sicurezza che adotti per il traffico non criptato.

Ruolo delle autorità di certificazione nell'ispezione TLS

Per determinare se il proxy web sicuro deve ispezionare una connessione TLS, controlla il flag tls_inspection_enabled sulle singole regole del criterio di sicurezza. Se il flag è impostato e viene rilevata una connessione TLS, Secure Web Proxy genera un nuovo certificato del server. Invia il certificato al Certificate Authority Service (CAS) affinché venga firmato dal pool di autorità di certificazione (CA) subordinato. Il certificato viene quindi presentato al client e viene stabilita una connessione TLS. Il certificato generato viene memorizzato nella cache per un breve periodo di tempo per essere utilizzato in connessioni successive allo stesso host.

Se vuoi ispezionare il traffico TLS, devi generare un certificato server per l'host a cui il client sta tentando di connettersi. Una CA privata e gestita dall'organizzazione deve firmare questo certificato del server. Soltanto i client configurati per considerare attendibile questa CA privata considerano attendibili i certificati server generati. Sono inclusi browser e client HTTP incorporati. Di conseguenza, l'ispezione TLS può essere utilizzata solo per intercettare e ispezionare le connessioni TLS dai client sui quali la tua organizzazione ha il controllo amministrativo.

Non tutte le connessioni TLS possono essere intercettate correttamente, anche su macchine su cui l'organizzazione ha controllo amministrativo. Questo perché alcuni client (in particolare quelli incorporati in altre applicazioni) sono impostati come hardcoded per accettare solo certificati server specifici o firmati da specifiche CA (una pratica nota come blocco dei certificati). Gli aggiornamenti software di Microsoft Windows, MacOS e Google Chrome sono solo alcuni esempi. Queste connessioni non riescono in presenza di ispezione TLS. Questo accade perché la chiave pubblica e la catena CA del certificato del server presentato da Secure Web Proxy al client non corrispondono ai parametri archiviati localmente.

Se una regola è configurata per ispezionare il traffico TLS, ma il client non considera attendibili i certificati di ispezione presentati da Secure Web Proxy, la connessione non riesce. In questi casi, è noto che l'ispezione TLS interrompe le connessioni client-server anche se il server è attendibile. Per ovviare a questa situazione, puoi aggiungere regole per ignorare l'ispezione TLS per criteri specifici. Puoi anche limitare l'ispezione TLS a host di destinazione specifici (utilizzando il nome di dominio completo), origini (utilizzando tag protetti, account di servizio o indirizzo IP) e utilizzando l'attributo SessionMatcher di una regola.

Funzionalità supportate

L'ispezione TLS tramite Secure Web Proxy supporta le seguenti funzionalità:

  • Stretta integrazione con CAS, un repository ad alta disponibilità e scalabile per le CA private.
  • La possibilità di utilizzare la tua radice di attendibilità, se necessario. Puoi anche utilizzare una CA radice esistente per firmare per le CA subordinate detenute da CAS. Se preferisci, puoi generare un nuovo certificato radice in CAS.
  • Criteri di decriptazione granulari mediante l'utilizzo di SessionMatcher nelle regole dei criteri di Secure Web Proxy. Questo criterio include gli host corrispondenti presenti in elenchi di URL, espressioni regolari, intervalli di indirizzi IP ed espressioni simili. Se necessario, i criteri possono essere combinati con le espressioni booleane.
  • Ogni criterio di Secure Web Proxy può essere configurato con il proprio criterio di ispezione TLS e il proprio pool di CA. In alternativa, più criteri Secure Web Proxy possono condividere un singolo criterio di ispezione TLS.

Casi d'uso comuni

Per abilitare l'ispezione TLS, puoi utilizzare uno dei seguenti metodi:

  • Utilizza una CA radice esistente per firmare le CA subordinate conservate all'interno di CAS. Una CA subordinata detenuta all'interno di CAS viene utilizzata per firmare i certificati server generati durante il runtime.

  • Utilizza una CA radice esistente tenuta esternamente (non nelle CA) per firmare le CA subordinate. Quando le CA subordinate sono firmate dalla CA radice, puoi utilizzarle per firmare i certificati server generati durante il runtime.

  • Utilizza un certificato radice generato all'interno di CAS. Dopo aver creato il certificato radice, crei una CA subordinata firmata dalla nuova CA radice. Questa CA subordinata viene utilizzata per firmare i certificati server generati in fase di runtime.

Per ulteriori informazioni su questi metodi, consulta Creare un pool di CA subordinato.