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

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.

Оцените статью
Настройка серверов windows и linux
Добавить комментарий

  1. Аноним

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

  2. Иван Семин автор

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

  3. Шигаев

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

  4. Иван Семин автор

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

  5. Kerry

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

    спасибо!

  6. adminotes.ru

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

  7. ГОРА

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

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

  8. Inna

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

  9. Victoria

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