TLS-Prüfung

TLS-verschlüsselter Webtraffic (Transport Layer Security) macht einen Großteil des gesamten Webtraffics aus. Bedrohungsakteure können diese verschlüsselten Kanäle nutzen, um schädliche Angriffe zu starten. Daher ist es wichtig, den TLS-verschlüsselten Traffic vor der Weiterleitung an sein Ziel zu prüfen.

Secure Web Proxy bietet einen TLS-Prüfungsdienst, mit dem Sie den TLS-Traffic abfangen, die verschlüsselte Anfrage prüfen und Sicherheitsrichtlinien erzwingen können.

Auf Grundlage der implementierten Sicherheitsregeln und der Konfiguration der TLS-Prüfung stellt die Secure Web Proxy-Lösung zwei sichere Verbindungen her, eine zum 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 Bestätigung können Sie die gleichen Filter- und Sicherheitskontrollen auf verschlüsselten Traffic anwenden wie auf unverschlüsselten Traffic.

Rolle von Zertifizierungsstellen bei der TLS-Prüfung

Um festzustellen, ob der Secure Web Proxy eine TLS-Verbindung prüfen soll, prüft er das Flag tls_inspection_enabled für seine einzelnen Sicherheitsrichtlinienregeln. Wenn das Flag gesetzt ist und eine TLS-Verbindung erkannt wird, generiert Secure Web Proxy ein neues Serverzertifikat. Dieses Zertifikat wird an den Certificate Authority Service (CAS) gesendet, damit es von Ihrem untergeordneten CA-Pool signiert werden kann. Dieses Zertifikat wird dann dem Client präsentiert und eine TLS-Verbindung wird hergestellt. Das generierte Zertifikat wird für kurze Zeit im Cache gespeichert, damit es bei nachfolgenden Verbindungen zum selben Host verwendet werden kann.

Wenn Sie den TLS-Traffic prüfen möchten, müssen Sie ein Serverzertifikat für den Host generieren, zu dem der Client eine Verbindung herstellen möchte. Dieses Serverzertifikat muss von einer vom Unternehmen verwalteten, privaten Zertifizierungsstelle signiert werden. Nur Clients, die so konfiguriert sind, dass diese private Zertifizierungsstelle als vertrauenswürdig eingestuft wird, 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, über die Ihre Organisation administrative Kontrolle hat.

Nicht alle TLS-Verbindungen können auch auf Computern abgefangen werden, über die die Organisation administrative Kontrolle hat. Dies liegt daran, dass einige Clients (insbesondere die in andere Anwendungen eingebetteten) hartcodiert sind und nur bestimmte oder von bestimmten Zertifizierungsstellen signierte Serverzertifikate akzeptieren. Dies wird als Zertifikat-Pinning bezeichnet. Software-Updates für Microsoft Windows, macOS und Google Chrome sind Beispiele. Solche Verbindungen schlagen bei einer TLS-Prüfung fehl. Dies liegt daran, dass der öffentliche Schlüssel und die CA-Kette des Serverzertifikats, das Secure Web Proxy dem Client vorlegt, nicht mit den lokal gespeicherten Parametern übereinstimmen.

Wenn eine Regel zur Prüfung von TLS-Traffic konfiguriert ist, der Client jedoch den vom Secure Web Proxy bereitgestellten Inspektionszertifikaten nicht vertraut, schlägt die Verbindung fehl. In diesen Fällen unterbricht die TLS-Prüfung Client-Server-Verbindungen, auch wenn der Server vertrauenswürdig ist. Sie können dieses Problem umgehen, indem Sie 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 (mit FQDN), Quellen (mithilfe von sicheren Tags, Dienstkonten oder IP-Adressen) und mithilfe des Attributs SessionMatcher einer Regel beschränken.

Unterstützte Features

Die TLS-Prüfung von Secure Web Proxy unterstützt die folgenden Features:

  • Enge Einbindung in CAS, ein hochverfügbares und skalierbares 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 CAs zu signieren, die von CAS geführt werden. Wenn Sie möchten, können Sie in CAS ein neues Root-Zertifikat generieren.
  • Detaillierte Entschlüsselungskriterien mithilfe von SessionMatcher in den Secure Web Proxy-Richtlinienregeln. Diese Kriterien umfassen übereinstimmende Hosts in URL-Listen, regulären Ausdrücken, IP-Adressbereichen und ähnlichen Ausdrücken. 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 können mehrere Secure Web Proxy-Richtlinien dieselbe TLS-Prüfungsrichtlinie gemeinsam nutzen.

Gängige Anwendungsfälle

Sie können die TLS-Prüfung mit einer der folgenden Methoden aktivieren:

  • Verwenden Sie eine vorhandene Stamm-CA, um untergeordnete CAs zu signieren, die innerhalb von CAS geführt werden. Eine untergeordnete CA innerhalb von CAS wird zum Signieren von Serverzertifikaten verwendet, die zur Laufzeit generiert werden.

  • Verwenden Sie eine vorhandene extern geführte Stammzertifizierungsstelle (nicht in CAS), um untergeordnete Zertifizierungsstellen zu signieren. Wenn die untergeordneten CAs von Ihrer Stammzertifizierungsstelle signiert werden, können Sie damit Serverzertifikate signieren, die zur Laufzeit generiert werden.

  • Verwenden Sie ein in CAS generiertes Root-Zertifikat. Nachdem Sie das Root-Zertifikat erstellt haben, erstellen Sie eine untergeordnete Zertifizierungsstelle, die von Ihrer neuen Root-Zertifizierungsstelle signiert wurde. Diese untergeordnete Zertifizierungsstelle wird zum Signieren von Serverzertifikaten verwendet, die zur Laufzeit generiert werden.

Weitere Informationen zu diesen Methoden finden Sie unter Untergeordneten CA-Pool erstellen.