Вопрос или проблема
Я использую CentOS 5 с Apache2.
В дополнительный файл конфигурации:
/etc/apache2/conf/extra/ssl.conf
Я добавил следующие строки:
SSLHonorCipherOrder On
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
Я все еще не могу включить TLSv1.3. Ошибка возникает при перезапуске сервиса:
Starting httpd: Syntax error on line 113 of /etc/apache2/conf/extra/ssl.conf: SSLProtocol: Illegal protocol 'TLSv1.3'
Система: CentOS 5.11 (Final).
OpenSSL: 1.1.1a 20 ноя 2018.
Обратите внимание, что вам потребуется самая последняя версия Apache, чтобы следующее сработало:
SSLProtocol -all +TLSv1.3 +TLSv1.2
Это проще, чем отключать все остальные устаревшие протоколы.
Затем необходимо отдельно определить наборы шифров до TLSv1.3. Например, так:
SSLCipherSuite TLSv1.3 TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256
SSLCipherSuite SSL ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256
Ответ или решение
Настройка поддержки TLSv1.3 в Apache2 на CentOS 5 представляет собой достаточно сложную задачу, учитывая возраст операционной системы и программного обеспечения. Тем не менее, постараемся разобрать шаги, которые вам необходимо предпринять для достижения результата.
Анализ проблемы
Вы используете CentOS 5.11 с Apache2 и OpenSSL версии 1.1.1a. Учитывая, что CentOS 5.y и соответствующие версии Apache не поддерживают TLSv1.3 по умолчанию, возникновение ошибки при попытке его активации вполне объяснимо. Проблема заключается в старой версии Apache, которая явно не поддерживает данный протокол.
Решение
-
Обновите операционную систему
- Поддержка CentOS 5 давно прекращена, что делает систему уязвимой и несовместимой с современными протоколами безопасности. Рассмотрите возможность обновления до более новой версии, например, CentOS 7 или 8.
-
Обновите Apache
- Использование старой версии Apache не позволит использовать новейшие протоколы. Вам потребуется версия Apache 2.4 или выше для поддержки TLSv1.3.
- Убедитесь, что установлены необходимые репозитории, например EPEL или другие со сторонними новыми версиями Apache.
-
Переустановите и настройте OpenSSL
- Убедитесь, что у вас установлена последняя версия OpenSSL, поддерживающая TLSv1.3. Проверьте версию с помощью команды
openssl version
.
- Убедитесь, что у вас установлена последняя версия OpenSSL, поддерживающая TLSv1.3. Проверьте версию с помощью команды
-
Конфигурация Apache для поддержки TLSv1.3
- После обновления Apache, отредактируйте конфигурационный файл
/etc/httpd/conf.d/ssl.conf
(или в вашей директории), добавив:SSLProtocol -all +TLSv1.2 +TLSv1.3 SSLCipherSuite TLSv1.3 TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256 SSLCipherSuite SSL ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256 SSLHonorCipherOrder On
- Эти строки активируют только TLSv1.3 и TLSv1.2, задавая порядок шифров для совместимости.
- После обновления Apache, отредактируйте конфигурационный файл
-
Перезапустите сервис Apache
- После изменений перезапустите Apache:
sudo systemctl restart httpd
- После изменений перезапустите Apache:
Заключение
Настоящий момент — идеальное время для обновления вашей инфраструктуры, что позволит поддерживать актуальные протоколы безопасности и сократить риски. Данные шаги помогут вам актуализировать вашу систему и соответствовать современным стандартам безопасности.