Unsichere TLS Cipher Suites abschalten
Unsichere Verschlüsselungssammlungen sind ein Grund dafür, das gewisse Services von einem Webbrowser verweigert werden können.
SSL/TLS sind Protokolle, die eine verschlüsselte Verbindung zwischen zwei Teilnehmern garantiert. SSL/TLS unterstützt dabei die verschiedensten Algorithmen, wobei viele bereits als unsicher gelten, da entweder der Algorithmus Schwächen aufweist, die verwendeten Schlüssel zu kurz oder die Cipher Suite bereits als gebrochen gilt.
Disable all insecure TLS Cipher Suites
Um die Möglichkeit einer unsicheren Verbindung nicht aufkommen zu lassen, ist es empfehlenswert, sämtliche Algorithmen, die nur eine Pseudo-Verschlüsselung oder eine unzureichende Verschlüsselung bieten, zu deaktivieren.
Moderne Systeme sollten unsichere Cipher Suiten gar nicht mehr unterstützen.
Dieses Skript enthält eine Liste unsicherer Cipher Suites; sofern diese auf dem System vorhanden sind, direkt deaktiviert werden.
Disable all insecure Cipher Suites
Die Cipher Suiten lassen sich vorher und nachher mit diesem Befehl auslesen.
# (Get-TlsCipherSuite).Name
$InsecureCiphers =
@(
“TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA”
“TLS_DH_anon_EXPORT_WITH_RC4_40_MD5”
“TLS_DH_anon_WITH_3DES_EDE_CBC_SHA”
“TLS_DH_anon_WITH_AES_128_CBC_SHA”
“TLS_DH_anon_WITH_AES_128_CBC_SHA256”
“TLS_DH_anon_WITH_AES_128_GCM_SHA256”
“TLS_DH_anon_WITH_AES_256_CBC_SHA”
“TLS_DH_anon_WITH_AES_256_CBC_SHA256”
“TLS_DH_anon_WITH_AES_256_GCM_SHA384”
“TLS_DH_anon_WITH_ARIA_128_CBC_SHA256”
“TLS_DH_anon_WITH_ARIA_128_GCM_SHA256”
“TLS_DH_anon_WITH_ARIA_256_CBC_SHA384”
“TLS_DH_anon_WITH_ARIA_256_GCM_SHA384”
“TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA”
“TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256”
“TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256”
“TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA”
“TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256”
“TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384”
“TLS_DH_anon_WITH_DES_CBC_SHA”
“TLS_DH_anon_WITH_RC4_128_MD5”
“TLS_DH_anon_WITH_SEED_CBC_SHA”
“TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA”
“TLS_DH_DSS_WITH_DES_CBC_SHA”
“TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA”
“TLS_DHE_DSS_WITH_DES_CBC_SHA”
“TLS_DHE_PSK_WITH_NULL_SHA”
“TLS_DHE_PSK_WITH_NULL_SHA256”
“TLS_DHE_PSK_WITH_NULL_SHA384”
“TLS_DHE_PSK_WITH_RC4_128_SHA”
“TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA”
“TLS_DHE_RSA_WITH_DES_CBC_SHA”
“TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA”
“TLS_DH_RSA_WITH_DES_CBC_SHA”
“TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA”
“TLS_ECDH_anon_WITH_AES_128_CBC_SHA”
“TLS_ECDH_anon_WITH_AES_256_CBC_SHA”
“TLS_ECDH_anon_WITH_NULL_SHA”
“TLS_ECDH_anon_WITH_RC4_128_SHA”
“TLS_ECDH_ECDSA_WITH_NULL_SHA”
“TLS_ECDH_ECDSA_WITH_RC4_128_SHA”
“TLS_ECDHE_ECDSA_WITH_NULL_SHA”
“TLS_ECDHE_ECDSA_WITH_RC4_128_SHA”
“TLS_ECDHE_PSK_WITH_NULL_SHA”
“TLS_ECDHE_PSK_WITH_NULL_SHA256”
“TLS_ECDHE_PSK_WITH_NULL_SHA384”
“TLS_ECDHE_PSK_WITH_RC4_128_SHA”
“TLS_ECDHE_RSA_WITH_NULL_SHA”
“TLS_ECDHE_RSA_WITH_RC4_128_SHA”
“TLS_ECDH_RSA_WITH_NULL_SHA”
“TLS_ECDH_RSA_WITH_RC4_128_SHA”
“TLS_GOSTR341112_256_WITH_28147_CNT_IMIT”
“TLS_GOSTR341112_256_WITH_KUZNYECHIK_CTR_OMAC”
“TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_L”
“TLS_GOSTR341112_256_WITH_KUZNYECHIK_MGM_S”
“TLS_GOSTR341112_256_WITH_MAGMA_CTR_OMAC”
“TLS_GOSTR341112_256_WITH_MAGMA_MGM_L”
“TLS_GOSTR341112_256_WITH_MAGMA_MGM_S”
“TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5”
“TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA”
“TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5”
“TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA”
“TLS_KRB5_EXPORT_WITH_RC4_40_MD5”
“TLS_KRB5_EXPORT_WITH_RC4_40_SHA”
“TLS_KRB5_WITH_3DES_EDE_CBC_MD5”
“TLS_KRB5_WITH_DES_CBC_MD5”
“TLS_KRB5_WITH_DES_CBC_SHA”
“TLS_KRB5_WITH_IDEA_CBC_MD5”
“TLS_KRB5_WITH_RC4_128_MD5”
“TLS_KRB5_WITH_RC4_128_SHA”
“TLS_NULL_WITH_NULL_NULL”
“TLS_PSK_WITH_NULL_SHA”
“TLS_PSK_WITH_NULL_SHA256”
“TLS_PSK_WITH_NULL_SHA384”
“TLS_PSK_WITH_RC4_128_SHA”
“TLS_RSA_EXPORT_WITH_DES40_CBC_SHA”
“TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5”
“TLS_RSA_EXPORT_WITH_RC4_40_MD5”
“TLS_RSA_PSK_WITH_NULL_SHA”
“TLS_RSA_PSK_WITH_NULL_SHA256”
“TLS_RSA_PSK_WITH_NULL_SHA384”
“TLS_RSA_PSK_WITH_RC4_128_SHA”
“TLS_RSA_WITH_DES_CBC_SHA”
“TLS_RSA_WITH_NULL_MD5”
“TLS_RSA_WITH_NULL_SHA”
“TLS_RSA_WITH_NULL_SHA256”
“TLS_RSA_WITH_RC4_128_MD5”
“TLS_RSA_WITH_RC4_128_SHA”
“TLS_SHA256_SHA256”
“TLS_SHA384_SHA384”
“TLS_SM4_CCM_SM3”
“TLS_SM4_GCM_SM3”
)
$SuitesEnabled = @()
foreach($CSuite in $InsecureCiphers){
Foreach ($CS in (Get-TlsCipherSuite -Name $CSuite)) {Disable-TlsCipherSuite -Name $CS.name}
}
Verschlüsselungssuites mit der Powershell verwalten
In diesem Dokument suchen wir nach unsicheren Ciphersuiten, lassen uns die Eigenschaften anzeigen und deaktivieren anschließend die unsicheren Suiten.
Get-TLSCipherSuite | ft name, Exchange, Cipher, Hash, Certificate
Recommended Cipher Suites 2023-2024
Die in dieser Liste empfohlenden Cipher Suiten für TLS v1.2 können bedenkenlos eingesetzt werden.
SHA256: 903C6A3964B57658BF0986E31BDA41A386F996662F2381ECA0E73388AA224ADC
Die Excelliste enthält ebenso die korrespondierenden OpenSSL Cipher Suites sowie weitere wichtige Details zur Anwendung.