SSL_ERROR_NO_RENEGOTIATION — Firefox попытался renegotiate TLS session (например, для client cert auth на specific path), но server отверг. Renegotiation deprecated по security reasons (CVE-2009-3555). nginx с ssl_verify_client on per-location требует renegotiation на Firefox, но Chrome использует HTTP/2-compatible подход.
Ниже: причины, исправление, FAQ.
Бесплатный онлайн-инструмент — SSL-чекер: результат мгновенно, без регистрации.
ssl_verify_client onSSLVerifyClient require в Ошибка SSL_ERROR_NO_RENEGOTIATION в Firefox возникает, когда клиент (браузер) пытается инициировать повторную переговоры SSL-соединения, но сервер не поддерживает эту функциональность. Это может происходить из-за устаревших настроек конфигурации сервера или его несовместимости с современными стандартами безопасности. Для решения проблемы необходимо проверить настройки SSL на сервере и убедиться, что они соответствуют требованиям безопасности.
Для устранения ошибки SSL_ERROR_NO_RENEGOTIATION необходимо выполнить несколько шагов:
httpd.conf или apache2.conf на наличие следующих строк:SSLProtocol all -SSLv2 -SSLv3Это отключает устаревшие протоколы и оставляет только более безопасные версии.
SSLv3, следует перейти на TLS 1.2 или выше. Это можно сделать, добавив в конфигурацию:SSLProtocol all -SSLv3 -SSLv2 -TLSv1Это гарантирует, что сервер будет поддерживать только современные протоколы.
SSLHonorCipherOrder onЭто позволяет серверу контролировать порядок шифров, используемых для подключения.
После внесения изменений в конфигурацию сервера не забудьте перезапустить его, чтобы новые настройки вступили в силу.
Рассмотрим пример настройки веб-сервера Nginx для устранения ошибки SSL_ERROR_NO_RENEGOTIATION. Откройте файл конфигурации вашего сайта, обычно это /etc/nginx/sites-available/your_site.conf, и добавьте или измените следующие строки:
server {
listen 443 ssl;
server_name your_site.com;
ssl_certificate /path/to/your/certificate.crt;
ssl_certificate_key /path/to/your/private.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'HIGH:!aNULL:!MD5';
# Отключаем поддержку повторных переговоров
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
}В данном примере мы активируем только протоколы TLSv1.2 и TLSv1.3, что является обязательным для современных веб-сайтов. Также мы отключаем поддержку повторных переговоров, что может предотвратить возникновение ошибки.
После внесения изменений выполните команду:
sudo nginx -tдля проверки конфигурации на наличие ошибок, а затем перезапустите Nginx:
sudo systemctl restart nginxПосле выполнения этих шагов ошибка SSL_ERROR_NO_RENEGOTIATION должна исчезнуть, и ваш сайт станет доступен для пользователей без проблем с безопасностью.
Ошибка SSL_ERROR_NO_RENEGOTIATION в Firefox возникает, когда клиент пытается инициировать повторную переговоры по SSL-соединению, но сервер не поддерживает эту функцию. Это может быть связано с конфигурацией сервера или устаревшими протоколами. Чтобы устранить ошибку, необходимо убедиться, что сервер настроен правильно и поддерживает необходимые протоколы безопасности.
Ошибка SSL_ERROR_NO_RENEGOTIATION возникает в результате попытки клиента инициировать повторные переговоры по SSL-соединению, что не поддерживается сервером. Важно понимать, как работает процесс SSL/TLS и какие факторы могут привести к подобным ошибкам.
Повторная переговорка (renegotiation) — это процесс, который позволяет клиенту и серверу пересогласовать параметры шифрования во время активного соединения. Это может быть необходимо в случаях, когда нужно изменить уровень безопасности, например, для обновления ключей шифрования. Однако не все серверы поддерживают эту функцию, что и приводит к возникновению ошибки.
Современные версии SSL и TLS имеют разные подходы к повторной переговорке. В частности, TLS 1.2 и более поздние версии рекомендуют избегать использования повторной переговорки из-за уязвимостей, связанных с этой функцией. В результате многие серверы отключают поддержку повторной переговорки, что может привести к ошибке SSL_ERROR_NO_RENEGOTIATION при попытке клиента выполнить эту операцию.
Для диагностики проблемы можно воспользоваться инструментами командной строки, такими как openssl. Команда openssl s_client -connect example.com:443 -msg позволяет проверить, поддерживает ли сервер повторную переговорку. Если в ответе не будет информации о возможности renegotiation, это может указывать на проблему.
Кроме того, важно отметить, что некоторые настройки безопасности, такие как использование HTTP Strict Transport Security (HSTS), могут также повлиять на возможность повторной переговорки. Если сервер настроен на строгое соблюдение HSTS, это может привести к блокировке попыток изменения параметров соединения.
Для устранения проблемы с ошибкой SSL_ERROR_NO_RENEGOTIATION необходимо:
Ниже приведен пример конфигурации сервера Nginx, которая отключает поддержку повторной переговорки:
server {
listen 443 ssl;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
# Отключение повторной переговорки
ssl_renegotiation off;
}Таким образом, правильная настройка сервера и понимание работы SSL/TLS помогут избежать возникновения ошибки SSL_ERROR_NO_RENEGOTIATION и обеспечат надежное и безопасное соединение для пользователей.
SSL/TLS — протокол шифрования, который защищает данные между браузером и сервером. Наш инструмент анализирует сертификат, цепочку доверия, версию TLS и известныеуязвимости.
Издатель, срок действия, алгоритм подписи, покрываемые домены (SAN) и тип валидации (DV/OV/EV).
Проверка полной цепочки: от конечного сертификата через промежуточные до корневого CA.
Версия протокола (TLS 1.2/1.3), набор шифров, поддержка Perfect Forward Secrecy (PFS).
Создайте монитор — получайте уведомления в Telegram и email за 30/14/7 дней до истечения.
мониторинг SSL-сертификатов
аудит TLS-конфигурации
HTTPS как фактор ранжирования
доверие покупателей
www и поддомены.Strict-Transport-Security заставляет браузер всегда использовать HTTPS.Мониторинг SSL-сертификатов, история проверок и уведомления за 30 дней до истечения.
Зарегистрироваться (FREE)Secure renegotiation (RFC 5746) ок. Insecure renegotiation — CVE-2009-3555. TLS 1.3 вообще убрал renegotiation, заменил post-handshake auth.
HTTP/2 не support renegotiation → separate subdomain для client auth is modern approach.
Disable TLS 1.3: security.tls.version.max=3 в about:config. НЕ рекомендуется.
<code>ssl_protocols TLSv1.2 TLSv1.3;</code> + применять client auth на TLS 1.3 only.
Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.