SSLProtocol: Незаконный протокол TLSv1.1 в Linux

Я знаю, ты думаешь, что это повторяющийся вопрос, но сначала выслушай меня. Я не могу найти ответ в системе с той же конфигурацией, что и min, поэтому вот мой сервер conf:

Red Hat 4.1.2-44
CentOS, выпуск 5
OpenSSL 1.0.2a
Версия сервера: Apache / 2.2.3

У меня возникла проблема с протоколом, когда я установил новый сертификат SSL. Я обнаружил, что у меня включен TLSv1. Затем я просмотрел статью (ссылка: https://www.leaderssl.com/news/471-how-to-disable-outdated-versions-of-ssl-tls-in-apache ), чтобы попробуйте отключить TLSv1. Я пробовал несколько возможных решений, но получаю либо Illegal protocol 'TLSv1.1' in linux error, либо Нет доступных протоколов SSL [подсказка: SSLProtocol]

Я получаю Illegal протокол 'TLSv1.1' при сбое команды перезапуска (перезапуск службы httpd) после того, как я изменил протокол SSL на SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1`) enter image description here

и когда я применяю протокол SSL: SSLProtocol all -SSLv2 -SSLv3 , сервер успешно перезагружается, но я получаю сообщение об ошибке в журнале ошибок httpd с сообщением Нет доступных протоколов SSL [подсказка: SSLProtocol]

0
задан 14 July 2020 в 05:59
2 ответа

Срок службы CentOS 5 истек на несколько лет (март 2017 г.)и никогда не будет поддерживать TLS 1.1 или выше, даже если вы попытаетесь заменить критически важные системные библиотеки, как кто-то, кажется, сделал с этой системой.

Эту систему следовало обновить несколько лет назад. Его больше нельзя откладывать. Если вам нужна поддержка TLS 1.1 и выше, вам необходимо перейти на поддерживаемую в настоящее время версию CentOS (7 или 8, предпочтительно 8).

2
ответ дан 4 January 2021 в 09:24

ПРЕДУПРЕЖДЕНИЕ: УЖАСНЫЙ ПОДХОД ВЗЛОМ

Я очень удивлен, что у вас есть OpenSSL 1.0.2a. Одна тестовая виртуальная машина, которую я заархивировал с помощью CentOS 5.6, имеет 1.0.1e, а rpmfind показывает то же самое для 6.10, поэтому я не ожидал, что у любой 5 будет больше. Однако и 1.0.1, и 1.0.2 реализуют (ed) TLSv1.1 и TLSv1.2; это ваша старая версия Apache, которая не знает, как настроить их в OpenSSL. Итак:

  • укажите SSLProtocols all -SSLv3 -TLSv1

  • убедитесь, что SSLCiphers отключает все шифровальные наборы SSLv2. /etc/ssl/conf.d/ssl.conf в моем mod_ssl пакете, который имеет версию 2.2.15 (выше, чем у вас, если он синхронизирован с остальной частью Apache), уже имеет ! SSLv2 среди нескольких «удалений», но если у вас нет, или он был удален / изменен / заменен в вашей конфигурации, добавьте его

В результате этой комбинации Apache думает , что включен протокол, а именно SSLv2, но поскольку наборы шифров для SSLv2 не пересекаются с наборами шифров для более высоких протоколов, параметр ciphersuite предотвращает фактическое успешное рукопожатие SSLv2, таким образом обрабатывая безумно глупых клиентов или (что более важно ) сканеры безопасности и аудиторы. SSLv3 и TLSv1.0 отключены, как указано, а TLSv1.1 и TLSv1.2 (оба) остаются включенными, потому что ваш Apache не отключил (и не смог) их. Работает при тестировании на копии моей вышеупомянутой архивной виртуальной машины.

НЕ используйте SSLProtocols SSLv2 как «сокращение». Я не уверен, но это может привести к тому, что mod_ssl будет использовать конкретный метод SSLv2 (то есть функцию), а не общий метод (ошибочно названный SSLv23 в этих версиях OpenSSL; в 1.1.x он был наконец исправлен для метода TLS_ *) с флагами option. Последнее вам абсолютно необходимо.

Тем не менее, я согласен с Майклом: замените эту систему как можно скорее

0
ответ дан 4 January 2021 в 09:24

Теги

Похожие вопросы