Перейти к содержимому

Как заставить браузер доверять самоподписанному сертификату

  • автор:

Включение доверия для профилей сертификатов в iOS и iPadOS, установленных вручную

При ручной установке профиля, содержащего полезную нагрузку сертификата, в iOS и iPadOS этот сертификат не становится доверенным для SSL автоматически. Узнайте, как вручную включить доверие к установленному профилю сертификата.

No alt supplied for Image

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

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

Если требуется включить доверие SSL/TLS для такого сертификата, перейдите в раздел «Настройки» > «Основные» > «Об этом устройстве» > «Настройки доверия сертификатов». В разделе «Включить полное доверие для корневых сертификатов» включите доверие для сертификата.

Настройки доверия сертификатов на iPhone

Apple рекомендует развертывать сертификаты с помощью средств Apple Configurator или Mobile Device Management (MDM). Доверие полезных нагрузок сертификатов автоматически включается для SSL при их установке с помощью средств Configurator, MDM или в качестве части профиля регистрации MDM.

Как заставить chrome доверять сертификату?

Добрый день!
Хочу защитить вебсокетный трафик между мной и моим прилоением, работающей на AWS EC2.

Сделал себе самоподписной сертификат по этой инструкции:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 3650 -nodes # настройки сертификата Country Name (2 letter code) [AU]:RU State or Province Name (full name) [Some-State]:Moscow Locality Name (eg, city) []:Moscow Organization Name (eg, company) [Internet Widgits Pty Ltd]:Test LLC Organizational Unit Name (eg, section) []:Test Common Name (e.g. server FQDN or YOUR name) []: Email Address []:a@b.c

60fabf72181a4452239827.png

Добавил его в Keychain (у меня macOS) и заставил систему доверять ему:

Перезапустил хром и обратился с приложению. Хром по-прежнему не доверяет моему сертификату.
60fac06faf0d6522923302.png
60fac04336bba773168260.png
хотя если ткнуть в хроме на сертификат, откроется Keychain, в которой сертификат указан как доверенный (см. рис.1).

  • при создании сертификата в CN указывать *
  • при создании сертификата в CN указывать IP-адрес 10.10.1.91
  • при создании сертификата в CN указывать домен test.local и прописывать в /etc/hosts 10.10.1.91 test.local

Нажимать «дополнительно — бла-бла-бла» не вариант, т.к. весь трафик от моего приложения идет по веб-сокету, а попытка подключиться к wss:// всегда завершается ошибкой, если хром не принимает сертификат как достоверный.
Ничего из вышеперечисленного не помогает. Как же все-таки заставить хром доверять моему сертификату, если я этого хочу?

  • Вопрос задан более двух лет назад
  • 1117 просмотров

9 комментариев

Средний 9 комментариев

Переводим сайт на HTTPS

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

Автор: Peppers Digital

Обмен данными между сайтом и браузером клиента осуществляется по протоколу HTTP (HyperText Transfer Protocol). Его методы обеспечивают корректную работу с любыми гипертекстовыми документами, но уровень безопасности передаваемых данных недостаточно высок.

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

Что все это значит?

Аббревиатура HTTPS расшифровывается как HyperText Transfer Protocol Secure — защищённый протокол для передачи гипертекста.

Стоит отметить, что HTTPS — это не самостоятельный протокол, структура запросов и ответов отличий от HTTP не имеет.

Основная разница — добавление при передаче данных шифрования, которое обеспечивается при помощи механизмов SSL и TLS.

SSL (Secure Sockets Layer) — протокол, повышающий безопасность передачи данных посредством криптографии (шифрования). Он подходит не только для гипертекстовых документов, но и для загрузки файлов, IP-телефонии, электронной почты. Разработка протокола началась в 90-х годах XX века, в 1995 году появилась версия 2.0, а в 1996 — 3.0, которая и стала основой TLS 1.0.

TLS (Transport Layer Security) — современный криптографический протокол, который исключает несанкционированный доступ к данным во время их передачи. Достигается это за счет аутентификации, симметричного и ассиметричного шифрования, средств проверки аутентичности сообщений.

В чем «секрет» HTTPS?

Переход на HTTPS предполагает установку на сервере SSL-сертификата, именно его наличие позволяет принимать соединение по протоколу HTTPS. Сертификат каждого сайта уникален, его можно назвать цифровой подписью.

Основа сертификата — два криптографических ключа: публичный и приватный. Ключ public шифрует входящие (идущие от клиента к серверу) данные, а private – исходящие. Это секретный ключ, доступ к нему есть только у администратора сайта.

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

Существуют специализированные сервисы для проверки SSL-сертификатов.

Правильность установки сертификата можно проверить здесь.

А этот сервис предоставляет доступ к полной технической информации, содержащейся в сертификате.

SSL сертификаты: основные виды

Как уже было сказано ранее, для переноса сайта на HTTPS нужно получить и установить SSL-сертификат. В зависимости от способа валидации их разделяют на несколько типов. Здесь нужно отметить, что большинство из них платные.

Самоподписанный сертификат

Бесплатно можно получить и установить только самоподписанный сертификат. Но минусов у такого варианта гораздо больше, чем плюсов. Собственно, преимущество лишь одно — бесплатность. Но сайт с такой цифровой подписью скорее отпугнет пользователей, поскольку браузеры будут предупреждать о том, что:

  • подключение не защищено (Chrome);
    Chrome
  • соединение с этим сервером небезопасно (Яндекс браузер);
    Яндекс
  • ваше соединение не защищено (Mozilla Firefox);
    Mozilla
  • ошибочный сертификат (Opera).
    Opera

SSL сертификаты

Да, все технические преимущества SSL этот вариант обеспечивает, но для посетителя сайт выглядит подозрительно. И браузер помечает такой сайт в адресной строке браузера следующим образом:

Domain Validated или DV-валидация

Domain Validated или DV-валидация — это сертификат начального уровня доверия. При его выдаче проверяется, как следует из названия, только принадлежит ли доменное имя тому, кто оформляет сертификат. Это самый доступный и распространенный вариант, поскольку:

Domain Validated

В адресной строке такой сайт отмечается как безопасный:

Organization Validatio

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

Сертификат выдается после предоставления и проверки соответствующих свидетельств:

  • ОГРН;
  • ИНН/КПП;
  • о праве на владение доменным именем и другие.

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

Organization Validation — сертификат высокого уровня надежности, его стоимость начинается от 2000 рублей в год.

Organization Validation

В адресной строке сайт выглядит так: Extended Validation

Extended Validation — это самый надежный из возможных SSL сертификатов. Этот вид валидации предназначен для крупных корпораций. Цена EV-сертификата начинается от 12000 рублей в год. Дополнительное преимущество — отображение в адресной строке браузера названия компании, что повышает доверие клиентов.

Extended Validation

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

Стоимость этих сертификатов начинается от 1500 рублей в год.

Итак, большинство SSL-сертификатов платные. Для перехода на HTTPS также могут потребоваться расходы на оплату выделенного IP адреса, если эта опция не включена в тариф хостинга изначально. Стоимость этой услуги устанавливается провайдером и в среднем составляет 1200 рублей в год.

Если вы не определились с выбором вида SSL-сертификата для своего сайта, компания Peppers Digital поможет вам. Также мы можем полностью перенести сайт на HTTPS, избавив вас от любых хлопот, связанных с этим процессом.

Расходы на получение SSL-сертификата и перенос сайта на HTTPS необременительны даже для небольшой компании. А преимущества, которые обеспечивает этот вид аутентификации, стоят потраченных денег.

Преимущества перевода сайта на HTTPS

Основное преимущество — это безопасная передача данных. Любая компания должна заботится о сохранении персональных данных клиентов, их платежной информации. Забота о безопасности повышает лояльность клиентов, улучшает репутацию компании. Для интернет-магазинов и других сайтов, на которых совершаются финансовые операции, переход на HTTPS — необходимая мера, которую не стоит откладывать.

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

Так, в браузере Chrome, начиная с 56 версии (выпущенной в 2017 году), соединение по HTTP на сайтах, запрашивающих какие-либо данные пользователей, отмечается как небезопасное. А такое предупреждение может заставить потенциального клиента отказаться от покупки или регистрации.

Сайты, использующие HTTPS, с 2014 года ранжируются выше в поисковой системе Google. Это может стать весомым конкурентным преимуществом. При этом Яндекс воспринимает и индексирует все сайты в поиске на равных условиях.

Планируется, что к 2021 году все сайты перейдут на HTTPS, а веб-ресурсы, работающие на протоколе HTTP, просто не будут открываться в браузерах.

Переводим сайта на HTTPS: пошаговая инструкция

Для переноса сайта на HTTPS требуется определенное время, поэтому приступать к работе нужно в период, когда активность ваших клиентов в сети минимальна. Не стоит заниматься переносом сайта горячих путевок в разгар туристического сезона, а магазина подарков перед Новым годом. Определить активность посетителей в зависимости от времени года помогут сервисы аналитики (Яндекс.Метрика, Google Analytics), в каждом из них есть параметр «Сезонность».

Первый шаг — это выбор SSL сертификата и организации, которая выдаст его.

После того, как цифровой документ получен, его устанавливают на хостинг. По сути, сертификат — это несколько файлов, которые загружаются на хостинг, после чего в панели управления включается защищенное соединение. Не настраивайте редиректы на этом этапе!

Далее нужно внести правки в файл robots.txt. Директива Host в этом файле прописывается в виде: Host: https://site.ru, где site.ru — доменное имя вашего сайта. После этих действий сайт должен быть доступен по HTTPS, проверьте это.

User-agent: Yandex … Host: https://site.ru

Теперь нужно сообщить об изменениях поисковым системам. В Яндекс.Вебмастер нужно добавить сайт с новым протоколом. Если права на сайт в этом сервисе до сих пор не подтверждены, самое время сделать это. То, что сайт теперь использует новый протокол, нужно указать и в настройках индексирования в подразделе «Переезд сайта», отметив галочкой пункт «Добавить HTTPS». Не забудьте сохранить изменения!

Добавить HTTPS

URL с HTTPS должен быть назначен главным зеркалом сайта.

Изменения произойдут не сразу, иногда на переназначение главного зеркала уходит несколько недель. По завершении в разделе «Уведомления» в Вебмастере появится сообщение, что главное зеркало изменилось и теперь это https://site.ru. Чтобы получить оповещение на почту, можно подписаться на уведомления. На странице «Мои сайты» в Яндекс.Вебмастере сайты будут отмечены как «связанные».

Добавить HTTPS

Кроме того, косвенным признаком может послужить количество проиндексированных страниц. На домене с HTTPS оно должно сравняться с таковым для основного домена. До признания сайтов зеркалами нежелательно настраивать переадресацию, чтобы страницы с редиректами не выпали из индекса.

После склейки зеркал настраивают 301 редирект в файле .htaccess. Например, не нужно делать двойной редирект с http://www.site.ru на http://site.ru, а затем на https://site.ru. Это приводит к образованию так называемых цепочек переадресации, которые не нравятся поисковым системам.

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

Проверяем XML-карту сайта. Ссылки в ней должны начинаться с HTTPS. Если это не так — исправляем. При необходимости для HTTPS-сайта создаём новый файл sitemap с актуальными ссылками.

Если карта сайта еще не добавлена в Яндекс.Вебмастер, самое время это сделать.

Как только сайты склеились, все тексты и внешние ссылки с исходного сайта будут учитываться для главного зеркала, доступного по HTTPS. Но в Вебмастере они будут размещены в панели того сайта, для которого их изначально добавили.

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

Уведомить о смене главного зеркала сайта потребуется и поисковую систему Google. Для этого в Google Search Console добавляется версия сайта с HTTPS (или все версии, если это не было сделано ранее). После этого в разделе «Настройка сайта» указывается основной домен. Не забудьте также перенести на адрес с HTTPS настройки первоначального сайта.

инструменты Google

инструменты Google

Использовать инструменты Google для изменения адресов в этой ситуации не нужно.

изменяем адрес с HTTPS

Не забудьте изменить на адрес с HTTPS внешние ссылки на сайт там, где это возможно (в социальных сетях, сервисах карт, каталогах сайтов).

В целом, переход сайта на HTTPS несложен. Если у вас возникли вопросы, обращайтесь, мы обязательно поможем. А если вы не хотите разбираться во всех тонкостях, закажите перенос сайта на HTTPS в компании Peppers Digital.

Google Chrom не пускает на сайт с не подписанным сертификатом

введите сюда описание изображения

Для разработки использую подмененный через hosts файл, google-analytics.com Но при попытке зайти на него браузер ругается, что сертификат не подписан. И не предлагает кнопки типа «Перейти всё равно». Раньше кажется такая кнопка была. Не знаю как быть, где выключить это оповещение и позволить мне все-таки, на свой страх и риск, как говорится, попасть на сайт. Видимо в новой версии Хрома эту кнопку убрали, но я после длительного гугления в интернете, так и не нашёл решения. Подскажите как попасть на сайт) Safari например пускает.

Отслеживать
задан 31 мая 2016 в 11:28
Mikhail Politaev Mikhail Politaev
630 4 4 серебряных знака 21 21 бронзовый знак
Я так и не понял смысла этого действия
31 мая 2016 в 12:30

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Это действует HSTS (HTTP Strict Transport Security). Он обязывает производить доступ к сайту через проверенное безопасное соединение, не доверяя решения пользователю.

Конкретно google-analytics.com , к тому же, находится в HSTS preload list Хрома, своеобразном «белом списке» доменов, для которых HSTS действует по инициативе браузера, а не сервера.

Имея контроль над собственной системой, можно сгенерировать самоподписанный Certificate Authority (CA), установить его в систему [1] , а затем на его основе сгенерировать собственный сертификат для нужного вам домена (указав его в Common Name при генерации) и выдать его вебсерверу. Тогда браузер, обращающийся за валидацией в системное хранилище сертификатов, будет считать соединение с этим сервером на этот домен доверенным.

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

  • [1] Или используйте Firefox, который использует собственную пачку сертификатов, не системную. В этом случае CA достаточно установить только в Firefox и вся остальная система сертификатам этого CA верить не будет. Так, наверное, спокойнее.
    Chrome всегда использует системное хранилище. Его не отучить.

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

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