Unsichere TLS Ciphers deaktivieren

Disable all insecure TLS Cipher Suites

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.

Unsichere TLS Cipher Suites abschalten

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

Verwaltung von Ciphersuiten

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.