IDP SSL Inspection
Secure Sockets Layer (SSL), auch Transport Layer Security (TLS) genannt, ist eine Protokollsuite für Websicherheit, die Authentifizierung, Vertraulichkeit und Nachrichtenintegrität bietet. Die Authentifizierung schützt vor betrügerischen Übertragungen, indem sie es einem Webbrowser ermöglicht, die Identität eines Webservers zu validieren. Vertraulichkeitsmechanismen stellen sicher, dass die Kommunikation privat ist. SSL setzt die Vertraulichkeit durch verschlüsselung von Daten durch, um zu verhindern, dass unbefugte Benutzer elektronische Kommunikation abhören. Schließlich stellt die Nachrichtenintegrität sicher, dass der Inhalt einer Kommunikation nicht manipuliert wurde.
Weitere Informationen finden Sie in den folgenden Themen:
IDP SSL – Überblick
Jede SSL-Sitzung beginnt mit einem Handshake, bei dem Client und Server sich auf den spezifischen Sicherheitsschlüssel und die Verschlüsselungsalgorithmen einigen, die für diese Sitzung verwendet werden sollen. Zu diesem Zeitpunkt authentifiziert der Client auch den Server. Optional kann der Server den Client authentifizieren. Sobald der Handshake abgeschlossen ist, kann die Übertragung von verschlüsselten Daten beginnen.
Juniper Networks bietet Intrusion Detection and Prevention (IDP) SSL-Prüfung, die die SSL-Protokollsuite verwendet, die aus verschiedenen SSL-Versionen, Chiffren und Schlüsselaustauschmethoden besteht. In Kombination mit der Funktion zur Anwendungsidentifizierung können Geräte der SRX-Serie den in SSL verschlüsselten HTTP-Datenverkehr an jedem Port überprüfen. Die folgenden SSL-Protokolle werden unterstützt:
SSLv2
SSLv3
TLS
Siehe auch
Unterstützte IDP-SSL-Ciphers
Eine SSL-Chiffre besteht aus Verschlüsselungschiffre, Authentifizierungsmethode und Kompression. Junos OS unterstützt alle VON OPENSSL unterstützten Chiffren, die nicht mit der Verwendung temporärer privater Schlüssel verbunden sind. Für die Authentifizierung werden die Authentifizierungsmethoden NULL, MD5 und SHA-1 unterstützt.
Kompression und SSLv2-Chiffren werden nicht unterstützt. Derzeit aktualisieren die meisten SSL-Server automatisch auf eine TLS-Chiffre, wenn eine SSLv2-Chiffre in einer Client-Nachricht "Hallo" empfangen wird. Überprüfen Sie Ihren Browser, um zu sehen, wie stark die Chiffren sein können und welche Ihr Browser unterstützt. (Wenn die Chiffre nicht in der Liste der unterstützten Chiffren enthalten ist, wird die Sitzung bei der Deep Packet Inspection ignoriert.)
Tabelle 1 zeigt die Verschlüsselungsalgorithmen, die von den Geräten der SRX-Serie unterstützt werden.
Cipher | Exportable | Type | Key Material | Expanded Key Material | Effektive Schlüsselbits | IV Größe |
---|---|---|---|---|---|---|
NULL |
Nein |
Stream |
0 |
0 |
0 |
Nicht-/A-nen |
DES-CBC-SHA |
Nein |
Block |
8 |
8 |
56 |
8 |
DES-CBC3-SHA |
Nein |
Block |
24 |
24 |
168 |
8 |
AES128-SHA |
Nein |
Block |
16 |
16 |
128 |
16 |
AES256-SHA |
Nein |
Block |
32 |
32 |
256 |
16 |
Weitere Informationen zu Verschlüsselungsalgorithmen finden Sie unter IPsec VPN Overview. Tabelle 2 zeigt die unterstützten SSL-Chiffren.
Cipher Suites – | Wert |
---|---|
TLS_RSA_WITH_NULL_MD5 TLS_RSA_WITH_NULL_SHA TLS_RSA_WITH_DES_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA |
0x0001 0x0002 0x0009 0x000A 0x002F 0x0035 |
RC4- und IDEA-Chiffren werden aufgrund der Verfügbarkeit von Lizenzen und OPENSSL-Bibliotheken nicht unterstützt.
Grundlegendes zu IDP Internet Key Exchange
Internet Key Exchange (IKE) stellt einen Premaster-Geheimschlüssel fest, der zur Erstellung symmetrischer Schlüssel für die Verschlüsselung und Authentifizierung von Massendaten verwendet wird. Abschnitt F.1.1 des RFC 2246 definiert TLS-Authentifizierung (Transport Layer Security) und Schlüsselaustauschmethoden. Die drei wichtigsten Austauschmethoden sind:
RSA: Rivest-Shamir-Adleman (RSA) ist ein Schlüsselaustauschalgorithmus, der die Art und Weise steuert, wie Teilnehmer symmetrische Schlüssel oder ein Geheimnis erstellen, das während einer SSL-Sitzung verwendet wird. Der RSA-Schlüsselaustauschalgorithmus ist die am häufigsten verwendete Methode.
DSA– Digital Signature Algorithm (DSA) fügt den Vorschlägen für IKE Phase 1 eine zusätzliche Authentifizierungsoption hinzu. Die DSA kann analog zur RSA konfiguriert werden, sodass der Benutzer DSA-Zertifikate importieren oder erstellen und einen IKE-Vorschlag für die Verwendung der DSA konfigurieren muss. Digitale Zertifikate werden für RSA-Signaturen, DSA-Signaturen und die RSA-verschlüsselungsbasierte Verschlüsselungsmethode für öffentliche Schlüssel im IKE-Protokoll verwendet.
Diffie-Hellman — Diffie-Hellman (DH) ist eine wichtige Austauschmethode, mit der teilnehmer einen gemeinsamen geheimen Wert erzeugen können. Die Stärke der Technik ist, dass es den Teilnehmern ermöglicht, den geheimen Wert über ein ungesichertes Medium zu schaffen, ohne den geheimen Wert durch die Leitung zu geben.
Die Schlüsselaustauschmethoden können entweder einen festen oder einen temporären Serverschlüssel verwenden. IDP kann den Premaster-Secret nur dann erfolgreich abrufen, wenn ein fester Serverschlüssel verwendet wird. Weitere Informationen zum Internet Key Exchange finden Sie unter Grundlegende Elemente der PKI in Junos OS.
Juniper IDP entschlüsselt KEINE SSL-Sitzungen, die den Diffie-Hellman-Schlüsselaustausch verwenden.
IDP-Kryptografischer Schlüssel – Übersicht
Mit der Intrusion Detection and Prevention (IDP) Secure Sockets Layer (SSL)-Entschlüsselungsfunktion laden Geräte der SRX-Serie konfigurierte private RSA-Schlüssel in den Speicher und verwenden sie zur Einrichtung von SSL-Sitzungsschlüsseln zur Entschlüsselung von Daten. IDP ist erforderlich, um die RSA-Schlüssel zu entschlüsseln und die Integrität zu überprüfen, bevor normale Verschlüsselungs- oder Entschlüsselungsvorgänge mit den Schlüsseln ausgeführt werden.
Der Hauptzweck dieser Funktion besteht darin, sicherzustellen, dass private RSA-Schlüssel, die von IDP verwendet werden, nicht als Klartext oder in einem leicht verständlichen oder nutzbaren Format gespeichert werden. Die Schlüssel werden entschlüsselt, um normale Verschlüsselungs- oder Entschlüsselungsvorgänge durchzuführen. Diese Funktion umfasst auch Fehlererkennungsprüfungen beim Kopieren der Schlüssel von einem Speicherort in einen anderen, sowie das Überschreiben von Zwischenspeichern mit nichtzero-Mustern, wenn die Schlüssel nicht mehr benötigt werden.
Der set security idp sensor-configuration ssl-inspection key-protection
CLI-Konfigurationsbefehl wird verwendet, um diese Funktion zu aktivieren.
Grundlegendes zur IDP-SSL-Serverschlüsselverwaltung und -Richtlinienkonfiguration
Das Gerät kann bis zu 1000 private Serverschlüssel unterstützen. Jeder Schlüssel kann bis zu 100 Server haben, die ihn verwenden. Diese Kapazität ist unabhängig von der Anzahl der auf dem Gerät verfügbaren SPUs gleich, da im Wesentlichen jede SPU auf alle Schlüssel zugreifen können muss.
Mehrere Server können denselben privaten Schlüssel gemeinsam nutzen. ein Server kann jedoch nur einen privaten Schlüssel haben. SSL-Entschlüsselung ist standardmäßig deaktiviert. Sowohl einfache als auch verschlüsselte Schlüssel werden unterstützt.
Junos OS verschlüsselt keine SSL-Schlüsseldatei.
Sie können den Wert des SSL-Sitzungs-ID-Cache-Timeout-Parameters mit dem set security idp sensor-configuration ssl-inspection session-id-cache-timeout Befehl festlegen. Der Standardwert des Cache-Timeout-Parameters ist 600 Sekunden.
Konfigurieren einer IDP SSL Inspection (CLI-Prozedur)
SSL-Decoder ist standardmäßig aktiviert. Wenn Sie es manuell über CLI aktivieren müssen, verwenden Sie den folgenden CLI-Befehl.
set security idp sensor-configuration detector protocol-name SSL tunable-name sc_ssl_flags tuneable-value 1
Verwenden Sie die folgende CLI-Prozedur, um eine IDP-SSL-Prüfung zu konfigurieren:
[edit security] idp { sensor-configuration { ssl-inspection { sessions <number>; } }
Der Sensor inspiziert nun den Datenverkehr, für den er ein Schlüssel-Server-Paar hat.
Maximal unterstützte Sitzungen pro SPU: Der Standardwert ist 10.000 und der Bereich beträgt 1 bis 100.000. Das Sitzungslimit ist pro SPU und unabhängig von der Anzahl der SPUs auf dem Gerät gleich.
Hinzufügen von IDP-SSL-Schlüsseln und zugehörigen Servern
Wenn Sie einen Schlüssel installieren, können Sie den Schlüssel mit einem Kennwort schützen und ihn auch einem Server zuordnen.
Verwenden Sie den folgenden CLI-Befehl, um einen Privacy-Enhanced Mail (PEM)-Schlüssel zu installieren:
request security idp ssl-inspection key add key-name file file-path server server-ip password password-string
In einem Cluster der SRX-Serie mit zwei Knoten muss der Schlüssel manuell auf Knoten 0 und Knoten 1 am selben Speicherort kopiert werden, damit der Request-Befehl erfolgreich ist.
Sie können den Schlüssel auch zu einem späteren Zeitpunkt mit einem Server verknüpfen, indem Sie den Befehl server-CLI hinzufügen verwenden. Ein Server kann mit nur einem Schlüssel verknüpft werden. Verwenden Sie den folgenden CLI-Befehl, um einen Server dem installierten Schlüssel zuzuordnen:
request security idp ssl-inspection key add key-name server server-ip
Die maximale Länge des Schlüsselnamens beträgt 32 Bytes, einschließlich der Endung "\0".
Löschen von IDP-SSL-Schlüsseln und zugehörigen Servern
Verwenden Sie den folgenden CLI-Befehl, um alle Schlüssel und Server zu löschen:
user@host> request security idp ssl-inspection key delete
Alle installierten Schlüssel werden zusammen mit allen zugehörigen Servern gelöscht.
Verwenden Sie den folgenden CLI-Befehl, um einen bestimmten Schlüssel und alle zugehörigen Server mit diesem Schlüssel zu löschen:
user@host> request security idp ssl-inspection key delete <key-name>
Löscht den angegebenen Schlüssel und alle Server, die mit diesem Schlüssel verknüpft sind.
Verwenden Sie den folgenden CLI-Befehl, um einen einzelnen Server zu löschen:
user@host> request security idp ssl-inspection key delete <key-name> server <server-ip>
Löscht den angegebenen Server, der an den angegebenen Schlüssel gebunden ist.
Anzeige von IDP-SSL-Schlüsseln und zugehörigen Servern
-
Verwenden Sie den folgenden CLI-Befehl, um alle installierten Serverschlüssel und den zugehörigen Server anzuzeigen:
user@host> show security idp ssl-inspection key
Zeigt alle Serverschlüssel und IP-Adressen an, die an diese Schlüssel gebunden sind. Das folgende Beispiel zeigt die CLI-Ausgabe, wenn der
show security idp ssl-inspection key
Befehl verwendet wird:Total SSL keys : 2 SSL server key and ip address : Key : key1, server : 10.1.1.1 Key : key2, server : 10.2.2.2 Key : key2, server : 10.2.2.3
-
Verwenden Sie den folgenden CLI-Befehl, um IP-Adressen anzuzeigen, die an einen bestimmten Schlüssel gebunden sind:
user@host> show security idp ssl-inspection key <key-name>
Im Folgenden wird ein Beispiel für die CLI-Ausgabe verwendet, die bei verwendung des
show security idp ssl-inspection key <key-name>
Befehls empfangen wird:Key : key1, server : 10.1.1.1
Beispiel: Konfigurieren von IDP bei aktivierter SSL-Proxy
In diesem Beispiel wird beschrieben, wie IDP die Funktionen zur Anwendungsidentifizierung (AppID) unterstützt, wenn DER SSL-Proxy aktiviert ist.
Anforderungen
Bevor Sie beginnen:
Zonen erstellen. Siehe Beispiel: Erstellen von Sicherheitszonen.
Konfigurieren Sie ein Adressbuch mit Adressen für die Richtlinie. Siehe Beispiel: Konfigurieren von Adressbüchern und Adresssätzen.
Erstellen Sie eine Anwendung (oder einen Anwendungssatz), die angibt, dass die Richtlinie auf Datenverkehr dieses Typs gilt. Siehe Beispiel: Konfigurieren von Sicherheitsrichtlinienanwendungen und -anwendungssätze.
Erstellen Sie ein SSL-Proxyprofil, das SSL-Proxy mithilfe einer Richtlinie aktiviert. Siehe Konfigurieren von SSL-Weiterleitungs-Proxy.
Konfigurieren Sie eine IDP-Richtlinie als aktive Richtlinie.
Übersicht
Dieses Beispiel zeigt, wie Sie IDP in einer Richtlinienregel konfigurieren, wenn der SSL-Proxy aktiviert ist.
Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, kopieren sie dann die Befehle, fügen sie auf Hierarchieebene in die [edit]
CLI ein, und geben Sie commit
dann im Konfigurationsmodus ein.
set security policies from-zone Z_1 to-zone Z_2 policy policy1 match source-address any set security policies from-zone Z_1 to-zone Z_2 policy policy1 match destination-address any set security policies from-zone Z_1 to-zone Z_2 policy policy1 match application junos-https set security policies from-zone Z_1 to-zone Z_2 policy policy1 then permit application-services ssl-proxy profile-name ssl-profile-1 set security policies from-zone Z_1 to-zone Z_2 policy policy1 then permit application-services idp
Verfahren
Schritt-für-Schritt-Verfahren
Im folgenden Beispiel müssen Sie auf verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Anweisungen dazu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.
In diesem Beispiel konfigurieren Sie eine Sicherheitsrichtlinie, die IDP als Anwendungsservice verwendet.
Konfigurieren Sie eine Richtlinie zur Verarbeitung des Datenverkehrs mit dem SSL-Proxyprofil ssl-profile-1.
[edit security policies from-zone Z_1 to-zone Z_2 policy policy1 user@host# set match source-address any user@host# set match destination-address any user@host# set match application junos-https user@host# set then permit application-services ssl-proxy profile-name ssl-profile-1
Definieren Sie IDP als Anwendungsservice.
[edit security policies from-zone Z_1 to-zone Z_2 policy policy1 user@host# set then permit application-services idp
Ergebnisse
Bestätigen Sie ihre Konfiguration im Konfigurationsmodus, indem Sie den show security policies
Befehl eingeben. Wenn in der Ausgabe die beabsichtigte Konfiguration nicht angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.
Überprüfung
Stellen Sie sicher, dass die Konfiguration ordnungsgemäß funktioniert. Die Überprüfung in IDP ist ähnlich wie die Verifizierung in Application Firewall. Siehe Anwendungs-Firewall.