SSLv2 und schwache Verschlüsselungen deaktivieren
PCI-Konformität – SSLv2 und schwache Verschlüsselungsalgorithmen deaktivieren
Gemäß dem Payment Card Industry Data Security Standard (PCI DSS) sind Händler, die Kreditkartendaten verarbeiten, verpflichtet, starke Verschlüsselungs- und Sicherheitsprotokolle wie SSL/TLS oder IPSEC zu verwenden, um sensible Karteninhaberdaten während der Übertragung über offene, öffentliche Netzwerke zu schützen.
Was bedeutet das? Um Ihre PCI-DSS-Konformität in diesem Bereich zu validieren, müssen Sie sicherstellen, dass Ihre relevanten Server innerhalb Ihrer PCI-Umgebung so konfiguriert sind, dass sie Secure Sockets Layer (SSL) Version 2 sowie „schwache” Verschlüsselung nicht zulassen. Außerdem müssen Sie vierteljährlich PCI-Sicherheitsscans für Ihre externen PCI-Systeme durchführen lassen. Ohne die Deaktivierung von SSLv2 und schwachen Verschlüsselungsalgorithmen werden Sie die Scans mit ziemlicher Sicherheit nicht bestehen. Dies führt wiederum zu einer Nichteinhaltung der Vorschriften und den damit verbundenen Risiken und Konsequenzen.
Das SSLv2-Dilemma
Unterstützt Ihr Server SSLv2?
So testen Sie:
Sie müssen OpenSSL auf dem System installiert haben, von dem aus Sie die Tests durchführen. Nach der Installation verwenden Sie den folgenden Befehl, um Ihren Webserver zu testen, vorausgesetzt, dass Sie https-Verbindungen über Port 443 bereitstellen:
# openssl s_client -ssl2 -connect SERVERNAME:443
Wenn der Server SSLv2 nicht unterstützt, sollten Sie eine Fehlermeldung ähnlich der folgenden erhalten:
# openssl s_client -ssl2 -connect SERVERNAME:443
CONNECTED(00000003)
458:Fehler:1407F0E5:SSL-Routinen:SSL2_WRITE:SSL-Handshake-Fehler:s2_pkt.c:428:
So konfigurieren Sie Apache v2, damit SSLv2-Verbindungen nicht akzeptiert werden:
Sie müssen die SSLCipherSuite-Direktive in der Datei httpd.conf oder ssl.conf ändern.
Ein Beispiel wäre die Bearbeitung der folgenden Zeilen, sodass sie in etwa wie folgt aussehen:
SSLProtocol -ALL +SSLv3 +TLSv1
Starten Sie den Apache-Prozess neu und stellen Sie sicher, dass der Server funktionsfähig ist. Führen Sie außerdem einen erneuten Test mit OpenSSL durch, um zu bestätigen, dass SSLv2 nicht mehr akzeptiert wird.
So konfigurieren Sie Microsoft IIS so, dass keine SSLv2-Verbindungen akzeptiert werden:
Sie müssen die Systemregistrierung ändern.
Fügen Sie die folgenden Schlüssel in die Windows®-Registrierung ein:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server]
„Enabled”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
„Enabled“=dword:00000000
Starten Sie das System neu und stellen Sie sicher, dass der Server funktionsfähig ist. Führen Sie außerdem einen erneuten Test mit OpenSSL durch, um zu bestätigen, dass SSLv2 nicht mehr akzeptiert wird.
Diese lästigen schwachen SSL-Verschlüsselungen
Unterstützt Ihr Server schwache SSL-Verschlüsselungen?
So testen Sie:
Sie müssen OpenSSL auf dem System installiert haben, von dem aus Sie die Tests durchführen möchten. Nach der Installation verwenden Sie den folgenden Befehl, um Ihren Webserver zu testen, vorausgesetzt, Sie stellen https-Verbindungen über Port 443 bereit:
# openssl s_client -connect SERVERNAME:443 -cipher LOW:EXP
Wenn der Server keine schwachen Verschlüsselungen unterstützt, sollten Sie eine Fehlermeldung ähnlich der folgenden erhalten:
# openssl s_client -connect SERVERNAME:443 -cipher LOW:EXP
CONNECTED(00000003)
461:Fehler:140790E5:SSL-Routinen:SSL23_WRITE:SSL-Handshake-Fehler:s23_lib.c:226:
So konfigurieren Sie Apache v2, damit schwache SSL-Verschlüsselungen nicht akzeptiert werden:
Sie müssen die SSLCipherSuite-Direktive in der Datei httpd.conf oder ssl.conf ändern.
Ein Beispiel wäre die Bearbeitung der folgenden Zeilen, sodass sie in etwa wie folgt aussehen:
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Starten Sie den Apache-Prozess neu und stellen Sie sicher, dass der Server funktionsfähig ist. Führen Sie außerdem einen erneuten Test mit OpenSSL durch, um zu bestätigen, dass schwache SSL-Verschlüsselungen nicht mehr akzeptiert werden.
So konfigurieren Sie Microsoft IIS so, dass schwache SSL-Verschlüsselungen nicht akzeptiert werden:
Sie müssen die Systemregistrierung ändern.
Fügen Sie die folgenden Schlüssel in die Windows®-Registrierung ein:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56]
„Enabled”=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\NULL]
„Enabled“=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128]
„Enabled“=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/128]
„Enabled“=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
„Enabled“=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
„Enabled“=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128]
„Enabled“=dword:0000000
Starten Sie das System neu und stellen Sie sicher, dass der Server funktionsfähig ist. Führen Sie außerdem einen erneuten Test mit OpenSSL durch, um zu bestätigen, dass schwache SSL-Verschlüsselungen nicht mehr akzeptiert werden.
Lassen Sie nun Ihren Approved Scanning Vendor (ASV) Ihre nach außen gerichtete PCI-Umgebung zur Validierung scannen. Durch die oben genannten Änderungen sollten die ASV-Scans die folgenden Schwachstellen nicht mehr markieren und zu einem Fehlschlag führen:
- SSL-Server unterstützt schwache Verschlüsselung
- SSL-Server erlaubt Klartextverschlüsselung
- SSL-Server kann zur Verwendung schwacher Verschlüsselung gezwungen werden
- SSL-Server erlaubt anonyme Authentifizierung