Einleitung
In diesem Dokument wird beschrieben, wie Sie die Einstellung für PFS bei TLS-verschlüsselten Verbindungen auf der E-Mail-Security-Appliance (ESA) konfigurieren.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in Secure Sockets Layer (SSL)/Transport Layer Security (TLS) verfügen.
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf AsyncOS für E-Mail Version 9.6 und höher.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrundinformationen
ESA unterstützt Perfect Forward Secrecy (PFS). PFS bedeutet, dass Daten über einen Kanal übertragen werden, der eine symmetrische Verschlüsselung mit flüchtigen Geheimnissen verwendet. Selbst wenn der private Schlüssel auf einem oder beiden Hosts kompromittiert ist, kann eine zuvor aufgezeichnete Sitzung nicht entschlüsselt werden.
Der Schlüssel wird nicht über den Kanal übertragen. Stattdessen wird das gemeinsame Geheimnis mit dem Diffie-Hellman-Problem (DH) abgeleitet. Der geheime Schlüssel wird nur während der eingerichteten Sitzung oder während des Zeitlimits für die Schlüsselregeneration im RAM des Hosts gespeichert.
ESA unterstützt DH für den Schlüsselaustausch.
Konfigurieren
EINGEHEND - ESA fungiert als TLS-Server
Diese Verschlüsselungs-Suites sind auf der ESA für eingehenden Simple Mail Transfer Protocol (SMTP)-Datenverkehr verfügbar und bieten PFS. In diesem Beispiel lässt die Verschlüsselungsauswahl nur Verschlüsselungssuiten zu, die als HIGH oder MEDIUM betrachtet werden, verwendet Ephemeral Diffie-Hellman (EDH) für den Schlüsselaustausch und bevorzugt TLSv1.2. Die Verschlüsselungsauswahlsyntax folgt der OpenSSL-Syntax.
Verschlüsselungsverfahren mit Forward Secrecy für AsyncOS 9.6+:
"EDH+TLSv1.2:EDH+HIGH:EDH+MEDIUM:!LOW:!EXP:!aNULL:!RC4:!DSS:!SEED:!IDEA:!MD5:!PSK:!3DES:!SRP"
List:
TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD
TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD
TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-CHACHA20-POLY1305 TLSv1.2 Kx=DH Au=RSA Enc=CHACHA20/POLY1305(256) Mac=AEAD
DHE-RSA-AES256-CCM TLSv1.2 Kx=DH Au=RSA Enc=AESCCM(256) Mac=AEAD
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-CCM TLSv1.2 Kx=DH Au=RSA Enc=AESCCM(128) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
DHE-RSA-CAMELLIA256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA256
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256
DHE-RSA-CAMELLIA128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA256
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA1
Das Kx-Feld (Schlüsselaustausch) zeigt an, dass DH zur Ableitung des Geheimnisses verwendet wird.
Die ESA unterstützt diese Chiffren mit der Standardeinstellung sslconfig (:ALL), bevorzugt sie jedoch nicht. Um Chiffren vorzuziehen, die PFS bieten, ändern Sie sslconfig und fügen EDH oder eine Kombination wie EDH+<cipher or cipher group name> zur Cipher-Auswahl hinzu.
- Überprüfen der Standardkonfiguration
ESA> sslconfig
sslconfig settings:
Inbound SMTP method: tlsv1/tlsv1.2
Inbound SMTP ciphers:
RC4-SHA
RC4-MD5
ALL
2. Konfigurieren Sie die neue Voreinstellung für eingehende Chiffren.
ESA> sslconfig
Inbound SMTP method: tlsv1/tlsv1.2
Inbound SMTP ciphers:
EDH+TLSv1.2
EDH+HIGH
EDH+MEDIUM
RC4-SHA
RC4-MD5
ALL
Anmerkung: RC4 als Chiffre und MD5 als MAC gelten als schwach und Legacy. Vermeiden Sie die Verwendung von SSL/TLS, insbesondere für höhere Datenvolumen ohne Schlüsselregeneration.
Empfohlene sslconfig-Einstellungen für EINGEHEND
Dieses Beispiel zeigt eine empfohlene Konfiguration, die nur Chiffren zulässt, die allgemein als stark und sicher gelten.
Bei einer empfohlenen eingehenden Konfiguration werden RC4 und MD5 sowie andere ältere und schwache Optionen wie Export (EXP), Low (LOW), IDEA, SEED, 3DES, DSS-Zertifikate, anonymer Schlüsselaustausch (aNULL), Pre-Shared Keys (PSK) und SRP entfernt. Außerdem werden Elliptic Curve Diffie-Hellman (ECDH) für den Schlüsselaustausch und Elliptic Curve Digital Signature Algorithm (ECDSA) deaktiviert.
- Geben Sie die nächste Verschlüsselungszeichenfolge in sslconfig ein.
EDH+TLSv1.2:EDH+HIGH:EDH+MEDIUM:HIGH:MEDIUM:!ECDH:!ECDSA:!LOW:!EXP:!aNULL:!RC4:!DSS:!SEED:!IDEA:!MD5:!PSK:!3DES:!SRP
Die in sslconfig eingegebene Zeichenfolge führt zu dieser Liste unterstützter Chiffren für INBOUND:
TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD
TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD
TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-CHACHA20-POLY1305 TLSv1.2 Kx=DH Au=RSA Enc=CHACHA20/POLY1305(256) Mac=AEAD
DHE-RSA-AES256-CCM TLSv1.2 Kx=DH Au=RSA Enc=AESCCM(256) Mac=AEAD
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-CCM TLSv1.2 Kx=DH Au=RSA Enc=AESCCM(128) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
DHE-RSA-CAMELLIA256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA256
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256
DHE-RSA-CAMELLIA128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA256
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA1
AES256-GCM-SHA384 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(256) Mac=AEAD
AES256-CCM TLSv1.2 Kx=RSA Au=RSA Enc=AESCCM(256) Mac=AEAD
AES128-GCM-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(128) Mac=AEAD
AES128-CCM TLSv1.2 Kx=RSA Au=RSA Enc=AESCCM(128) Mac=AEAD
AES256-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA256
CAMELLIA256-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA256
AES128-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA256
CAMELLIA128-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=Camellia(128) Mac=SHA256
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
CAMELLIA128-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(128) Mac=SHA1
Anmerkung: Die ESA, die als TLS-Server für eingehenden Datenverkehr fungiert, unterstützt derzeit kein Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) für Schlüsselaustausch oder ECDSA-Zertifikate.
OUTBOUND - ESA fungiert als TLS-Client
Für ausgehenden SMTP-Datenverkehr unterstützt die ESA neben den eingehenden Funktionen auch ECDHE- und ECDSA-Zertifikate.
Anmerkung: ECC-Zertifikate (Elliptic Curve Cryptography), die ECDSA verwenden, werden nur selten verwendet.
Wenn eine ausgehende E-Mail-Nachricht zugestellt wird, ist die ESA der TLS-Client. Ein TLS-Clientzertifikat ist optional. Wenn die ESA vom TLS-Server kein ECDSA-Client-Zertifikat bereitstellen muss, kann die ESA mit einer ECDSA-gesicherten Sitzung fortfahren. Wenn die ESA als TLS-Client nach ihrem Zertifikat gefragt wird, stellt sie das konfigurierte RSA-Zertifikat für die ausgehende Richtung bereit.
Vorsicht: Der vorinstallierte vertrauenswürdige Zertifizierungsstellen-Zertifikatspeicher (Systemliste) auf der ESA enthält keine ECC-Stammzertifikate (ECDSA). Sie können vertrauenswürdige ECC-Stammzertifikate der benutzerdefinierten Liste manuell hinzufügen, um die ECC-Vertrauenskette verifizierbar zu machen.
Um DHE/ECDHE-Chiffren mit PFS vorzuziehen, ändern Sie die sslconfig-Chiffreauswahl.
- Fügen Sie diese Zeichenfolge zur aktuellen Verschlüsselungsauswahl hinzu.
"EDH+TLSv1.2:ECDH+TLSv1.2:EDH+HIGH:EDH+MEDIUM:ECDH+HIGH:ECDH+MEDIUM"
Empfohlene sslconfig-Einstellungen für OUTBOUND
Dieses Beispiel zeigt eine empfohlene Konfiguration, die nur Chiffren zulässt, die allgemein als stark und sicher gelten.
EDH+TLSv1.2:ECDH+TLSv1.2:EDH+HIGH:EDH+MEDIUM:ECDH+HIGH:ECDH+MEDIUM:HIGH:MEDIUM:!LOW:!EXP:!aNULL:!RC4:!DSS:!SEED:!IDEA:!MD5:!PSK:!3DES:!SRP
Die in sslconfig eingegebene Zeichenfolge führt zu dieser Liste unterstützter Chiffren für OUTBOUND:
TLS_AES_256_GCM_SHA384 TLSv1.3 Kx=any Au=any Enc=AESGCM(256) Mac=AEAD
TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any Au=any Enc=CHACHA20/POLY1305(256) Mac=AEAD
TLS_AES_128_GCM_SHA256 TLSv1.3 Kx=any Au=any Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(256) Mac=AEAD
DHE-RSA-AES256-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(256) Mac=SHA256
DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AESGCM(128) Mac=AEAD
DHE-RSA-AES128-SHA256 TLSv1.2 Kx=DH Au=RSA Enc=AES(128) Mac=SHA256
ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD
ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256) Mac=AEAD
ECDHE-RSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384
ECDHE-ECDSA-AES256-SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384
ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD
ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128) Mac=AEAD
ECDHE-RSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256
ECDHE-ECDSA-AES128-SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1
DHE-RSA-AES128-SHA SSLv3 Kx=DH Au=RSA Enc=AES(128) Mac=SHA1
DHE-RSA-CAMELLIA128-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(128) Mac=SHA1
ECDHE-RSA-AES256-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1
ECDHE-ECDSA-AES256-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1
ECDHE-RSA-AES128-SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1
ECDHE-ECDSA-AES128-SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1
AES256-GCM-SHA384 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(256) Mac=AEAD
AES256-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA256
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
CAMELLIA256-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA1
AES128-GCM-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AESGCM(128) Mac=AEAD
AES128-SHA256 TLSv1.2 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA256
AES128-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(128) Mac=SHA1
CAMELLIA128-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(128) Mac=SHA1
Überprüfung
Überprüfen Sie anhand dieser Schritte, ob die ESA PFS-Verschlüsselungssuiten bevorzugt.
- Führen Sie sslconfig aus, und überprüfen Sie die konfigurierten eingehenden und ausgehenden Verschlüsselungszeichenfolgen.
- Vergewissern Sie sich, dass die Verschlüsselungsauswahl EDH für die DHE-Präferenz und, bei ausgehendem Datenverkehr, ggf. ECDH-Einträge enthält.
- Überprüfen Sie die resultierende Verschlüsselungsliste von sslconfig, und stellen Sie sicher, dass DHE- oder ECDHE-Verschlüsselungssuiten vor RSA-Schlüsselaustausch-Verschlüsselungssuiten angezeigt werden.
- Testen Sie eine TLS-Verbindung, und stellen Sie sicher, dass die ausgehandelte Verschlüsselungs-Suite DHE oder ECDHE verwendet, wenn der Remote-TLS-Peer sie unterstützt.
Fehlerbehebung
Verwenden Sie diese Prüfungen, wenn die ESA keine PFS-Verschlüsselungssuite aushandelt.
- Stellen Sie sicher, dass die konfigurierte sslconfig-Chiffrierzeichenfolge EDH für eingehenden Datenverkehr und die erforderlichen EDH- oder ECDH-Werte für ausgehenden Datenverkehr enthält.
- Vergewissern Sie sich, dass der Remote-TLS-Server oder -Client DHE- oder ECDHE-Verschlüsselungssuiten unterstützt. Wenn der Peer sie nicht unterstützt, kann die ESA eine Nicht-PFS-Verschlüsselungs-Suite aushandeln, die nach der Konfiguration weiterhin zulässig ist.
- Stellen Sie bei ausgehenden ECDSA-basierten Sitzungen sicher, dass der Peer kein ECDSA-Clientzertifikat benötigt. Die ESA stellt das konfigurierte RSA-Zertifikat für die ausgehende Richtung dar, wenn ein Client-Zertifikat angefordert wird.
- Überprüfen Sie für die Validierung der ausgehenden ECC-Vertrauensstellung, ob die erforderlichen ECC-Stammzertifikate in der benutzerdefinierten Liste vorhanden sind, sofern sie nicht in der Systemliste enthalten sind.
Zugehörige Informationen