Вимкнути 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-сервер дозволяє анонімну автентифікацію