Пожалуйста, смотрите раздел РЕДАКТИРОВАТЬ в моем собственном ответе; они содержат объяснение этой головоломки .
Я пытаюсь отключить RC4 для сервера Apache 2.2.9, работающего на CentOS 6.5 VPS, и не могу добиться успеха.
Установлен недавно приобретенный бизнес-проверенный сертификат, и SSL-соединения работают нормально, но я хотел как можно лучше настроить вещи, чтобы «усилить безопасность», как утверждают некоторые учебники.
При проверке конфигурации с помощью Qualys SSL Labs на странице результатов отображается сообщение «Этот сервер принимает слабый шифр RC4. Оценка ограничена до B.»
Тем не менее, я поместил это в ssl.conf:
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3
Я сохранил сценарий, приведенный в ответе на этот вопрос, в файл с именем test-ssl-ciphers.sh и изменил IP-адрес на адрес обратной связи. Это результат ./test-ssl-ciphers.sh | grep -i "RC4"
:
Testing ECDHE-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDHE-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing AECDH-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing ECDH-RSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing ECDH-ECDSA-RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-SHA...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing RC4-MD5...NO (sslv3 alert handshake failure)
Testing PSK-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-SHA...NO (no ciphers available)
Testing KRB5-RC4-MD5...NO (no ciphers available)
Testing EXP-ADH-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-RC4-MD5...NO (sslv3 alert handshake failure)
Testing EXP-KRB5-RC4-SHA...NO (no ciphers available)
Testing EXP-KRB5-RC4-MD5...NO (no ciphers available)
Каждая из этих строк содержит «НЕТ», что, согласно сценарию, означает, что сервер не поддерживает указанную комбинацию шифров.
Более того, команда grep -i -r "RC4" /etc/httpd
дает мне только вышеупомянутый файл ssl.conf.
Кроме того, при работе openssl ciphers -V
в моем наборе шифров вообще не отображаются шифры RC4, что имеет смысл, учитывая строку конфигурации.
Поэтому я почему-то растерялся относительно того, почему веб-сайты проверки SSL говорят мне, что «сервер принимает RC4». Они даже перечисляют следующие шифры как принятые:
TLS_RSA_WITH_RC4_128_MD5
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
У кого-нибудь есть возможное объяснение? Что я делаю что-то не так? Может быть, есть другое место, где настраивается поддержка RC4 или «принятие»?
Благодарю.
[ EDIT ] Используя CentOS 6.6 на домашней виртуальной машине, я снова запустил скрипт для своего VPS, используя его доменное имя вместо адреса обратной связи. Эта настройка подразумевает, что список шифров предоставляется экземпляром openssl в виртуальной машине: у меня все еще нет RC4 среди шифров, которые дают YES.
источник
Лаборатории Qualys SSL кажутся очень чувствительными к хостам по умолчанию и т. Д. Убедитесь, что ВСЕ ваши HTTPS VirtualHosts на этом IP-адресе используют одинаковые настройки (кроме файлов сертификатов), у меня была похожая проблема, когда некоторые тесты Qualys тестировались на моем целевом VirtualHost и некоторые тесты, похоже, подобрали виртуальный хост по умолчанию. У моего целевого vhost был включен только один шифр, но Qualys находил гораздо больший список из стандартного vhost.
Я также нашел более красивый сценарий здесь , что дает более полную информацию о SSL тестах.
источник
Просто просматривал это для одного из моих сайтов. Исходя из ответа @ AbVog, я обнаружил, что мои директивы на самом деле были только внутри стандартного vhost. Когда я переместил директивы в глобальный контекст, все было хорошо.
Кроме того, я также наткнулся на https://cipherli.st/, в котором есть хороший список настроек SSL для нескольких пакетов. Текущая рекомендация для apache следующая:
источник
На моей Fedora 25 с Apache / 2.4.25 шифры обрабатываются крипто-политиками (см. / Etc / cryptopolicies / backends). В настройке по умолчанию RC4 полностью отключен, поэтому нет необходимости вмешиваться в шифры в настройке Apache. За исключением того, что вы используете последний ssl.conf, так как он не установлен по умолчанию, но оставлен как ssl.conf.rpmnew в каталоге conf.d.
Чтобы настроить SSL, мне просто нужно было указать сертификаты, ServerName и DocumentRoot. Для Squirrelmail это.
источник