Der mit TLS (Transport Layer Security) verschlüsselte Webtraffic macht einen großen Teil des gesamten Webtraffics aus. Bedrohungsakteure können diese verschlüsselten Kanäle für schädliche Angriffe nutzen. Daher ist es wichtig, den TLS-verschlüsselten Traffic zu prüfen, bevor er an sein Ziel weitergeleitet wird.
Secure Web Proxy bietet einen TLS-Prüfdienst, mit dem Sie TLS-Traffic abfangen, die verschlüsselte Anfrage prüfen und Sicherheitsrichtlinien erzwingen können.
Basierend auf den implementierten Sicherheitsregeln und der TLS-Prüfungskonfiguration stellt die Secure Web Proxy-Lösung zwei sichere Verbindungen her, eine mit dem Client und eine mit dem externen Server. Die Secure Web Proxy-Lösung prüft dann den Traffic zwischen den beiden sicheren Verbindungen. Nach erfolgreicher Überprüfung können Sie dieselben Filter- und Sicherheitskontrollen auf verschlüsselten Traffic anwenden wie auf unverschlüsselten Traffic.
Rolle der Zertifizierungsstellen bei der TLS-Prüfung
Um zu ermitteln, ob der Secure Web Proxy eine TLS-Verbindung prüfen soll, wird das Flag tls_inspection_enabled
in den einzelnen Sicherheitsrichtlinienregeln geprüft. Wenn das Flag gesetzt ist und eine TLS-Verbindung erkannt wird, generiert Secure Web Proxy ein neues Serverzertifikat. Dieses Zertifikat wird an den CA Service gesendet, um von Ihrem untergeordneten CA-Pool signiert zu werden.
Dieses Zertifikat wird dann dem Client präsentiert und es wird eine TLS-Verbindung hergestellt. Das generierte Zertifikat wird für kurze Zeit im Cache gespeichert, um für nachfolgende Verbindungen zum selben Host verwendet zu werden.
Wenn Sie TLS-Traffic prüfen möchten, müssen Sie ein Serverzertifikat für den Host generieren, mit dem der Client eine Verbindung herstellen möchte. Dieses Serverzertifikat muss von einer von der Organisation verwalteten privaten Zertifizierungsstelle signiert werden. Nur Clients, die so konfiguriert sind, dass sie dieser privaten Zertifizierungsstelle vertrauen, vertrauen diesen generierten Serverzertifikaten. Dazu gehören Browser und eingebettete HTTP-Clients. Daher kann die TLS-Prüfung nur verwendet werden, um TLS-Verbindungen von Clients abzufangen und zu prüfen, für die Ihre Organisation die Administratorrechte hat.
Nicht alle TLS-Verbindungen können abgefangen werden, auch nicht auf Maschinen, für die die Organisation die Administratorrechte hat. Das liegt daran, dass einige Clients (insbesondere solche, die in anderen Anwendungen eingebettet sind) so hartcodiert sind, dass sie nur bestimmte Serverzertifikate oder solche akzeptieren, die von bestimmten Zertifizierungsstellen signiert wurden (eine Praxis, die als Zertifikats-Pinning bezeichnet wird). Beispiele hierfür sind Softwareupdates für Microsoft Windows, macOS und Google Chrome. Solche Verbindungen schlagen bei einer TLS-Prüfung fehl. Das liegt daran, dass der öffentliche Schlüssel und die CA-Kette des Serverzertifikats, das der Secure Web Proxy dem Client vorlegt, nicht mit den lokal gespeicherten Parametern übereinstimmen.
Wenn eine Regel für die Prüfung von TLS-Traffic konfiguriert ist, der Client aber den Prüfzertifikaten von Secure Web Proxy nicht vertraut, schlägt die Verbindung fehl. In diesen Fällen ist bekannt, dass die TLS-Prüfung Client-Server-Verbindungen unterbricht, auch wenn der Server vertrauenswürdig ist. Sie können Regeln hinzufügen, um die TLS-Prüfung für bestimmte Kriterien zu umgehen. Sie können die TLS-Prüfung auch auf bestimmte Zielhosts (mithilfe von FQDN), Quellen (mithilfe von sicheren Tags, Dienstkonten oder IP-Adressen) und mithilfe des SessionMatcher
-Attributs einer Regel beschränken.
Unterstützte Features
Die TLS-Prüfung des Secure Web Proxy unterstützt die folgenden Funktionen:
- Enge Integration mit CAS, einem hochverfügbaren und skalierbaren Repository für private Zertifizierungsstellen.
- Die Möglichkeit, bei Bedarf Ihren eigenen Root of Trust zu verwenden. Sie können auch eine vorhandene Stamm-CA verwenden, um für untergeordnete Zertifizierungsstellen zu signieren, die von CAS gehalten werden. Alternativ können Sie auch ein neues Stammzertifikat in CAS generieren.
- Detaillierte Entschlüsselungskriterien mithilfe von
SessionMatcher
in Secure Web Proxy-Richtlinien Dazu gehören übereinstimmende Hosts in URL-Listen, reguläre Ausdrücke, IP-Adressbereiche und ähnliche Ausdrücke. Bei Bedarf können Kriterien mit booleschen Ausdrücken kombiniert werden. - Jede Secure Web Proxy-Richtlinie kann mit einer eigenen TLS-Prüfungsrichtlinie und einem eigenen CA-Pool konfiguriert werden. Alternativ kann eine einzelne TLS-Prüfungsrichtlinie für mehrere Secure Web Proxy-Richtlinien verwendet werden.
Gängige Anwendungsfälle
Sie können eine der folgenden Methoden verwenden, um die TLS-Prüfung zu aktivieren:
Verwenden Sie eine vorhandene Stamm-CA, um untergeordnete CAs in CAS zu signieren. Eine untergeordnete Zertifizierungsstelle in CAS wird zum Signieren von Serverzertifikaten verwendet, die zur Laufzeit generiert werden.
Verwenden Sie eine vorhandene externe Stamm-CA (nicht in CAS), um untergeordnete CAs zu signieren. Wenn die untergeordneten Zertifizierungsstellen von Ihrer Stammzertifizierungsstelle signiert sind, können Sie sie zum Signieren von Serverzertifikaten verwenden, die zur Laufzeit generiert werden.
Verwenden Sie ein in CAS generiertes Stammzertifikat. Nachdem Sie das Stammzertifikat erstellt haben, erstellen Sie eine untergeordnete Zertifizierungsstelle, die von Ihrer neuen Stamm-CA signiert wird. Diese untergeordnete Zertifizierungsstelle wird zum Signieren von Serverzertifikaten verwendet, die zur Laufzeit generiert werden.
Weitere Informationen zu diesen Methoden finden Sie unter Pool mit untergeordneter Zertifizierungsstelle erstellen.