SSLv2 en zwakke versleutelingen uitschakelen
PCI-compliance - SSLv2 en zwakke versleutelingsalgoritmen uitschakelen
Volgens de Payment Card Industry Data Security Standard (PCI DSS) zijn handelaren die creditcardgegevens verwerken verplicht om sterke cryptografie en beveiligingsprotocollen zoals SSL/TLS of IPSEC te gebruiken om gevoelige kaartgegevens te beveiligen tijdens de overdracht via open, openbare netwerken.
Wat betekent dit? Om uw PCI DSS-compliance op dit gebied te valideren, moet u ervoor zorgen dat uw relevante server(s) binnen uw PCI-omgeving zo zijn geconfigureerd dat Secure Sockets Layer (SSL) versie 2 en "zwakke" cryptografie niet worden toegestaan. U bent ook verplicht om elk kwartaal PCI-beveiligingsscans uit te voeren op uw extern gerichte PCI-systemen. Zonder SSLv2 en zwakke versleutelingen uit te schakelen, zult u vrijwel zeker niet slagen voor de scans. Dit leidt op zijn beurt tot niet-naleving, met alle bijbehorende risico's en gevolgen van dien.
Het SSLv2-dilemma
Ondersteunt uw server SSLv2?
Hoe te testen:
U moet OpenSSL geïnstalleerd hebben op het systeem waarop u de tests uitvoert. Na installatie gebruikt u de volgende opdracht om uw webserver te testen, ervan uitgaande dat poort 443 de poort is waar u https-verbindingen aanbiedt:
# openssl s_client -ssl2 -connect SERVERNAME:443
Als de server SSLv2 niet ondersteunt, krijgt u een foutmelding die lijkt op het volgende:
# openssl s_client -ssl2 -connect SERVERNAME:443
CONNECTED(00000003)
458:fout:1407F0E5:SSL-routines:SSL2_WRITE:ssl-handshake mislukt:s2_pkt.c:428:
Hoe Apache v2 te configureren om geen SSLv2-verbindingen te accepteren:
U moet de SSLCipherSuite-richtlijn in het bestand httpd.conf of ssl.conf wijzigen.
Een voorbeeld hiervan is het bewerken van de volgende regels, zodat ze er ongeveer zo uitzien:
SSLProtocol -ALL +SSLv3 +TLSv1
Start het Apache-proces opnieuw op en controleer of de server werkt. Test ook opnieuw met OpenSSL om te controleren of SSLv2 niet langer wordt geaccepteerd.
Hoe Microsoft IIS te configureren om geen SSLv2-verbindingen te accepteren:
U moet het register van het systeem wijzigen.
Voeg de volgende sleutels toe aan het Windows®-register:
[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
Start het systeem opnieuw op en controleer of de server functioneert. Test ook opnieuw met OpenSSL om te controleren of SSLv2 niet langer wordt geaccepteerd.
Die vervelende zwakke SSL-cijfers
Ondersteunt uw server zwakke SSL-cijfers?
Hoe te testen:
U moet OpenSSL geïnstalleerd hebben op het systeem waarop u de tests uitvoert. Na installatie gebruikt u de volgende opdracht om uw webserver te testen, ervan uitgaande dat poort 443 de poort is waar u https-verbindingen aanbiedt:
# openssl s_client -connect SERVERNAME:443 -cipher LOW:EXP
Als de server geen zwakke versleutelingen ondersteunt, krijgt u een foutmelding die lijkt op het volgende:
# openssl s_client -connect SERVERNAME:443 -cipher LOW:EXP
CONNECTED(00000003)
461:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:226:
Hoe Apache v2 configureren om geen zwakke SSL-cijfers te accepteren:
U moet de SSLCipherSuite-richtlijn in het bestand httpd.conf of ssl.conf wijzigen.
Een voorbeeld hiervan is het bewerken van de volgende regels, zodat ze er ongeveer zo uitzien:
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Start het Apache-proces opnieuw op en controleer of de server werkt. Test ook opnieuw met OpenSSL om te controleren of zwakke SSL-cijfers niet langer worden geaccepteerd.
Microsoft IIS configureren om geen zwakke SSL-versleutelingen te accepteren:
U moet het register van het systeem wijzigen.
Voeg de volgende sleutels toe aan het Windows®-register:
[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
Start het systeem opnieuw op en controleer of de server functioneert. Test ook opnieuw met OpenSSL om te controleren of zwakke SSL-versleutelingen niet langer worden geaccepteerd.
Laat op dit moment uw Approved Scanning Vendor (ASV) uw externe PCI-omgeving scannen om deze te valideren. Door de bovenstaande wijzigingen door te voeren, zou de ASV-scan u niet moeten markeren en afkeuren voor de volgende kwetsbaarheden:
- SSL-server ondersteunt zwakke versleuteling
- SSL-server staat cleartext-versleuteling toe
- SSL-server kan worden gedwongen om zwakke versleuteling te gebruiken
- SSL-server staat anonieme authenticatie toe



