Деактивиране на SSLv2 и слаби шифри
Съответствие с PCI - Деактивиране на SSLv2 и слаби шифри
Съгласно стандарта за сигурност на данните в индустрията на платежните карти (PCI DSS), търговците, които обработват данни за кредитни карти, са длъжни да използват силни криптографски и протоколи за сигурност, като SSL/TLS или IPSEC, за да защитят чувствителните данни на картодържателите по време на предаването им през отворени, публични мрежи.
Какво означава това? За да потвърдите съответствието си с PCI DSS в тази област, трябва да се уверите, че съответните сървъри във вашата PCI среда са конфигурирани да не позволяват Secure Sockets Layer (SSL) версия 2, както и „слаба“ криптография. От вас се изисква също така да провеждате тримесечни сканирания за уязвимости в сигурността на PCI на вашите външни PCI системи. Без да деактивирате SSLv2 и слабите шифри, почти сигурно е, че ще се провалите на сканиранията. Това от своя страна ще доведе до несъответствие с изискванията, както и до свързаните с това рискове и последствия.
Дилемата SSLv2
Поддържа ли вашият сървър SSLv2?
Как да тествате:
Трябва да имате инсталиран OpenSSL на системата, от която ще извършвате тестовете. След като го инсталирате, използвайте следната команда, за да тествате уеб сървъра си, като приемете, че порт 443 е мястото, където предоставяте https връзки:
# openssl s_client -ssl2 -connect SERVERNAME:443
Ако сървърът не поддържа SSLv2, ще получите съобщение за грешка, подобно на следното:
# openssl s_client -ssl2 -connect SERVERNAME:443
CONNECTED(00000003)
458:error:1407F0E5:SSL routines:SSL2_WRITE:ssl handshake failure:s2_pkt.c:428:
Как да конфигурирате Apache v2 да не приема SSLv2 връзки:
Трябва да промените директивата SSLCipherSuite във файла httpd.conf или ssl.conf.
Пример за това е редактирането на следните редове, така че да изглеждат по следния начин:
SSLProtocol -ALL +SSLv3 +TLSv1
Рестартирайте процеса на Apache и се уверете, че сървърът функционира. Извършете повторно тестване с OpenSSL, за да потвърдите, че SSLv2 вече не се приема.
Как да конфигурирате Microsoft IIS да не приема SSLv2 връзки:
Ще трябва да промените системния регистър.
Обединете следните ключове в системния регистър на 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
Рестартирайте системата и се уверете, че сървърът функционира. Извършете повторно тестване с OpenSSL, за да потвърдите, че SSLv2 вече не се приема.
Тези досадни слаби SSL шифри
Поддържа ли вашият сървър слаби SSL шифри?
Как да тествате:
Трябва да имате инсталиран OpenSSL на системата, от която ще извършвате тестовете. След като го инсталирате, използвайте следната команда, за да тествате уеб сървъра си, като приемете, че порт 443 е мястото, където предоставяте https връзки:
# openssl s_client -connect SERVERNAME:443 -cipher LOW:EXP
Ако сървърът не поддържа слаби шифри, трябва да получите грешка, подобна на следната:
# 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:
Как да конфигурирате Apache v2 да не приема слаби SSL шифри:
Ще трябва да промените директивата SSLCipherSuite във файла httpd.conf или ssl.conf.
Пример за това е редактирането на следните редове, така че да изглеждат по следния начин:
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Рестартирайте процеса на Apache и се уверете, че сървърът функционира. Извършете повторно тестване с OpenSSL, за да потвърдите, че слабите SSL шифри вече не се приемат.
Как да конфигурирате Microsoft IIS да не приема слаби SSL шифри:
Ще трябва да промените системния регистър.
Обединете следните ключове в системния регистър на 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]
"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
Рестартирайте системата и се уверете, че сървърът функционира. Извършете повторно тестване с OpenSSL, за да потвърдите, че слабите SSL шифри вече не се приемат.
В този момент помолете вашия одобрен доставчик на сканиране (ASV) да сканира вашата външна PCI среда, за да я валидира. Направените по-горе промени трябва да доведат до това, че ASV сканирането да не маркира и да не ви отхвърли по отношение на следните уязвимости:
- SSL сървърът поддържа слабо криптиране
- SSL сървърът позволява криптиране с ясен текст
- SSL сървърът може да бъде принуден да използва слабо криптиране
- SSL сървърът позволява анонимна автентификация