Предоставьте Apache SSLCipherSuite, который пройдет проверку соответствия PCI

Я пытаюсь получить сервер Fedora 14 с Apache 2.2.17, чтобы передать проверку соответствия PCI-DSS McAfee ScanAlert. Моя первая попытка использовать стандартные SSLCipherSuite и SSLProtocol-директивы, установленные в ssl.conf...

SSLProtocol    ALL -SSLv2
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP

не удалось назвать, что слабые шифры были включены. Сканирование с помощью инструментов ssllabs и serversniff показало, что действительно доступны 40 и 56 бит ключей.

Затем я изменил на...

SSLProtocol -ALL +SSLv3 +TLSv1

и попробовал все перечисленные ниже строки на разных сайтах, чтобы передавать проверки PCI из разных поставщиков...

SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH
SSLCipherSuite ALL:!ADH:!NULL:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:-LOW:+SSLv3:+TLSv1:-SSLv2:+EXP:+eNULL
SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:RC4+RSA:+HIGH:+MEDIUM
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH

Я перезапускаю apache после обновлений, и apachectl configtest говорит, что мой синтаксис в порядке. Последующие сканирования ScanAlert все провалились, а другие инструменты сканирования продолжают показывать доступные 40 и 56 бит шифров. Я попытался добавить SSLProtocol и SSLCipherSuite прямо в VirtualHost в httpd.conf, и это не помогло.

На самом деле кажется, что что-то где-то переопределяет эти параметры, но я ничего не могу найти где-либо, что устанавливает эти значения, отличные от ssl.conf.

Если кто-то может предоставить известный хороший SSLCipherSuite, прошедший недавнее сканирование PCI, это поможет значительно решить мою проблему.

Спасибо.

Ответы

Ответ 1

После нескольких часов поиска и вытягивания волос я нашел свою проблему.

Директивы SSLProtocol и SSLCipherSuite по умолчанию в моем ssl.conf хранятся в контейнере по умолчанию, помеченном как <VirtualHost _default_:443>.

У моего фактического сайта есть собственный контейнер с его IP-адресом, например: <VirtualHost 64.34.119.12:443>. Изменение значений в контейнере _default_ не повлияло, но добавление более сильных директив SSLProtocol и SSLCipherSuite непосредственно к контейнеру VirtualHost на конкретном сайте, наконец, позволило им вступить в силу.

Не знаю, почему настройка контейнера _default_ или их наличие в контейнере VirtualHost в httpd.conf не работала.

В качестве окончательного ответа на вопрос я использовал...

SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH

передать сканирование ScanAlert. Я бы поспорил, что большинство других строк выше будет работать также.

Ответ 2

При обнаружении новых уязвимостей и обновлении браузеров ответы здесь могут (будут) устаревать. Я бы посоветовал вам полагаться на Mozilla SSL Configuration Generator, чтобы проверить, какую конфигурацию вы должны использовать.

enter image description here

Ответ 3

Вы сказали Apache, чтобы обеспечить шифрование?

SSLHonorCipherOrder на

Ответ 4

FYI - я обнаружил, что этот параметр:

SSLCipherSuite HIGH:!SSLv2:!ADH

Произведен тот же список протоколов, что и этот параметр:

SSLCipherSuite ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH

В соответствии с:

openssl ciphers -v 'ALL:!ADH:!NULL:!EXP:!SSLv2:!LOW:!MEDIUM:RC4+RSA:+HIGH'
openssl ciphers -v 'HIGH:!SSLv2:!ADH'

Ответ 5

Для Qualys рекомендуется следующая конфигурация, она предоставила нам A на своем сканере

SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"

Да, также убедитесь, что Apache может прочитать новую конфигурацию. Я помещаю его непосредственно в контейнер виртуального хоста.

На своем веб-сайте: https://community.qualys.com/blogs/securitylabs/2013/08/05/configuring-apache-nginx-and-openssl-for-forward-secrecy

Ответ 6

Посмотрите Mozilla Wiki.

Цель этого документа - помочь операционным командам с настройкой TLS на серверах.