Вимкнення SSLv2 та Слабого кодування
Відповідно до Payment Card Industry Data Security Standard (PCI DSS), підприємства, що використовують дані кредитних карток зобов'язані використовувати стійкі криптографічні алгоритми та протоколи, такі як SSL/TLS або IPSEC, для захисту особистих даних про власників карток при їх передачі по відкритим загальнодоступним мереж.
Що це означає? Для того, щоб відповідати PCI DSS у цій галузі, Ви повинні переконатися, що Ваші відповідні сервери, пов'язані з PCI, налаштовані на заборону Secure Sockets Layer (SSL) версії 2 та "слабкого" кодування. Ви також повинні підтримувати щоквартальне PCI сканування на наявність уразливості безпеки. Без відключення SSLv2 Ви майже гарантовано не пройдете це сканування. У свою чергу це призведе до невідповідності PCI DSS разом з наслідками та ризиками.
Чи підтримує Ваш сервер SSLv2?
Ви маєте встановити OpenSSL, щоб Ви могли провести тестування. Після встановлення використовуйте наступну команду для тестування сервера (припускаючи, що httpsз'єднання використовується на порті 443):
# openssl s_client -ssl2 -connect SERVERNAME:443
# 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. Прикладом може бути редагування наступних рядків на:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server] "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControl2.0\Server] "Enabled"=dword:00000000
Перезапустіть систему та переконайтеся, що сервер працює. Також повторно проведіть тестування за допомогою OpenSSL, щоб переконатися, що SSLv2 більше не приймаються.
СлабкеSSL кодування
Чи підтримує Ваш сервер слабке SSL кодуванняЯк дізнатися:
Ви маєте встановити OpenSSL, щоб Ви могли провести тестування. Після встановлення використовуйте наступну команду для тестування Вашого сервера (припускаючи, що httpsз'єднання використовується на порті 443):
# 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:s22_lib.
Перезапустіть систему та переконайтеся, що сервер працює. Також повторно проведіть тестування за допомогою OpenSSL, щоб переконатися, що слабке кодування більше не приймається.
Як налаштувати Microsoft IIS на заборону слабкого SSL кодування:Вам потрібно буде змінити реєстр системи. З'єднайте такі ключі в реєстрі Windows:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56] "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128] "Enabled"=dword:00000000 <1 \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
Перезапустіть систему та переконайтеся, що сервер працює. Також повторно проведіть тестування з використанням OpenSSL, щоб переконатися, що слабке кодування більше не приймається.
Якщо вказані вище зміни, то при ASV(Approved Scanning Vendor) скануванні не виявляться наступні вразливості:
- SSL сервер підтримує слабке кодування
- SSL сервер дозволяє Cleartext кодування
- SSL сервер може бути змушений використовувати слабке кодування
- SSL сервер дозволяє анонімну аутентифікацію