Inleiding
In dit document wordt beschreven hoe u de voorkeur voor PFS kunt configureren in TLS-versleutelde verbindingen op het e-mailbeveiligingsapparaat (ESA).
Voorwaarden
Vereisten
Cisco raadt u aan kennis te hebben van Secure Sockets Layer (SSL) / Transport Layer Security (TLS).
Gebruikte componenten
De informatie in dit document is gebaseerd op AsyncOS for Email versie 9.6 en hoger.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Achtergrondinformatie
ESA ondersteunt Perfect Forward Secrecy (PFS). PFS betekent dat gegevens worden overgedragen via een kanaal dat symmetrische codering met kortstondige geheimen gebruikt. Zelfs als de privésleutel op een of beide hosts is aangetast, kan een eerder opgenomen sessie niet worden gedecodeerd.
Het geheim wordt niet via het kanaal overgedragen. In plaats daarvan wordt het gedeelde geheim afgeleid met het Diffie-Hellman (DH) probleem. Het geheim wordt alleen opgeslagen in het RAM-geheugen (Random Access Memory) van de host tijdens de ingestelde sessie of de time-out voor sleutelregeneratie.
ESA ondersteunt DH voor sleuteluitwisseling.
Configureren
INBOUND - ESA fungeert als TLS-server
Deze coderingssuites zijn beschikbaar op ESA voor inbound Simple Mail Transfer Protocol (SMTP)-verkeer en bieden PFS. In dit voorbeeld, de cipher selectie laat alleen cipher suites beschouwd als HOOG of MEDIUM, gebruikt Ephemeral Diffie-Hellman (EDH) voor de belangrijkste uitwisseling, en geeft de voorkeur aan TLSv1.2. De syntaxis van de coderingsselectie is na OpenSSL-syntaxis.
Versleuteling met Forward Secrecy op 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
Het veld Kx (sleuteluitwisseling) laat zien dat DH wordt gebruikt om het geheim af te leiden.
ESA ondersteunt deze cijfers met de standaard sslconfig-instelling (:ALL), maar geeft er geen voorkeur aan. Als u de voorkeur wilt geven aan cijfers die PFS bieden, wijzigt u sslconfig en voegt u EDH of een combinatie zoals EDH +<cipher of cipher group name> toe aan de cipher-selectie.
- Controleer de standaardconfiguratie.
ESA> sslconfig
sslconfig settings:
Inbound SMTP method: tlsv1/tlsv1.2
Inbound SMTP ciphers:
RC4-SHA
RC4-MD5
ALL
2. Configureer de nieuwe voorkeur voor inkomende codering.
ESA> sslconfig
Inbound SMTP method: tlsv1/tlsv1.2
Inbound SMTP ciphers:
EDH+TLSv1.2
EDH+HIGH
EDH+MEDIUM
RC4-SHA
RC4-MD5
ALL
Opmerking: RC4 als een cipher en MD5 als een MAC worden als zwak en legacy beschouwd. Vermijd het gebruik ervan met SSL/TLS, vooral voor hogere gegevensvolumes zonder regeneratie van de sleutel.
Aanbevolen sslconfig-instellingen voor INBOUND
In dit voorbeeld wordt een aanbevolen configuratie weergegeven die alleen coderingen toestaat die over het algemeen als sterk en veilig worden beschouwd.
Een aanbevolen inkomende configuratie verwijdert RC4 en MD5, evenals andere bestaande en zwakke opties zoals Export (EXP), Low (LOW), IDEA, SEED, 3DES, DSS-certificaten, anonieme sleuteluitwisseling (aNULL), vooraf gedeelde sleutels (PSK) en SRP. Het schakelt ook Elliptic Curve Diffie-Hellman (ECDH) uit voor sleuteluitwisseling en Elliptic Curve Digital Signature Algorithm (ECDSA).
- Voer de volgende cijfertekenreeks in sslconfig in.
EDH+TLSv1.2:EDH+HIGH:EDH+MEDIUM:HIGH:MEDIUM:!ECDH:!ECDSA:!LOW:!EXP:!aNULL:!RC4:!DSS:!SEED:!IDEA:!MD5:!PSK:!3DES:!SRP
De tekenreeks die is ingevoerd in sslconfig resulteert in deze lijst met ondersteunde cijfers voor 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
Opmerking: ESA die optreedt als een TLS-server voor inkomend verkeer ondersteunt momenteel geen Elliptic Curve Diffie-Hellman Ephemeral (ECDHE) voor sleuteluitwisseling of ECDSA-certificaten.
OUTBOUND - ESA treedt op als TLS-client
Voor uitgaand SMTP-verkeer ondersteunt ESA naast de inkomende mogelijkheden ook ECDHE- en ECDSA-certificaten.
Opmerking: ECC-certificaten (Elliptic Curve Cryptography) die ECDSA gebruiken, worden niet op grote schaal gebruikt.
Wanneer een uitgaande e-mail wordt afgeleverd, is ESA de TLS-client. Een TLS client certificaat is optioneel. Als de TLS-server ESA niet verplicht een ECDSA-clientcertificaat te verstrekken, kan ESA doorgaan met een door ECDSA beveiligde sessie. Wanneer ESA als TLS-client om zijn certificaat wordt gevraagd, levert het het geconfigureerde RSA-certificaat voor de uitgaande richting.
Let op: de vooraf geïnstalleerde Trusted CA Certificate Store (System List) op ESA bevat geen ECC (ECDSA)-basiscertificaten. U kunt handmatig vertrouwde ECC-basiscertificaten aan de aangepaste lijst toevoegen om de vertrouwensketen van de ECC verifieerbaar te maken.
Als u de voorkeur wilt geven aan DHE/ECDHE-coderingen die PFS bieden, wijzigt u de selectie sslconfig-codering.
- Voeg deze string toe aan de huidige cipher selectie.
"EDH+TLSv1.2:ECDH+TLSv1.2:EDH+HIGH:EDH+MEDIUM:ECDH+HIGH:ECDH+MEDIUM"
Aanbevolen sslconfig-instellingen voor OUTBOUND
In dit voorbeeld wordt een aanbevolen configuratie weergegeven die alleen coderingen toestaat die over het algemeen als sterk en veilig worden beschouwd.
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
De tekenreeks die is ingevoerd in sslconfig resulteert in deze lijst met ondersteunde cijfers voor 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
Verifiëren
Gebruik deze stappen om te controleren of ESA de voorkeur geeft aan PFS-coderingssuites.
- Voer sslconfig uit en bekijk de geconfigureerde inkomende en uitgaande cijfertekenreeksen.
- Bevestig dat de coderingsselectie EDH omvat voor DHE-voorkeur en, voor uitgaand verkeer, ECDH-vermeldingen indien van toepassing.
- Controleer de resulterende versleutelingslijst die wordt weergegeven door sslconfig en bevestig dat DHE- of ECDHE-versleutelingssuites worden weergegeven vóór RSA-sleuteluitwisselingsversleutelingssuites.
- Test een TLS-verbinding en bevestig dat de onderhandelde coderingssuite DHE of ECDHE gebruikt wanneer de externe TLS-peer deze ondersteunt.
Problemen oplossen
Gebruik deze controles als ESA niet onderhandelt over een PFS-coderingssuite.
- Controleer of de geconfigureerde sslconfig-coderingsreeks EDH voor inkomend verkeer en de vereiste EDH- of ECDH-waarden voor uitgaand verkeer bevat.
- Bevestig dat de externe TLS-server of TLS-client DHE- of ECDHE-coderingssuites ondersteunt. Als de peer ze niet ondersteunt, kan ESA onderhandelen over een niet-PFS-coderingssuite die nog steeds is toegestaan door de configuratie.
- Bevestig voor uitgaande ECDSA-sessies dat de peer geen ECDSA-clientcertificaat nodig heeft. ESA presenteert het geconfigureerde RSA-certificaat voor de uitgaande richting wanneer een clientcertificaat wordt aangevraagd.
- Bevestig voor uitgaande ECC-vertrouwensvalidatie dat de vereiste ECC-basiscertificaten aanwezig zijn in de aangepaste lijst als ze niet zijn opgenomen in de systeemlijst.
Gerelateerde informatie