Сканирование на соответствие стандарту PCI показало, что мы отключили шифры средней и низкой / слабой прочности Apache для обеспечения безопасности. Может кто подскажет, как отключить эти шифры?
Apache v2.2.14 mod_ssl v2.2.14
Вот что они нам сказали:
Сводка: удаленная служба поддерживает использование шифров SSL средней надежности. Описание: удаленный хост поддерживает использование шифров SSL, которые предлагают шифрование средней надежности, которое в настоящее время мы рассматриваем как шифры с длиной ключа не менее 56 бит и менее 112 бит. Решение: по возможности перенастройте уязвимое приложение, чтобы избежать использования шифров средней надежности. Фактор риска: Средний / Базовая оценка CVSS: 5,0 (CVSS2 # AV: N / AC: L / Au: N / C: P / I: N / A: N) [Подробнее]
Сводка: удаленная служба поддерживает использование слабых шифров SSL. Описание: удаленный хост поддерживает использование шифров SSL, которые предлагают либо слабое шифрование, либо его полное отсутствие. Смотрите также : http://www.openssl.org/docs/apps/ciphers .html Решение. По возможности измените конфигурацию уязвимого приложения, чтобы избежать использования слабых шифров. Фактор риска: Средний / Базовая оценка CVSS: 5,0 (CVSS2 # AV: N / AC: L / Au: N / C: P / I: N / A: N) [Подробнее]
В зависимости от ваших потребностей вы можете создать линию SSLCipherSuite, которая выполнит эту работу за вас.
http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslciphersuite
Мои ниже, и они проходят сканирование PCI.
SSLProtocol -ALL +SSLv3 +TLSv1 SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:!LOW:!SSLv2:!EXPORT
Если вы не уверены, что это зашифровано SSLCipherSuite
строка заканчивается разрешающей, вы можете запустить ее через openssl:
openssl ciphers -v 'HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM'
Это даст вам список комбинаций шифров:
DHE-RSA-AES256-SHA SSLv3 Kx=DH Au=RSA Enc=AES(256) Mac=SHA1
DHE-DSS-AES256-SHA SSLv3 Kx=DH Au=DSS Enc=AES(256) Mac=SHA1
DHE-RSA-CAMELLIA256-SHA SSLv3 Kx=DH Au=RSA Enc=Camellia(256) Mac=SHA1
DHE-DSS-CAMELLIA256-SHA SSLv3 Kx=DH Au=DSS Enc=Camellia(256) Mac=SHA1
AES256-SHA SSLv3 Kx=RSA Au=RSA Enc=AES(256) Mac=SHA1
CAMELLIA256-SHA SSLv3 Kx=RSA Au=RSA Enc=Camellia(256) Mac=SHA1
PSK-AES256-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=AES(256) Mac=SHA1
EDH-RSA-DES-CBC3-SHA SSLv3 Kx=DH Au=RSA Enc=3DES(168) Mac=SHA1
EDH-DSS-DES-CBC3-SHA SSLv3 Kx=DH Au=DSS Enc=3DES(168) Mac=SHA1
DES-CBC3-SHA SSLv3 Kx=RSA Au=RSA Enc=3DES(168) Mac=SHA1
PSK-3DES-EDE-CBC-SHA SSLv3 Kx=PSK Au=PSK Enc=3DES(168) Mac=SHA1
...
Изменяйте аргумент, пока не получите список, содержащий только те шифры, которые вам разрешено предлагать.
Обратите внимание, что! MEDIUM также отключит 128-битные шифры, что больше, чем вам нужно для вашего исходного запроса. Следующая конфигурация прошла мое сканирование на соответствие PCI и немного более удобна для старых браузеров:
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
SSLProtocol ALL -SSLv2 -SSLv3
SSL версии 3 небезопасен из-за атаки Poodle (см .:http://disablessl3.com/)
Просто даю другое решение. По предложениям ssltools.com вот их предложение, которое сработало для меня:
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
SSLProtocol -ALL +TLSv1 +TLSv1.1 +TLSv1.2
SSLCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
Это то, что я использую - что, согласно ssllabs.com, обеспечивает высочайший уровень безопасности.
лучше использовать генератор шифров от Mozilla, я следую этому https://mozilla.github.io/server-side-tls/ssl-config-generator
В документация по mod_ssl перечисляет MEDIUM как «все шифры с 128-битным шифрованием», в то время как HIGH описывается как «все шифры с использованием Triple-DES». Я предполагаю, что это ошибка документации, но если не «СРЕДНИЙ», на самом деле выше, чем «ВЫСОКИЙ».
Как вам сказали, вам нужны как минимум 112-битные ключи; это не должно иметь для вас значения, поскольку и HIGH, и MEDIUM будут достаточно сильными, и вы должны включить оба.
Вот что мне пришлось использовать:
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:!MEDIUM:!LOW:!SSLv2:!EXPORT
SSLProtocol -ALL +SSLv3 +TLSv1