Решение частичной недоступности cоединений с TLS 1.3 в сетях РФ

В последнее время часть владельцев интернет-ресурсов и пользователей из России может сталкиваться с избирательной недоступностью сайтов, работающих по протоколу HTTPS на порту TCP/443. Чаще всего проблема проявляется при установлении соединения с использованием TLS 1.3.

Проблема носит избирательный характер: сайт может открываться у одних пользователей и быть недоступен у других. Это зависит от оператора связи, региона, маршрута передачи данных, используемого браузера и особенностей обработки TLS-соединения на промежуточных участках сети.

На текущий момент подтверждённых проблем на стороне нашей инфраструктуры не выявлено. Со стороны наших серверов и каналов связи не применяются ограничения по версиям TLS и не выполняется фильтрация HTTPS-трафика.

Важно:

Если сайт недоступен только у части пользователей, а с других сетей открывается корректно, причина может находиться за пределами сервера — на стороне внешнего маршрута, магистрального провайдера, оператора связи или промежуточных устройств анализа и фильтрации трафика.

СОДЕРЖАНИЕ

Что происходит

Пользователь может видеть ошибку загрузки сайта, сброс соединения, бесконечное ожидание ответа или невозможность установить защищённое HTTPS-соединение. При этом тот же сайт может открываться с другого провайдера, из другой страны, через мобильную сеть или в другом браузере.

Такая ситуация обычно указывает не на полную недоступность сервера, а на проблему прохождения трафика на определённом участке сети.

Почему сайт может быть недоступен выборочно

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

В некоторых сетях промежуточные устройства могут некорректно обрабатывать отдельные варианты TLS ClientHello, особенно при использовании TLS 1.3. В результате часть соединений может обрываться или не доходить до целевого сервера, хотя сам сервер продолжает работать корректно и доступен из других сетей.

Примечание:

Мы продолжаем мониторинг ситуации, однако не можем гарантировать сроки полного устранения проблемы, если она возникает на стороне сторонних сетей, операторов связи или магистральных провайдеров.

Рекомендации для клиента

Если вы администрируете сайт и наблюдаете массовые жалобы на его недоступность у части пользователей, можно использовать один из временных вариантов ниже.

Вариант 1. Изменение конфигурации веб-сервера nginx

Если вы администрируете сервер и наблюдаете массовые жалобы на недоступность, временной мерой может быть отключение жёсткой привязки к TLS 1.3 и включение поддержки TLS 1.2. Это позволит части пользователей согласовать соединение на версии TLS, которая реже вызывает проблемы на промежуточных сетевых устройствах.

Пример временной конфигурации для nginx:

ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # явное указание версий, включая TLS 1.2 

Директива ssl_protocols задаёт список поддерживаемых версий TLS. Временное использование TLS 1.2 может помочь сохранить доступность сайта для части пользователей, у которых соединения с TLS 1.3 обрываются на внешнем маршруте.

Важно:

Не рекомендуется включать устаревшие версии TLS 1.0 и TLS 1.1, так как они считаются небезопасными. Рекомендуем использовать TLS 1.2 как временную меру и после нормализации ситуации вернуть современную конфигурацию с TLS 1.2 и TLS 1.3.

Дополнительно: для HTTPS-сайтов рекомендуется использовать HTTP/2, если он поддерживается вашей конфигурацией веб-сервера. В период нестабильности не рекомендуется включать HTTP/3 / QUIC, если у вас нет уверенности, что он корректно работает для вашей аудитории.

 

Инструкция для ispmanager 6:

В списке сайтов выделите ваш домен и в верхнем меню нажмите кнопку Файлы конфигурации.

Найдите строку, начинающуюся  listen X.X.X.X:443 ssl . Допишите в нее http2 .

Найдите строку,  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; и удалить из нее TLSv1.3.

Нажмите кнопку сохранить и закрыть.

 

Инструкция для FASTPANEL

Включение HTTP/2:

1. Перейдите в карточку сайта, откройте меню Настройки и выберите вкладку HTTPS.

2. Активируйте чекбокс ( галочку ) напротив пункта HTTP2.

3. Выключите чекбокс HTTP3.

4. Нажмите сохранить.

Отключение TLS 1.3:
Вернитесь в карточку сайта и нажмите кнопку Ручная настройка ( или Конфигурационные файлы)

Выберите вкладку Frontend

 В секции server { 

Добавьте строки:

 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

Нажмите кнопку Сохранить. Панель автоматически применит настройки.

Вариант 2. Рекомендовать пользователям временно использовать Mozilla Firefox

Значительная часть сбоев может быть связана не только с версией TLS, но и с так называемым TLS-отпечатком — особенностями ClientHello, которые формирует браузер при установлении защищённого соединения.

Браузер Mozilla Firefox формирует другой набор TLS-расширений и порядок шифров в клиентском приветствии. В некоторых случаях это позволяет обойти проблему прохождения соединения через промежуточные сетевые устройства без изменения серверной инфраструктуры.

Поэтому, если сайт не открывается у части пользователей, можно временно рекомендовать им попробовать открыть сайт через Mozilla Firefox. Это наиболее быстрый способ проверки и возможного обхода проблемы на стороне конечного пользователя.

Итог

Если сайт выборочно не открывается у части пользователей по HTTPS, а сервер работает корректно и доступен из других сетей, проблема может быть связана с прохождением TLS-соединения через внешние сети. Временными мерами могут быть перевод сайта на TLS 1.2 и рекомендация пользователям временно использовать Mozilla Firefox.

Итоговая рекомендация:

В первую очередь используйте два временных варианта: настройку nginx с поддержкой TLS 1.2 и рекомендацию пользователям временно открыть сайт через Mozilla Firefox. После нормализации ситуации рекомендуется вернуть современную безопасную TLS-конфигурацию.

Помог ли вам данный ответ? 0 Пользователи считают это полезным (0 голосов)

Powered by WHMCompleteSolution