Будь ласка, див. Розділи EDIT у моїй власній відповіді; вони містять пояснення до цієї головоломки .
Я намагаюся відключити RC4 для сервера Apache 2.2.9, який працює на CentOS 6.5 VPS, і я не можу досягти успіху.
Нещодавно придбаний сертифікат, підтверджений бізнесом, встановлено, і SSL-з'єднання працюють нормально, але я хотів налаштувати речі якомога краще, щоб "закріпити безпеку", як це викладено в деяких посібниках.
Перевіряючи конфігурацію з лабораторіями Qualys SSL, сторінка результатів показує "Цей сервер приймає шифр RC4, який є слабким. Ступінь до B
Проте, я поставив це в ssl.conf:
SSLCipherSuite HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!SSLv2:!SSLv3
Я зберегла сценарій, наведений у відповіді це питання у файлі з ім'ям test-ssl-ciphers.sh і змінив IP-адресу на адресу loopback. Це результат ./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)
Кожен з цих рядків містить "NO", який, за сценарієм, означає, що сервер не підтримує вказану комбінацію шифру.
Більше того, команда 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, використовуючи його доменне ім'я замість адреси loopback. Ця установка передбачає, що список шифрів забезпечується екземпляром openssl у VM: я ще не маю RC4 серед шифрів, які дають YES.