Cipher Suites für SSL-Proxy
Lesen Sie dieses Thema, um mehr über die Unterstützung und Verwaltung digitaler Zertifikate für SSL-Proxy auf Firewalls der SRX-Serie zu erfahren.
Cipher-Suites
Dieses Thema enthält die folgenden Abschnitte:
- Unterstützte Cipher Suites
- Konfigurieren von Serverzertifikaten mit einer Schlüsselgröße von 4096 Bit
- ECDSA Cipher Suite-Unterstützung für SSL-Proxy
- SSL-Chiffren-Liste
- Konfigurieren von Cipher Suites für SSL-Proxy
Unterstützte Cipher Suites
SSL-Proxy fungiert als Vermittler und führt die SSL-Verschlüsselung und -Entschlüsselung zwischen dem Client und dem Server durch, aber weder der Server noch der Client können seine Anwesenheit erkennen. SSL setzt bei der Client- und Server-Authentifizierung auf digitale Zertifikate und Private-Public-Key-Exchange-Paare, um eine sichere Kommunikation zu gewährleisten.
Machen wir uns mit allen Begriffen vertraut, auf die wir uns in diesem Abschnitt beziehen werden.
-
Digital Certificate or CA Certificate – Ein digitales Zertifikat ist ein elektronisches Mittel zur Überprüfung Ihrer Identität durch einen vertrauenswürdigen Dritten, die als Zertifizierungsstelle (CA) bezeichnet wird. Alternativ können Sie ein selbstsigniertes Zertifikat verwenden, um Ihre Identität zu bestätigen. Jedes Zertifikat enthält einen kryptografischen Schlüssel zum Verschlüsseln von Klartext oder zum Entschlüsseln von Chiffretext.
-
Certificate Contents– Ein digitales Zertifikat verknüpft einen öffentlichen Schlüssel mit der Identität einer einzelnen Entität, für die es das digitale Zertifikat ausstellt. Ein digitales Zertifikat enthält die folgenden Identifikationsattribute:
-
Identifizierung und Unterschrift der Zertifizierungsstelle, die das Zertifikat ausgestellt hat.
-
Gültigkeitsdauer
-
Seriennummer
-
Angaben zum Zertifikataussteller
-
Zu den Informationen über den Betreff gehören identifizierende Informationen (der eindeutige Name) und der öffentliche Schlüssel.
-
-
Cipher Suite– Eine Cipher-Suite ist ein Satz kryptografischer Algorithmen. Eine SSL-Chiffre besteht aus Verschlüsselungschren, einer Authentifizierungsmethode und Komprimierung. Auf einer Firewall verwenden SSL-Sitzungen die Schlüsselaustauschmethode, bei der kryptografische Schlüssel zwischen dem Client und den Servern mithilfe eines kryptografischen Algorithmus ausgetauscht werden. Die Art des Schlüsselaustauschalgorithmus und die verwendeten Cipher-Suites müssen von beiden Seiten unterstützt werden.
SSL-Sitzungen verwenden die Algorithmen aus einer Cipher-Suite für Folgendes:
-
Sicherer Aufbau eines geheimen Schlüssels zwischen zwei kommunizierenden Parteien
-
Schutz der Vertraulichkeit von Daten während der Übertragung
-
Das plattformspezifische RSA-Zertifikatverhalten enthält Details zu RSA-Schlüsseln, die auf einem Junos OS-Sicherheitsgerät unterstützt werden. Wir unterstützen Serverzertifikate mit einer Schlüsselgröße von 4096 Bit. Bisher wurden Serverzertifikate mit einer Schlüsselgröße von mehr als 2048 Bit aufgrund von Hardwarebeschränkungen für die Kryptografie nicht unterstützt.
Konfigurieren von Serverzertifikaten mit einer Schlüsselgröße von 4096 Bit
Auf ausgewählten Geräten müssen Sie den Knopf im Abschnitt SSL-Proxy-Profilaktionen aktivieren allow-strong-certificate , um RSA-Zertifikate mit einer Schlüsselgröße von 4096 Bit zu verwenden. Weitere Informationen finden Sie unter Plattformspezifisches RSA-Zertifikatverhalten.
SSL-Proxy-Weiterleitungsprofil
proxy {
profile sslfp-proxy-profile {
trusted-ca all;
root-ca ssl-inspect-ca;
actions {
allow-strong-certificate;
}
}
}
SSL-Reverse-Proxy-Profil
proxy {
profile server-protection-profile {
server-certificate ssl-server-protection;
actions {
allow-strong-certificate;
}
}
}
ECDSA Cipher Suite-Unterstützung für SSL-Proxy
Unterstützung für ECDSA-Cipher-Suites für SSL-Proxy ist verfügbar. ECDSA ist eine Version des Digital Signature Algorithm (DSA) und basiert auf der Elliptic-Curve-Kryptography (ECC).
Um ECDSA-Chiffren auf Ihrem Sicherheitsgerät zu verwenden, müssen Sie Folgendes sicherstellen:
-
Schließen Sie die Zertifikate mit ECC-fähigen öffentlichen Schlüsseln auf dem Gerät ein. Das ECC-Zertifikat (Elliptic Curve Cryptography) wird nur mit der Elliptic Prime Curve 256 Bit (P-256) unterstützt.
-
Schließen Sie die ECDSA-Zertifikatoption für die Root-CA ein. Sie können jeweils ein RSA-Zertifikat und ein ECDSA-Zertifikat hinzufügen. Mit ECC- und RSA-Zertifikaten können Sie je nach Kompatibilität des Clients und des Servergeräts einen ECC-basierten Schlüsselaustausch oder einen RSA-basierten Schlüsselaustausch durchführen.
-
Schließen Sie für den Reverseproxy das ECDSA-Zertifikat für das Serverzertifikat ein. Keine Beschränkung der Anzahl der ECDSA- oder RSA-Zertifikate.
-
Ein vertrauenswürdiges CA-Zertifikat kann entweder ein RSA-basiertes Zertifikat oder ein ECDSA-basiertes Zertifikat sein. Alle Funktionen, die von einem RSA-basierten Zertifikat unterstützt werden, wie z. B. Zertifikatcache, Zertifikatsperrliste (Certificate Revocation List, CRL) und Zertifikatskette, werden von einem ECDSA-Zertifikat unterstützt.
EC-Gruppen (Elliptic Curve) werden in der SSL/TLS-Kommunikation für den Schlüsselaustausch während des Handshake-Prozesses verwendet. Diese Gruppen sind Teil der Elliptic Curve Cryptography (ECC), die eine sichere Kommunikation mit kleinerer Schlüsselgröße ermöglicht, was zu geringerem Speicherplatz, schnellerer Übertragung und sicherer Kommunikation führt.
Wir unterstützen die folgenden ECC-Kurventypen in SSL-Initiierungs-, SSL-Terminierungs- und SSL-Proxy-Profilen:
- P-256
- P-384
- P-512
Die obigen EC-Gruppen sind standardmäßig konfiguriert: SSL-Initiierung, SSL-Terminierung und SSL-Proxyprofile und die Prioritätsreihenfolge dieser EC-Gruppen ist - Prioritätsreihenfolge von P-256, P-384 und P-521.
Beachten Sie, dass sowohl der Server als auch der Client dieselbe EC-Gruppe unterstützen müssen, um eine sichere Verbindung herzustellen.
Die Konfiguration dieser EC-Gruppen in der SSL-Proxy-Client- und Server-Kommunikation gewährleistet Kompatibilität und Flexibilität beim Aufbau sicherer Verbindungen.
SSL-Chiffren-Liste
Tabelle 1 zeigt eine Liste der unterstützten Chiffren an. NULL-Chiffren sind ausgeschlossen.
| SSL-Chiffre | Algorithmus für den Schlüsselaustausch | Datenverschlüsselung | Integrität der Nachricht | Kategorie "Bevorzugte Chiffren" |
|---|---|---|---|---|
| ECDHE-ECDSA-AES-256-GCM-SHA384 |
ECDHE/DSA-Schlüsselaustausch |
256-Bit-AES/GCM |
SHA384-Hash |
Stark |
| ECDHE-ECDSA-AES-128-GCM-SHA256 |
ECDHE/DSA-Schlüsselaustausch |
128-Bit-AES/GCM |
SHA256-Hash |
Stark |
| ECDHE-ECDSA-AES-256-CBC-SHA384 |
ECDHE/DSA-Schlüsselaustausch |
256-Bit-AES/CBC |
SHA384-Hash |
Stark |
| ECDHE-ECDSA-AES-128-CBC-SHA256 |
ECDHE/DSA-Schlüsselaustausch |
128-Bit-AES/CBC |
SHA256-Hash |
Stark |
| ECDHE-ECDSA-AES-256-CBC-SHA |
ECDHE/DSA-Schlüsselaustausch |
256-Bit-AES/CBC |
SHA-Hash |
Stark |
| ECDHE-ECDSA-AES-128-CBC-SHA |
ECDHE/DSA-Schlüsselaustausch |
128-Bit-AES/CBC |
SHA-Hash |
Stark |
| ECDHE-RSA-AES256-GCM-SHA384 |
ECDHE/RSA-Schlüsselaustausch |
256-Bit-AES/GCM |
SHA384-Hash |
Stark |
| ECDHE-RSA-AES256-CBC-SHA384 |
ECDHE/RSA-Schlüsselaustausch |
256-Bit-AES/CBC |
SHA384-Hash |
Stark |
| ECDHE-RSA-AES256-CBC-SHA |
ECDHE/RSA-Schlüsselaustausch |
256-Bit-AES/CBC |
SHA-Hash |
Stark |
| ECDHE-RSA-AES128-GCM-SHA256 |
ECDHE/RSA-Schlüsselaustausch |
128-Bit-AES/GCM |
SHA256-Hash |
Stark |
| ECDHE-RSA-AES128-CBC-SHA256 |
ECDHE/RSA-Schlüsselaustausch |
128-Bit-AES/CBC |
SHA256-Hash |
Stark |
| ECDHE-RSA-AES128-CBC-SHA |
ECDHE/RSA-Schlüsselaustausch |
128-Bit-AES/CBC |
SHA-Hash |
Stark |
| RSA-AES256-GCM-SHA384 |
ECDHE/RSA-Schlüsselaustausch |
256-Bit-AES/GCM |
SHA384-Hash |
Stark |
| RSA-AES256-CBC-SHA256 |
ECDHE/RSA-Schlüsselaustausch |
256-Bit-AES/CBC |
SHA256-Hash |
Stark |
| RSA-AES128-GCM-SHA256 |
ECDHE/RSA-Schlüsselaustausch |
128-Bit-AES/GCM |
SHA256-Hash |
Stark |
| RSA-AES128-CBC-SHA256 |
ECDHE/RSA-Schlüsselaustausch |
128-Bit-AES/CBC |
SHA256-Hash |
Mittel |
| RSA-AES128-CBC-SHA |
RSA-Schlüsselaustausch |
128-Bit-AES/CBC |
SHA-Hash |
Schwach |
| RSA-AES256-CBC-SHA |
RSA-Schlüsselaustausch |
256-Bit-AES/CBC |
SHA-Hash |
Schwach |
SSL-Proxy unterstützt TLS Version 1.3 und bietet verbesserte Sicherheit und bessere Leistung. Tabelle 2 zeigt eine Liste der unterstützten TLS 1.3-Verschlüsselungen an.
| TLS-Chiffre | Algorithmus für den Schlüsselaustausch | Datenverschlüsselung | Integrität der Nachricht |
|---|---|---|---|
| TLS_AES_256_GCM_SHA384 |
Beliebig |
256-Bit-AES/GCM |
SHA384-Hash |
| TLS_AES_128_GCM_SHA256 |
Beliebig |
128-Bit-AES/GCM |
SHA256-Hash |
| TLS_CHACHA20_POLY1305_SHA256 |
Beliebig |
256-Bit-CHACHA20_POLY1305 |
SHA256-Hash |
| TLS_AES_128_CCM_SHA256 |
Beliebig |
128-Bit-AES/CCM |
SHA256-Hash |
| TLS_AES_128_CCM_8_SHA256 |
Beliebig |
128-Bit-AES/CCM |
SHA256-Hash |
Tabelle 3 enthält eine Liste der veralteten Chiffren.
| SSL-Chiffre | Algorithmus für den Schlüsselaustausch | Datenverschlüsselung | Integrität der Nachricht | Kategorie "Bevorzugte Chiffren" |
|---|---|---|---|---|
| ECDHE-ECDSA-3DES-EDE-CBC-SHA |
ECDHE/DSA-Schlüsselaustausch |
3DES EDE/CBC |
SHA-Hash |
Stark |
| ECDHE-RSA-DES-CBC3-SHA |
ECDHE/RSA-Schlüsselaustausch |
DES CBC |
SHA-Hash |
Mittel |
| RSA-RC4-128-MD5 |
RSA-Schlüsselaustausch |
128-Bit-RC4 |
Message Digest 5 (MD5)-Hash |
Mittel |
| RSA-RC4-128-SHA |
RSA-Schlüsselaustausch |
128-Bit-RC4 |
Secure Hash Algorithm (SHA)-Hash |
Mittel |
| RSA-EXPORT-1024-RC4-56-MD5 |
RSA 1024-Bit-Export |
56-Bit-RC4 |
MD5-Hash |
Schwach |
| RSA-EXPORT-1024-RC4-56-SHA |
RSA 1024-Bit-Export |
56-Bit-RC4 |
SHA-Hash |
Schwach |
| RSA-EXPORT-RC4-40-MD5 |
RSA-export |
40-Bit-RC4 |
MD5-Hash |
Schwach |
| RSA-EXPORT-DES40-CBC-SHA |
RSA-export |
40-Bit DES/CBC |
SHA-Hash |
Schwach |
| RSA-EXPORT-1024-DES-CBC-SHA |
RSA 1024-Bit-Export |
DES/CBC |
SHA-Hash |
Schwach |
| RSA-3DES-EDE-CBC-SHA |
RSA-Schlüsselaustausch |
3DES EDE/CBC |
SHA-Hash |
Schwach |
| RSA-DES-CBC-SHA |
RSA-Schlüsselaustausch |
DES CBC |
SHA-Hash |
Schwach |
Beachten Sie Folgendes:
-
Unterstützte SSL-Verschlüsselungen für die HTTPS-Firewall-Authentifizierung sind RSA-AES-128-CBC-SHA und RSA-AES-256-CBC-SHA.
-
Cipher Suites mit "export" im Titel sind für die Verwendung außerhalb der USA vorgesehen und verfügen möglicherweise über Verschlüsselungsalgorithmen mit eingeschränkten Schlüsselgrößen. Export-Chiffren sind standardmäßig nicht aktiviert. Sie müssen entweder die Exportchiffren konfigurieren, um ein inländisches Paket zu aktivieren oder zu installieren.
-
ECDHE-basierte Cipher-Anzüge unterstützen die Perfect Forward Secrecy-Funktion im SSL-Proxy.
Perfect Forward Secrecy ist ein spezifisches Schlüsselvereinbarungsprotokoll, das sicherstellt, dass alle über das Internet gesendeten Transaktionen sicher sind. Perfect Forward Secrecy generiert für jede vom Benutzer initiierte Sitzung einen eindeutigen Sitzungsschlüssel. Dadurch wird sichergestellt, dass die Kompromittierung eines einzelnen Sitzungsschlüssels keine Auswirkungen auf andere Daten hat als die, die in der spezifischen Sitzung ausgetauscht werden, die durch diesen bestimmten Schlüssel geschützt ist.
Konfigurieren von Cipher Suites für SSL-Proxy
Sie können die folgenden Optionen in der SSL-Proxyprofilkonfiguration verwenden, um Cipher-Suites festzulegen:
-
Bevorzugte Chiffren: Mit bevorzugten Chiffren können Sie eine SSL-Chiffre mit akzeptabler Schlüsselstärke definieren: stark, mittel oder schwach.
Wenn Sie keine der drei Kategorien verwenden möchten, können Sie aus jeder der Kategorien Verschlüsselungen auswählen, um einen benutzerdefinierten Verschlüsselungssatz zu bilden. Benutzerdefinierte Chiffren ermöglichen es Ihnen, Ihre eigene Chiffreliste zu definieren. Um benutzerdefinierte Verschlüsselungen zu konfigurieren, müssen Sie preferred-ciphers auf custom festlegen. Beispiel:
set services ssl proxy profile profile-name preferred-ciphers custom
-
Benutzerdefinierte Chiffren: Mit benutzerdefinierten Chiffren können Sie Ihre eigene Chiffreliste definieren. Beispiel:
set services ssl proxy profile profile-name custom-ciphers ecdhe-ecdsa-with-aes-256-cbc-sha384 set services ssl proxy profile profile-name custom-ciphers ecdhe-ecdsa-with-aes-128-cbc-sha256
Sie können auch die folgenden benutzerdefinierten Verschlüsselungen verwenden:
set services ssl proxy profile profile-name custom-ciphers tls13-with-aes-256-gcm-sha384 set services ssl proxy profile profile-name custom-ciphers tls13-with-aes-128-gcm-sha256 set services ssl proxy profile profile-name custom-ciphers tls13-with-chacha20-poly1305-sha256 set services ssl proxy profile profile-name custom-ciphers tls13-with-aes-128-ccm-sha256 set services ssl proxy profile profile-name custom-ciphers tls13-with-aes-128-ccm8-sha256
Führen Sie die folgenden Schritte aus, um einen SSL-Proxy mit benutzerdefinierten Verschlüsselungen zu konfigurieren:
-
Generieren Sie ein Root-CA-Zertifikat oder importieren Sie Ihr eigenes vertrauenswürdiges CA-Zertifikat sowie private und öffentliche Schlüssel in das Gerät.
-
Erstellen Sie ein SSL-Proxyprofil und ordnen Sie das Root-CA-Zertifikat zu (Root-CA oder das Serverzertifikat).
-
Aktivieren Sie die bevorzugte Chiffre im SSL-Proxy als benutzerdefinierte Chiffre und fügen Sie eine benutzerdefinierte Chiffre hinzu
Beispiel:
In diesem Beispiel wird gezeigt, wie eine benutzerdefinierte Chiffre erstellt wird. In diesem Beispiel legen Sie benutzerdefiniert fest preferred-cipher und fügen die Verschlüsselungsliste hinzu (ecdhe-ecdsa-with-aes-256-cbc-sha384 und ecdhe-ecdsa-with-aes-128-cbc-sha256):
request security pki local-certificate load filename rootCA.pem key rootCA.key certificate-id rootCAEcds
set services ssl proxy profile profile-name server-certificate rootCAEcds
oder
set services ssl proxy profile profile-name root-ca rootCAEcds
set services ssl proxy profile profile-name preferred-ciphers custom
set services ssl proxy profile profile-name custom-ciphers ecdhe-ecdsa-with-aes-256-cbc-sha384 set services ssl proxy profile profile-name custom-ciphers ecdhe-ecdsa-with-aes-128-cbc-sha256
Fahren Sie mit der Konfiguration des SSL-Proxyprofils fort und wenden Sie das SSL-Proxyprofil auf eine Sicherheitsrichtlinie an.
ECDSA-Chiffren unterstützen SSL-Initiierungs- und SSL-Terminierungsprofile
Sie können ECDSA-Chiffren in SSL-Initiierungs- und SSL-Terminierungsprofilen im Nicht-Proxy-Modus konfigurieren. Diese Profile unterstützen die folgenden ECDSA-Chiffren:
- ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- Um die Unterstützung der oben genannten Chiffren zu aktivieren, müssen Sie SSL-Initiierungs- und SSL-Terminierungsprofile mit dem Zertifikat laden, das die ECC-fähigen öffentlichen Schlüssel enthält.
- Das Hinzufügen der Unterstützung eines neuen ECC-Zertifikats zusammen mit dem vorhandenen RSA-Zertifikat bietet Flexibilität bei der Auswahl zwischen verschiedenen Zertifikatstypen für Verschlüsselungs- und Authentifizierungszwecke.
- Falls Sie SSL-Initiierungs- und SSL-Beendigungsprofile mit ECC-Zertifikaten konfigurieren und der Server nur die RSA-basierte Authentifizierung unterstützt, kann die Sitzung nicht hergestellt werden und zeigt die Fehlermeldung (keine gemeinsame Verschlüsselung) an.
SSL-Initiierungsprofil
user@host# set services ssl initiation profile <profile-name> custom-ciphers
tls12-ecdhe-ecdsa-aes-256-gcm-sha384 ECDHE,ECDSA, 256 bit aes/gcm, sha384 hash
tls12-ecdhe-ecdsa-aes-256-cbc-sha ECDHE,ECDSA, 256 bit aes/cbc, sha hash |
tls12-ecdhe-ecdsa-aes-256-cbc-sha384 ECDHE,ECDSA, 256 bit aes/cbc, sha384 hash |
tls12-ecdhe-ecdsa-aes-128-gcm-sha256 ECDHE,ECDSA, 128 bit aes/gcm, sha256 hash |
tls12-ecdhe-ecdsa-aes-128-cbc-sha ECDHE,ECDSA, 128 bit aes/cbc, sha hash |
tls12-ecdhe-ecdsa-aes-128-cbc-sha256 ECDHE,ECDSA, 128 bit aes/cbc, sha256 hash |
tls12-ecdhe-ecdsa-chacha20-poly1305-sha256 ECDHE,ECDSA, chacha_poly, sha256 hash |
SSL-Beendigungsprofil
user@host# set services ssl termination profile <profile-name> custom-ciphers
tls12-ecdhe-ecdsa-aes-256-cbc-sha ECDHE,ECDSA, 256 bit aes/cbc, sha hash |
tls12-ecdhe-ecdsa-aes-256-cbc-sha384 ECDHE,ECDSA, 256 bit aes/cbc, sha384 hash |
tls12-ecdhe-ecdsa-aes-128-gcm-sha256 ECDHE,ECDSA, 128 bit aes/gcm, sha256 hash |
tls12-ecdhe-ecdsa-aes-128-cbc-sha ECDHE,ECDSA, 128 bit aes/cbc, sha hash |
tls12-ecdhe-ecdsa-aes-128-cbc-sha256 ECDHE,ECDSA, 128 bit aes/cbc, sha256 hash |
tls12-ecdhe-ecdsa-chacha20-poly1305-sha256 ECDHE,ECDSA, chacha_poly, sha256 hash |
Plattformspezifisches RSA-Zertifikatverhalten
Verwenden Sie Serverzertifikate mit der Schlüsselgröße 4096 Bit und den Feature-Explorer , um die Plattform- und Releaseunterstützung für bestimmte Features zu bestätigen.
Verwenden Sie die folgende Tabelle, um das plattformspezifische Verhalten für Ihre Plattform zu überprüfen:
| Plattform |
Unterschied |
|---|---|
| SRX-Serie |
SRX300, SRX320, SRX400 und SRX440 unterstützen eine RSA-Schlüsselgröße von 4096 Bit. Der Support ist nur verfügbar, wenn
|
| SRX-Serie |
SRX300, SRX320, SRX340, SRX345, SRX400, SRX440, SRX550, SRX1500, SRX4100, SRX4200, SRX4600, SRX5400, SRX5600 unterstützt SRX5800 RSA-Schlüsselgrößen von 512 Bit, 1024 Bit, 2048 Bit, 4096 Bit. |
Siehe auch
Tabellarischer Änderungsverlauf
Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie den Feature-Explorer , um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.