Запрещаем принудительный переброс http на https в Chrome, Mozilla, Edge, Explorer

Обновлено 19.02.2020

HSTS logoДобрый день! Уважаемые читатели и гости одного из крупнейших IT блогов по системному администрированию Pyatilistnik.org, В прошлый раз мы с вами подробно разобрали, как починить звук в Windows 10 после внезапной его пропажи, ох уж эта Windows 10. В сегодня я вам покажу как можно и нужно запрещать вашему браузеру принудительно перенаправлять адрес сайта с http протокола на https из-за чего сайт будет недоступен и вы получите ошибку ERR_CONNECTION_REFUSED. Я покажу откуда растут корни и как с этим бороться в Chrome, Mozilla, Microsoft Edge и Internet Explorer.

Ошибка ERR_CONNECTION_REFUSED при открытия сайта

Захотелось мне по работе открыть один из сайтов и вместо привычной мне картины я увидел ошибку "Сайт не позволяет установить соединение ERR_CONNECTION_REFUSED". Я сначала подумал, что сам сайт не работает, но команда Ping и проверка портов показывала, что он живой.

ERR_CONNECTION_REFUSED

Я попытался открыть данный сайт в другом браузере и он заработал. На этом можно было заканчивать статью, но мне то нужно чтобы он открывался в Chrome, так как я его использую по умолчанию. Дальнейшее разбирательство показало, что по какой-то причине Chrome стал открывать адрес сайта не по протоколу http:\\, а стал его перенаправлять, причем в принудительном виде на https:\\. В результате я провел целое исследование и нашел причину, ей оказалась технология HSTS. Ниже мы и поговорим, что такое HSTS и как его отключить.

ERR_CONNECTION_REFUSED chrome

Что такое HSTS?

HSTS расшифровывается как HTTP Strict Transport SecurityHSTS - это механизм веб-безопасности, который помогает браузерам устанавливать соединения через HTTPS и ограничивать небезопасные HTTP-соединения. Механизм заставляет веб-браузеры взаимодействовать с веб-сайтами только через безопасные соединения HTTPS (и никогда через HTTP). Преимущество HSTS заключается в том, что он предотвращает захват файлов cookie и помогает предотвратить атаки на более ранние версии протоколов. Механизм HSTS был разработан для борьбы с атаками SSL Strip, способными понизить безопасные HTTPS-соединения до менее безопасных HTTP-соединений. HSTS работает как мера безопасности, передавая политику в заголовок веб-страницы, которая заставляет браузер создавать безопасное соединение HTTPS, даже в момент атаки "Человек посередине (Man in the middle)"

Стандарт HSTS можно почитать на сайте RFC https://tools.ietf.org/html/rfc6797

По большей части, создание HSTS приветствовалось разработчиками и обычными пользователями благодаря его способности усиливать меры безопасности в Интернете. HSTS обеспечивает дополнительный уровень безопасности, который лучше защищает ваш сайт от взлома и снижает риск повреждения ваших личных данных. Однако реализация HSTS может иногда вызывать ошибки браузера. Эта проблема может быть легко решена путем эффективной очистки настроек HSTS в большинстве основных браузеров, таких как Chrome, Mozilla, Edge, Explorer. Три самых частых ошибок в данной ситуации:

  • Privacy error: Your connection is not private” (NET::ERR_CERT_AUTHORITY_INVALID)
  • ERR_CONNECTION_REFUSED
  • ERR_CONNECTION_TIMED_OUT

Если вы получаете сообщение об ошибке конфиденциальности при попытке посетить определенный веб-сайт, и этот же сайт доступен из другого браузера или устройства (Прямо как у меня), то существует большая вероятность того, что у вас возникла проблема с настройкой параметров HSTS. Если это так, решением будет либо очистить, либо отключить HSTS для вашего веб-браузера. Ниже я приведу набор руководств, которые помогут вам очистить или отключить настройки HSTS.

Должен ли я внедрить HSTS на моем сайте?

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

Что следует учитывать перед внедрением HSTS?

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

  • Перво-наперво, вам необходимо успешно установить SSL сертификат на вашем сайте.
  • Если у вас есть субдомены, важно использовать подстановочный знак. Это будет дополнительно защищать каждый из ваших доменов.
  • Используйте 301 редирект. Он будет действовать для перенаправления всех страниц HTTP на страницы HTTPS.
  • На основании информации от Google рекомендуется установить максимальный возраст в два года.
  • Наконец, убедитесь, что реализованы заголовки Sub Domain и Preload. Имейте в виду, что простое добавление предварительной загрузки не является эффективным способом попадания в список предварительной загрузки HSTS.

Как очистить или отключить HSTS в Google Chrome

Первым делом я хочу решить вопрос форсированного перенеправления адресов http на https в Chrome. В настройках HSTS есть опция "max-age", которая сообщает браузеру, как долго кэшировать и запоминать настройки перед повторной проверкой. Чтобы немедленно продолжить работу без ошибки, вам необходимо удалить локальные настройки HSTS вашего браузера для этого домена.

Чтобы удалить настройки HSTS в Chrome вам необходимо посетить специальную техническую страницу по адресу:

chrome://net-internals/#hsts

Это пользовательский интерфейс Chrome для управления локальными настройками HSTS вашего браузера.

Открываем страницу настроек по удалению HSTS в Chrome

Во-первых, чтобы подтвердить, что настройки HSTS применяются к нужному домену (адресу сайта) и записаны в Chrome, введите адрес домена в разделе "Query Domain" в нижней части страницы. Нажмите "Query". Если поле "Query" возвращает значение "Found" с приведенной ниже информацией о настройках, то настройки HSTS домена сохраняются в вашем браузере и их нужно удалять. В моем случае адрес был найден в кэше Chrome и обратите внимание, что стоит флаг FORCE_HTTPS.

Обратите внимание, что это очень чувствительный поиск. Введите только имя хоста, например, pyatilistnik.org или google.com без протокола или пути.

Проверка применения HSTS в Chrome

Далее чтобы очистить данные HSTS для нужного сайта вам необходимо на этой странице найти в самом низу раздел "Delete domain security policies". Далее вы вставляете тот же адрес сайта, без всяких http, просто адрес домена, что проверяли выше и нажимаете кнопку "Delete".

Как запретить принудительное перенапрвление сайта из-за HSTS

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

Как удалить настройки HSTS для Яндекс браузера, Edge Chromium, Opera, Амиго

Большинство браузеров построены на движке Chromium, среди них можно выделить:

  • Microsoft Edge Chromium, который появился в январе 2020 года
  • Яндекс браузер
  • Opera
  • Амиго

Так как у них движок такой же .как и у Google Chrome, то к ним будет применен и актуален такой же метод, что мы делали выше, а именно через удаление домена на специальной странице:

chrome://net-internals/#hsts

Вот вам пример из Microsoft Edge Chromium

Как удалить настройки HSTS для Edge Chromium

Как очистить или отключить HSTS в Firefox

По сравнению с Chrome, Firefox имеет несколько способов очистки или отключения настроек. Для начала я рассмотрю автоматический метод.

Автоматический метод отключения HSTS в Mozilla

  1. Откройте Firefox и убедитесь, что все открытые вкладки или всплывающие окна закрыты.
  2. Нажмите Ctrl + Shift + H (или Cmd + Shift + H на Mac), чтобы открыть меню библиотеки .
  3. Найдите сайт, для которого вы хотите удалить настройки HSTS. Вы можете упростить для себя, используя панель поиска в верхнем правом углу.
  4. Как только вам удастся найти веб-сайт, для которого вы пытаетесь очистить настройки HSTS, щелкните по нему правой кнопкой мыши и выберите  Забыть об этом сайте . Это очистит настройки HSTS и другие кэшированные данные для этого конкретного домена.
  5. Перезапустите Firefox и посмотрите, была ли проблема решена. Если это была проблема HSTS, то теперь вы сможете нормально просматривать веб-сайт и Firefox не будет производить принудительный переброс http на https.

удалить настройки HSTS в Firefox

Ручной метод для Firefox

Данный метод можно еще назвать методом очистки HSTS путем очистки настроек сайта. 

  • Откройте Firefox, нажмите на значок "Библиотека" и выберите "Журнал"

удалить настройки HSTS в Firefox-02

  • Далее выберите пункт "Удалить историю"

Очистка журнала Firefox

  • В окне "Удаление всей истории" установите в раскрывающемся меню "Диапазон времени" значение "Все". Затем разверните меню "Данные" и снимите все флажки, кроме "Настройки сайта"  и нажмите "Удалить сейчас", чтобы очистить все настройки сайта, включая настройки HSTS . Далее перезагрузите Firefox и посмотрите, была ли проблема решена при следующем запуске.

Удаление всей истории

3 Способ: очистка настроек HSTS путем редактирования профиля пользователя

Еще одним методом очистки или отключения HSTS в Firefox можно выделить редактирования профиля пользователя.

  • Полностью закройте Firefox и все связанные всплывающие окна и значки в трее.
  • Перейдите к местоположению профиля пользователя вашего Firefox. Найти свой профиль пользователя, вставив "about:support"  в навигационную панель вверху и нажав Enter. Вы найдете расположение папки профиля в разделе Основы приложения . Просто нажмите Открыть папку, чтобы перейти в папку профиля. Но как только вы это сделаете, убедитесь, что вы полностью закрыли Firefox.

Поиск профиля Firefox

  • В папке профиля Firefox откройте SiteSecurityServiceState.txt в любой текстовом редакторе. Этот файл содержит кэшированные настройки HSTS и HPKP (закрепление ключей) для доменов, которые вы посещали ранее. Чтобы очистить настройки HSTS для определенного домена, просто удалите всю запись и сохраните документ .txt .

Примечание: Вы также можете переименовать файл из .txt в .bak, чтобы сохранить существующий файл на всякий случай. Это заставит Firefox создать новый файл и начать с нуля, удаляя все ранее сохраненные настройки HSTS.

Удаление HSTS из SiteSecurityServiceState

После удаления записи и сохранения файла закройте  SiteSecurityServiceState.txt  и перезапустите Firefox, чтобы увидеть, была ли проблема решена. По идее ошибки:

    • Privacy error: Your connection is not private” (NET::ERR_CERT_AUTHORITY_INVALID)
    • ERR_CONNECTION_REFUSED
    • ERR_CONNECTION_TIMED_OUT

должны быть устранены, по крайней мере в 99% случаев, это работает для Mozilla Firefox.

4 Способ отключить HSTS в Firefox

  • Запустите Firefox и введите about:config в адресной строке вверху. Далее, нажмите "Принять риск и продолжить"! Кнопка для входа в меню расширенных настроек .

4 Способ отключить HSTS в Firefox

Далее через поиск найдите security.mixed_content.use_hstsc или security.mixed_content.block_active_content и выключите его. Обязательно перезапустите браузер.

Как отключить HSTS в браузере Firefox-02

Очистка или отключение настроек HSTS в Internet Explorer

Поскольку это важное улучшение безопасности, HSTS по умолчанию включен в Internet Explorer. Хотя не рекомендуется отключать HSTS в браузерах Microsoft, вы можете отключить эту функцию для Internet Explorer. Вот краткое руководство о том, как это сделать с помощью редактора реестра. Откройте окно выполнить и введите там regedit, чтобы запустить редактор реестра Windows.

Отключение настроек HSTS в Internet Explorer-01

Перейдите в раздел:

HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Internet Explorer\ Main\FeatureControl\

Щелкните правой кнопкой мыши по FeatureControl и выберите "Создать - Раздел" . Назовите его FEATURE_DISABLE_HSTS и нажмите Enter.

FEATURE_DISABLE_HSTS

Щелкните в данном разделе правым кликом и создайте новый ключ "Параметр DWORD (32 бита)" и назовите его iexplore.exe со значением 1.

Очистка или отключение настроек HSTS в Internet Explorer

У меня получилось вот так.

Создание ключа реестра для отключения hsts в IE

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

  1. Снова используйте левую панель, чтобы перейти к следующему подразделу реестра:
    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ Microsoft\Internet Explorer\Main\ FeatureControl \
  2. Щелкните правой кнопкой мыши FeatureControl и выберите "Создать - Раздел" , назовите его FEATURE_DISABLE_HSTS и нажмите Enter, чтобы сохранить изменения.Создание раздела в реестре
  3. Щелкните правой кнопкой мыши FEATURE_DISABLE_HSTS  и выберите "Создать -  "DWORD  (32-разрядное) значение" и назовите его "iexplore.exe", задайте ему значение "1"Отключение hsts в Internet Explorer
  4. Перезагрузите компьютер и посмотрите, были ли отключены настройки HSTS для Internet Explorer при следующем запуске.

На этом у меня все, я попытался вам написать обобщенную статью по которой вы легко сможете отключить принудительное перенаправление адресов сайта с http на https из-за технологии HSTS. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Автор - Сёмин Иван

9 Responses to Запрещаем принудительный переброс http на https в Chrome, Mozilla, Edge, Explorer

  1. Аноним:

    Спасибо за информацию, помогли!

  2. Иван Семин:

    Рад, что оказалось полезным!

  3. Шигаев:

    Крутой кейс. Молодец.

  4. Иван Семин:

    Спасибо, рад что помог!

  5. Kerry:

    аааа… локалхост нормально открывается на http…. кайф….

    спасибо!

  6. adminotes.ru:

    можно находясь на странице с ошибкой набрать на клавиатуре
    thisisunsafe
    и нажать Enter

  7. ГОРА:

    мне не помогло 🙁
    а статья крутая

    домен снес и заново добавил в панель управление ISP
    сайт и сертификат тоже удалил и сайт заново добавил без SSL. между ним прошло 2 сутки.
    в edge открывается http, но гугл не хочет

  8. Inna:

    Спасибо за статью

  9. Victoria:

    не сработало для фокса и edge…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *