Отключить TLS 1.0 и 1.1 в Apache и Nginx

Все версии SSL /TLS протокол до TLS 1.2 теперь устарели и считаются небезопасными. На многих платформах веб-серверов все еще есть TLS 1.0 и TLS 1.1 включен по умолчанию. Однако все современные веб-браузеры совместимы с TLS 1.2. По этой причине владельцам веб-сайтов рекомендуется проверить конфигурацию своего сервера, чтобы убедиться, что только текущие, безопасные версии SSL /TLS включены и все остальные (включая TLS 1.0, TLS 1.1 и SSL 3.0) отключены.

Это руководство включает инструкции по проверке того, какие версии SSL /TLS включены на веб-сайте, отключая устаревшие версии SSL /TLS в Apache и Nginx, а также показаны примеры ошибок браузера, возникающих из-за того, что на серверах работают только устаревшие и небезопасные версии SSL /TLS.

Отметьте Enabled SSL /TLS Версии

Интернет инструменты

Вы можете быстро проверить версии SSL /TLS ваш сайт поддерживает, посетив CDN77 TLS шашка и введите доменное имя, которое хотите проверить. Как видно ниже, https://example.com в настоящее время отключает SSL версии 2 и 3, но включает все версии TLS (включая устаревшие TLS 1.1 и 1.0):

SSL /TLS версии, поддерживаемые example.com

Nmap

Вы также можете проверить наличие SSL /TLS версии и шифры, поддерживаемые сайтом с открытым исходным кодом птар инструмент командной строки:

nmap --script ssl-enum-ciphers -p

Порт по умолчанию для SSL /TLS is 443. Приведенная ниже команда сгенерирует отчет для example.com:

$ nmap --script ssl-enum-ciphers -p 443 example.com Запуск Nmap 7.80 (https://nmap.org) в 2020-08-25 13:10 EDT Отчет о сканировании Nmap для example.com (93.184.216.34) Хост работает (задержка 0.031 с). Другие адреса для example.com (не сканируются): 2606: 2800: 220: 1: 248: 1893: 25c8: 1946 ГОСУДАРСТВЕННАЯ СЛУЖБА ПОРТА 443 / tcp open https | ssl-enum-ciphers: |   TLSv1.0: | шифры: |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (RSA 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (RSA 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (RSA 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (RSA 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (RSA 2048) - A | компрессоры: | NULL | предпочтение шифра: сервер |   TLSv1.1: | шифры: |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (RSA 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (RSA 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (RSA 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (RSA 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (RSA 2048) - A | компрессоры: | NULL | предпочтение шифра: сервер |   TLSv1.2: | шифры: |       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A |       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A |       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_128_GCM_SHA256 (RSA 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA (dh 2048) - A |       TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_AES_256_CBC_SHA (RSA 2048) - A |       TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (RSA 2048) - A |       TLS_RSA_WITH_AES_128_CBC_SHA (RSA 2048) - A |       TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (RSA 2048) - A |       TLS_DHE_RSA_WITH_SEED_CBC_SHA (dh 2048) - A |       TLS_RSA_WITH_SEED_CBC_SHA (RSA 2048) - A | компрессоры: | NULL | предпочтение шифра: сервер | _ наименьшая надежность: Nmap выполнено: 1 IP-адрес (1 хост активен) просканирован за 3.88 секунды

Конфигурация сервера

апаш

Отключить TLS 1.0 и 1.1 в Apache, вам нужно будет отредактировать файл конфигурации, содержащий SSLProtocol директива для вашего сайта. Этот файл может находиться в разных местах в зависимости от вашей платформы, версии или других деталей установки. Некоторые возможные места:

  • /usr/local/apache2/conf/extra/httpd-ssl.conf (установка Apache по умолчанию)
  • /etc/apache2/mods-enabled/ssl.conf (Ubuntu / Debian)
  • /private/etc/apache2/extra/httpd-ssl.conf (MacOS)

Когда вы найдете правильный файл конфигурации, найдите строку, начинающуюся с SSLProtocol. В этом примере из установки macOS Apache по умолчанию отключается SSLv3 с помощью - оператор, но позволяет TLS 1.0 и 1.1:

SSLProtocol все -SSLv3

Вы можете отключить все устаревшие версии SSL /TLS поддерживается Apache, указав их следующим образом:

SSLProtocol все -SSLv3 -TLSv1 -TLSv1.1

Приведенная выше конфигурация позволяет TLS 1.2, а также TLS 1.3, если он доступен в вашей среде.

Apache и виртуальные хосты

Apache может запускать более одного веб-сайта на одном сервере. Эти виртуальные хосты может основываться на IP-номере, порте или доменном имени и может включать настройки, которые переопределяют базовую конфигурацию для Apache. По этой причине вам следует проверить настройки для каждого виртуального хоста в ваших файлах конфигурации, особенно если вы вносите изменения в базовый SSL /TLS конфигурация не работает.

Для версий Apache до 2.4.42 (построенных / связанных с OpenSSL до 1.1.1) невозможно было указать другой SSL /TLS протоколы для виртуальных хостов на основе имен с одним и тем же базовым IP-номером и портом - SSLProtocol первого виртуального хоста применялся ко всем остальным. Начиная с Apache 2.4.42 / OpenSSL 1.1.1, SSLProtocol каждого виртуального хоста на основе имени учитывается, когда Индикация имени сервера (SNI) предоставляется клиентом во время SSL /TLS рукопожатие.

После внесения изменений в конфигурацию перезагрузите Apache, чтобы они вступили в силу. Для получения дополнительной информации о SSLProtocol директиву, обратитесь к Apache документации.

Nginx

SSL /TLS настройки протокола могут быть указаны в основном файле конфигурации Nginx (обычно расположенном по адресу /etc/nginx/nginx.conf) или в файлах конфигурации вашего сайта. Найдите строку, начинающуюся с ssl_protocols. Например, следующее по умолчанию nginx.conf файл из новой установки Nginx в Ubuntu:

ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Удаление SSLv3, ссылка: POODLE

Вы можете отредактировать эту строку, чтобы только текущие, безопасные версии SSL /TLS включены:

ssl_protocols TLSv1.2 TLSv1.3;

Обратите внимание, что любые настройки в вашей конфигурации SSL по умолчанию могут быть переопределены блоками сервера, настраивающими отдельные доменные имена, поэтому обязательно проверьте их, если изменения в настройках вашего протокола не отражаются на вашем веб-сайте.

После внесения изменений в конфигурацию перезагрузите Nginx, чтобы они вступили в силу. Для получения дополнительной информации обратитесь к документации Nginx на настройка серверов HTTPS.

TLS 1.0 и 1.1 Ошибки браузера

Так как TLS версии 1.0 и 1.1 в настоящее время считаются небезопасными, большинство современных браузеров выдают сообщение об ошибке, если обнаруживают веб-сайт, на котором эти устаревшие TLS версии включены, но TLS 1.2 или 1.3 нет. Примеры этих ошибок показаны ниже:

Google Chrome

Тестирование Chrome проводилось с Chrome 84 в Windows 10. Скриншоты взяты из Chrome. Обратите внимание, что текущая версия Microsoft Edge (на основе Chromium) отображает тот же код ошибки, что и Chrome, с немного другим текстом.

Google Chrome отображает следующее сообщение об ошибке при подключении к запущенному веб-сайту TLS 1.0 или 1.1:

Ваше соединение не полностью защищено
Этот сайт использует устаревшую конфигурацию безопасности, которая может раскрыть вашу информацию (например, пароли, сообщения или кредитные карты) при ее отправке на этот сайт.
NET::ERR_SSL_OBSOLETE_VERSION

TLS Сообщение об ошибке 1.0 в ChromeНажмите Фильтр кнопка отобразит следующее сообщение, а также ссылку для перехода на веб-сайт, помеченную небезопасный:

Используемое соединение для загрузки этого сайта TLS 1.0 или TLS 1.1, которые устарели и будут отключены в будущем. После отключения пользователи не смогут загружать этот сайт. Сервер должен включить TLS 1.2 или позже.

Дополнительная информация о TLS 1.0 и 1.1 в Chrome

Mozilla Firefox

Тестирование Firefox проводилось с Firefox 79.0 в Windows 10.

Mozilla Firefox выдает следующее сообщение об ошибке при подключении к запущенному веб-сайту TLS 1.0 или 1.1:

Безопасное подключение не удалось
Ошибка при подключении к [URL]. Пир использует неподдерживаемую версию протокола безопасности.
Код ошибки: SSL_ERROR_UNSUPPORTED_VERSION
...
Этот веб-сайт может не поддерживать TLS 1.2, минимальная версия поддерживаемая Firefox. Включение TLS 1.0 и 1.1 могут позволить установить это соединение.
TLS 1.0 и TLS 1.1 будет навсегда отключен в следующем выпуске.

Firefox TLS Сообщение об ошибке 1.0 и 1.1

Нажмите Включите TLS 1.0 и 1.1 Кнопка может помочь загрузить сайт, но это не единовременное исключение. Чтобы повторно отключить TLS 1.0 и 1.1 перейдите в about:config в Firefox и установите security.tls.version.enable-deprecated в false.

установить безопасность.tls.version.enable-deprecated на false

Apple Safari

Тестирование Safari проводилось с Safari версии 13.1.2 на macOS 10.15.6 (Catalina).

Браузер Apple Safari будет загружать веб-сайты HTTPS, используя TLS 1.0 и 1.1, но в адресной строке браузера будет отображаться сообщение «Небезопасно».

TLS 1.0 в Apple Safari

Чтобы получить больше информации

Чтобы прочитать о проблемах безопасности, связанных с более ранними версиями TLSпожалуйста, прочитайте нашу статью, Устаревший рано TLS для более безопасного интернета. Для получения дополнительной информации о важных различиях между TLS 1.2 и TLS 1.3, проверьте TLS 1.3 здесь, чтобы остаться.

И, как всегда, если у вас есть какие-либо вопросы, свяжитесь с нами по электронной почте по адресу Support@SSL.com, вызов 1-877-SSL-SECURE, или просто нажмите ссылку чата в правом нижнем углу этой страницы. Вы также можете найти ответы на многие распространенные вопросы поддержки в нашем база знаний. Спасибо, что посетили SSL.com!

Twitter
что его цель
LinkedIn
Reddit.
Эл. адрес

Будьте в курсе и будьте в безопасности

SSL.com является мировым лидером в области кибербезопасности, PKI и цифровые сертификаты. Подпишитесь, чтобы получать последние новости отрасли, советы и анонсы продуктов от SSL.com.

Мы будем рады вашим отзывам

Пройдите наш опрос и поделитесь с нами своими мыслями о своей недавней покупке.