Disabilita SSLv2 e cifrari deboli
Conformità PCI - Disabilitare SSLv2 e cifrari deboli
Secondo lo standard PCI DSS (Payment Card Industry Data Security Standard), i commercianti che gestiscono dati relativi alle carte di credito sono tenuti a utilizzare protocolli di crittografia e sicurezza avanzati, quali SSL/TLS o IPSEC, per proteggere i dati sensibili dei titolari delle carte durante la trasmissione su reti pubbliche aperte.
Cosa significa? Per convalidare la conformità PCI DSS in questo ambito, è necessario assicurarsi che i server pertinenti all'interno dell'ambiente PCI siano configurati in modo da non consentire l'uso del protocollo Secure Sockets Layer (SSL) versione 2 e di crittografia "debole". È inoltre necessario eseguire scansioni trimestrali delle vulnerabilità di sicurezza PCI sui sistemi PCI esposti all'esterno. Senza disabilitare SSLv2 e i codici di cifratura deboli, è quasi certo che le scansioni falliranno. Ciò comporterà a sua volta la non conformità, con i rischi e le conseguenze associati.
Il dilemma SSLv2
Il vostro server supporta SSLv2?
Come eseguire il test:
È necessario avere OpenSSL installato sul sistema da cui si eseguono i test. Una volta installato, utilizzare il seguente comando per testare il server web, supponendo che la porta 443 sia quella su cui si forniscono le connessioni https:
# openssl s_client -ssl2 -connect SERVERNAME:443
Se il server non supporta SSLv2, dovresti ricevere un errore simile al seguente:
# openssl s_client -ssl2 -connect SERVERNAME:443
CONNECTED(00000003)
458:errore:1407F0E5:routine SSL:SSL2_WRITE:errore handshake SSL:s2_pkt.c:428:
Come configurare Apache v2 per non accettare connessioni SSLv2:
È necessario modificare la direttiva SSLCipherSuite nel file httpd.conf o ssl.conf.
Un esempio potrebbe essere quello di modificare le seguenti righe in modo che appaiano simili a:
SSLProtocol -ALL +SSLv3 +TLSv1
Riavviare il processo Apache e assicurarsi che il server sia funzionante. Eseguire nuovamente il test utilizzando OpenSSL per confermare che SSLv2 non sia più accettato.
Come configurare Microsoft IIS in modo che non accetti connessioni SSLv2:
È necessario modificare il registro di sistema.
Unire le seguenti chiavi al registro di Windows®:
[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
Riavviare il sistema e assicurarsi che il server sia funzionante. Eseguire nuovamente il test utilizzando OpenSSL per confermare che SSLv2 non sia più accettato.
Quei fastidiosi algoritmi di cifratura SSL deboli
Il tuo server supporta i codici SSL deboli?
Come eseguire il test:
È necessario che OpenSSL sia installato sul sistema da cui si eseguono i test. Una volta installato, utilizzare il seguente comando per testare il server web, supponendo che la porta 443 sia quella su cui si forniscono le connessioni https:
# openssl s_client -connect SERVERNAME:443 -cipher LOW:EXP
Se il server non supporta i codici deboli, dovresti ricevere un errore simile al seguente:
# openssl s_client -connect SERVERNAME:443 -cipher LOW:EXP
CONNESSIONE EFFETTUATA (00000003)
461:errore:140790E5:routine SSL:SSL23_WRITE:errore handshake SSL:s23_lib.c:226:
Come configurare Apache v2 per non accettare cifrari SSL deboli:
È necessario modificare la direttiva SSLCipherSuite nel file httpd.conf o ssl.conf.
Un esempio potrebbe essere quello di modificare le seguenti righe in modo che appaiano simili a:
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Riavviare il processo Apache e assicurarsi che il server sia funzionante. Eseguire nuovamente il test utilizzando OpenSSL per confermare che i codici SSL deboli non siano più accettati.
Come configurare Microsoft IIS in modo che non accetti cifrari SSL deboli:
È necessario modificare il registro di sistema.
Unire le seguenti chiavi al registro di Windows®:
[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]
"Abilitato"=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
Riavvia il sistema e assicurati che il server sia funzionante. Esegui nuovamente il test utilizzando OpenSSL per confermare che i codici SSL deboli non siano più accettati.
A questo punto, chiedi al tuo fornitore di servizi di scansione approvato (ASV) di eseguire una scansione del tuo ambiente PCI esterno per verificarne la validità. Apportando le modifiche sopra indicate, le scansioni ASV non dovrebbero segnalare né segnalare come non conforme il tuo sistema per le seguenti vulnerabilità:
- Il server SSL supporta una crittografia debole
- Il server SSL consente la crittografia in chiaro
- Il server SSL potrebbe essere costretto a utilizzare una crittografia debole
- Il server SSL consente l'autenticazione anonima