Отключение TLS 1.0 в Apache 2.4
Я не техничный, но умеющий читать руководство пользователя. Я использую Apache 2.4.10 на сервере Debian 9.0. Я хотел бы отключить TLS 1.0. Я прочитал документацию Apache для директивы SSLProtocol.
В моем файле виртуального хоста я использовал следующую директиву:
SSLProtocol all -TLSv1 -SSLv3
Это не сработало, даже после перезагрузки и перезапуска Apache. Затем я добавил ту же директиву и в файл ssl.conf, просто чтобы быть уверенным, и все равно не повезло, даже после перезагрузки и перезапуска. Я также попробовал то же самое со следующей директивой:
SSLProtocol +TLSv1.1 +TLSv1.2
Все еще не повезло. Я выполнил следующий поиск, чтобы посмотреть, не использовал ли я директиву SSLProtocol где-то еще в моих файлах конфигурации, но опять-таки не повезло:
grep -R 'SSLProtocol' .
Я также проверил файл.htaccess для веб-сайта, чтобы убедиться, что я ничего не переопределил (хотя я не знаю, что вы можете изменить этот параметр в файле.htaccess). Есть идеи? Спасибо за помощь!
2 ответа
В большом количестве случаев для этой "ошибки" оказывается, что если на вашем сервере установлен letsencrypt, то его конфигурационный файл устанавливает протоколы, которые заменяют настройки ssl.conf или vhosts:
/etc/letsencrypt/options-ssl-apache.conf
Есть ответ на этот вопрос здесь:
Как отключить TLS 1.1 и 1.2 в Apache?
По сути, вы должны отключить этот протокол в файле ssl.conf. Выполнение этого в вашем vhosts.conf или аналогичном файле не будет работать (хотя установка этой конфигурации правильна) из-за ошибки в OpenSSL, о которой сообщается в одном из приведенных там ответов.
На сегодняшний день, 15.11.2008, существует известная ошибка, связанная с невозможностью отключить tls1.0 в Apache 2.4. Так что не бейся, когда твоя модификация просто не работает без причины. Надеюсь, мы сможем исправить это в ближайшее время.
Также сформируйте билет
Похоже, что это изменилось где-то между 2.4.18 + 2.4.23, так как настройка использования SSLProtocol должна соблюдаться.