Ошибка подключения ssl linux

Ошибки подключения SSL и как их исправить

Бывает, вы переходите на сайт, а браузер вместо него показывает ошибку. Сюда, мол, не пущу, подключение не защищено.

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

В этой статье разберемся, какие бывают ошибки подключения SSL, с чем они связаны и как их исправить.

SSL-сертификаты Let’s Encrypt перестали работать на старых устройствах

С 30 сентября 2021 на некоторых устройствах сайты с сертификатами Let’s Encrypt будут открываться с предупреждением, что на сайте небезопасно. Это связано с тем, что компания перешла на новый корневой сертификат, которому пока не доверяют некоторые устройства. Из-за этого сайт с Let’s Encrypt и может отображаться как ненадёжный. Даже если на самом деле с ним всё в порядке.

Подробнее на эту тему читайте в статье в нашем блоге. Там же вы найдёте список устройств, на которых Let’s Encrypt не будет работать. А чтобы быстро решить проблему с совместимостью вы можете установить на сайт платный сертификат.

Что внутри

Причины возникновения

Все ошибки подключения SSL можно разделить на две группы:

  1. Ошибки на стороне браузера. Посетитель может исправить их сам.
  2. Ошибки на стороне сайта. Их может исправить только владелец сайта.

Чтобы определить, какой тип ошибки в вашем случае, проверьте сайт при помощи сервиса decoder.link.

Если при проверке появилась надпись “It’s all good. We have not detected any issues”, проблема на стороне браузера. Если вместо надписи есть какая-то ошибка, проблема на стороне сайта.

С ошибками на стороне сайта всё понятно: если вы не владелец сайта, тут ничего не сделать. Возможно, истёк срок годности сертификата или его неправильно установили. А может что-то не так с настройками сервера. Остаётся только ждать, когда владелец сайта заметит и устранит ошибку.

Разберёмся с ошибками подключения SSL на стороне браузера. Обычно их можно быстро исправить и всё-таки попасть на сайт. Вот основные причины, из-за которых они возникают.

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

Как вариант можно зайти на сайт с другого браузера или устройства. Если заходит, значит скорее всего проблема именно в кэше.

Неправильные настройки даты и времени

Браузеру может показаться, что установленный на сайте сертификат недействителен, если время у вас на компьютере и на сервере, где лежит сайт, отличается. Убедитесь, что у вас стоит правильные время и дата.

Читайте также:  Синий экран windows 10 bad pool caller windows 10

Настройки антивируса или файервола

Бывает, антивирус не даёт зайти на сайт, потому что по ошибке добавил его в черный список или закрыл 443 порт, через который и происходит SSL подключение. Попробуйте отключить антивирус и зайти на сайт снова.

Устаревшая версия браузера

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

Протокол QUIC

QUIC — это новая технология передачи данных в интернете. Она используется только в Google Chrome и браузерах, сделанных на движке Chromium: Opera, Microsoft Edge, Brave.

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

Как вариант можете попробовать отключить QUIC и зайти на сайт ещё раз. Чтобы сделать это в Google Chrome, перейдите по адресу chrome://flags и введите в поиске QUIC. Затем выберите в выпадающем списке опцию Disabled.

Конфликт между протоколами TLS

Протокол TLS — это набор правил, по которым браузер устанавливает безопасное соединение с сервером, где лежит сайт. Что-то вроде инструкции для компьютеров, которая помогает им договориться о шифровании.

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

Иногда бывает так, что браузер использует последнюю версию TLS, а сервер — нет. В итоге появляется ошибка подключения SSL, потому что стороны не могут договориться о шифровании.

Сайт может начать открываться, если вы разрешите своему браузеру использовать устаревшие протоколы, но это небезопасно. Личные данные, которые вы введете на сайте после этого могут украсть. Делайте это только в крайнем случае, а потом лучше верните всё, как было.

В Internet Explorer/Microsoft Edge нажмите для этого сочетание клавиш Windows+R и введите inetcpl.cpl.

В открывшемся окне перейдите на вкладку «Дополнительно» (Advanced) и включите все протоколы SSL и TLS. Затем, нажмите «ОК». Не забудьте перезагрузить компьютер.

В старых версиях Google Chrome по умолчанию поддерживаются все версии протокола, кроме новейшего TLS 1.3. Чтобы его включить, введите в адресной строке chrome://flags/#tls13-variant. Затем в первой же строке установите значение “Default”.

В Mozilla Firefox введите в адресной строке about:config. Затем найдите параметр security.tls.version.min и установите значение «1» вместо «2».

Затем найдите параметр security.tls.version.max и установите значение «4» вместо «3».

Примеры ошибок

1. Ошибка «Подключение не защищено»

В англоязычной версии браузера: Your connection is not private.

Код ошибки: ERR_CERT_COMMON_NAME_INVALID.

Что означает: доменное имя сайта не совпадает с именем в SSL-сертификате.

Что делать: почистить кэш или зайти на сайт с другого браузера.

Код ошибки: ERR_CERT_AUTHORITY_INVALID.

Что означает: SSL-сертификат выпустил неверный/неизвестный центр сертификации.

Что делать: почистить кэш или зайти на сайт с другого браузера.

Код ошибки: ERR_CERT_REVOKED.

Что означает: центр сертификации отозвал сертификат. Обычно это бывает, когда сертификат забыли продлить после истечения срока действия. На сайте он по-прежнему стоит, но уже не действует.

Читайте также:  Не запускается word 2016 windows 10

Что делать: почистить кэш или зайти на сайт с другого браузера.

Код ошибки: ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN.

Что означает: на сайте используется устаревшая технология HPKP (HTTP Public Key Pinning).

Что делать: почистить кэш или открыть сайт в другом браузере. Если не помогло, проблема на стороне веб-сайта.

2. Ошибка «Часы спешат» / «Часы отстают»

В англоязычной версии браузера: Your clock is behind / Your clock is ahead.

Код ошибки: ERR_CERT_DATE_INVALID.

Что означает: неправильная дата выпуска или истечения сертификата. Обычно такая ошибка возникает из-за того, что время на компьютере и сервере отличаются.

Решение: проверьте время и дату на устройстве. Если дата и время правильные, попробуйте очистить кэш.

3. Ошибка «Подключение к сайту защищено не полностью» / «Части этой страницы не защищены»

В англоязычной версии браузера: Your connection to this site is not fully secure / Parts of this page are not secure.

Что означает: после установки SSL-сертификата на сайте ещё остались элементы, которые загружаются по HTTP. Например, изображения. Если их загружали до установки сертификата, в ссылках останется HTTP.

Что делать: владельцу сайта придётся обновить ссылки вручную.

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

4. Ошибка «Этот сайт не может обеспечить безопасное соединение»

В англоязычной версии браузера: This site can’t provide a secure connection.

Код ошибки: ERR_SSL_VERSION_OR_CIPHER_MISMATCH.

Что означает: произошла ошибка при выборе протокола TLS. Обычно появляется, если сайт работает на сервере с устаревшим ПО или версия браузера слишком старая. В первом случае это ошибка на стороне сайта, во втором — на стороне посетителя.

Что делать: обновить браузер или использовать другой. Если не помогло, сайт использует более старые протоколы, которые можно включить только вручную. В этом случае есть риск, что личные данные, которые вы введете на сайте, попадут в руки мошенников.

Код ошибки: ERR_BAD_SSL_CLIENT_AUTH_CERT.

Что означает: браузер и сервер в последний момент не смогли установить безопасное соединение. Часто случается из-за антивируса. В его настройках что-то по ошибке не дает браузеру и серверу договориться, в итоге происходит сбой аутентификации.

Что делать: отключите антивирус или отключите в его настройках фильтрацию протоколов SSL/TLS.

5. Ошибка «На сервере используется слабый эфемерный открытый ключ Диффи-Хелмана»

В англоязычной версии браузера: Server has a weak ephemeral Diffie-Hellman public key.

Код ошибки: ERR_SSL_WEAK_EPHEMERAL_DH_KEY.

Что означает: на сайте стоит слабый SSL-сертификат.

Что делать: лучше закройте сайт, если увидели такое предупреждение. Ваши данные здесь не в безопасности.

Источник

Невозможно установить SSL-соединение при wget в Ubuntu 14.04 LTS

Я попытался загрузить изображение через wget, но получил сообщение об ошибке: не удалось установить SSL-соединение.

Мой тестовый пример:

  1. Используя Ubuntu 12.04.4 LTS (GNU / Linux 3.8.0-44-generic x86_64), GNU Wget 1.13.4, построенный на linux-gnu, я смог загрузить изображение, используя приведенный выше код. Нет ошибки.
  2. Используя Ubuntu 14.04 LTS (GNU / Linux 3.13.0-24-generic x86_64), GNU Wget 1.15, построенный на linux-gnu, мне не удалось загрузить изображение с помощью приведенного выше кода.
Читайте также:  Unable to install windows sdk

Другая переменная заключается в том, что сайт www.website.com использует TLS 1.0. Я понятия не имею, как это влияет на wget. Но если я получаю изображение с веб-сайтов TLS 1.2, я не получаю никаких ошибок соединения ssl в обоих тестовых случаях.

Ubuntu 14.04 или wget 1.15 несовместимы с веб-сайтами TLS 1.0? Нужно ли мне устанавливать / загружать какую-либо библиотеку / программное обеспечение, чтобы включить это соединение?

4 ответа

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

Тогда я предполагаю, что это один из сайтов, несовместимых с TLS1.2. Openssl, используемый в 12.04, не использует TLS1.2 на стороне клиента, тогда как с 14.04 он использует TLS1.2, что может объяснить разницу. Чтобы обойти эту проблему, попробуйте явно использовать —secure-protocol=TLSv1 . Если это не помогает, проверьте, можете ли вы получить доступ к сайту с помощью openssl s_client -connect . (возможно, нет) и с помощью openssl s_client -tls1 -no_tls1_1, -no_tls1_2 . .

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

Подробно предполагаемая проблема: Обычно клиенты используют наиболее совместимое рукопожатие для доступа к серверу. Это рукопожатие SSLv23, которое совместимо со старыми версиями SSL, но объявляет лучшую версию TLS, поддерживаемую клиентом, чтобы сервер мог выбрать лучшую версию. В этом случае wget объявит TLS1.2. Но есть несколько сломанных серверов, которые никогда не предполагали, что однажды будет что-то вроде TLS1.2, и которые отказываются от рукопожатия, если клиент объявляет о поддержке этой горячей новой версии (с 2008 года!), Вместо того, чтобы просто отвечать лучшей версией сервера. поддерживает. Чтобы получить доступ к этим сломанным серверам, клиент должен солгать и заявить, что он поддерживает только TLS1.0 как лучшую версию.

Ubuntu 14.04 или wget 1.15 несовместимы с веб-сайтами TLS 1.0? Нужно ли мне устанавливать / загружать какую-либо библиотеку / программное обеспечение, чтобы включить это соединение?

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

Если вы доверяете хосту, добавьте действующий сертификат, укажите —no-check-certificate или добавьте:

В некоторых редких случаях ваше системное время может быть рассинхронизировано, что делает сертификаты недействительными.

Хотя это почти наверняка не проблема OP, вы также можете получить Unable to establish SSL connection от wget , если вы находитесь за прокси-сервером и не имеете HTTP_PROXY и Переменные среды HTTPS_PROXY установлены правильно. Убедитесь, что HTTP_PROXY и HTTPS_PROXY указывают на ваш прокси-сервер.

Это обычная ситуация, если вы работаете в большой корпорации.

Вы должны использовать старую версию wget, у меня была такая же проблема. Я использовал wget 1.12. поэтому для решения этой проблемы есть два способа: Обновите wget или используйте curl

Источник

Оцените статью
Adblock
detector