Как HTTPS обеспечивает безопасность соединения: что должен знать каждый Web-разработчик. Протокол HTTPS - что такое

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

Мир помешался на интернет-безопасности. Если вы в тренде и переписываетесь исключительно в «Телеграме», то почитайте про то, как установить на сайт защищенного соединения . Он пригодится в любом случае, а если вы интернет-магазин, то без него вообще нельзя будет обойтись. Попутно расскжем про сертификаты : что это такое и для чего они нужны.

Что такое HTTPS

Это протокол защищенного соединения. Он шифрует информацию, которой обменивается сервер и браузер пользователя – это помогает защитить данные о паролях, номерах кредиток и адресах электронной почты. Использование HTTPS сильно и делает его немного привлекательнее в глазах поисковых систем – Google ранжирует защищенные сайты выше, чем незащищенные. Чтобы включить протокол HTTPS на своем сайте, нужно сперва установить на сервере SSL-сертификат.

Для чего нужен сертификат SSL

Он формирует уникальную цифровую подпись сайта, которая и помогает защитить соединение. Без сертификата SSL получить протокол HTTPS не получится, как ни старайся. В нем содержится:

  • домен сайта;
  • полное юридическое название компании-владельца;
  • физический адрес компании;
  • срок действия сертификата;
  • реквизиты разработчика SSL.

Сертификат понадобится и для подключения любой платежной системы, например «Яндекс.Денег». Логика простая – никто не позволит вам рисковать чужими деньгами.

Как выбрать SSL-сертификат

Они делятся на два типа, в зависимости от степени защиты и .

Domain Validation SSL

Самый простой вариант. Заработает после того, как вы подвтердите владение доменом. Сделать это можно тремя способами:

  • Через E-mail. Вам на почту придет письмо с инструкцией по верификации. В качестве адреса отправки выбирается либо почта из Whois домена, либо ящики админа или вебмастера.
  • Через запись в DNS. Если у вас настроен сервер электронной почты, создайте специальную запись в DNS. По ней система и подтвердит, что вы действительно владелец сайта. Метод автоматизирован и подходит тем, у кого почта Whois скрыта в настройках.
  • Через хэш-файл. Разместите специальный.txt файл у себя на сервере, чтобы центр сертификации смог установить его наличие.

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

Business Validation

Этот вид сертификата SSL надежней, потому что вы подтверждаете факт связи компании с сайтом. Для этого нужно отправить в верификационный центр несколько документов и принять звонок на корпоративный номер. Business Validation-сертификаты делятся на 3 вида:

  • Extended Validation SSL. Это сертификаты с расширенной проверкой. Они нужны всем, кто работает с большим объемом денег: банкам, крупным интернет-магазинам, финансовым компаниям, платежным системам.
  • Wildcard SSL. Такой сертификат защищает и сам сайт, и его поддомены. Причем их может быть любое количество, а располагаться они могут на разных серверах. Обязателен, если вы используете поддомены с разной региональной привязкой или разными проектами.
  • SAN SSl. Главное преимущество этого типа сертификата – поддержка альтернативных доменных имен: и внешних, и внутренних.

Можно ли установать на свой сайт бесплатный SSL-сертификат?

Да. Большинство таких продуктов платные, но есть и варианты, за которые не придется отдавать деньги. Это базовые сертификаты с валидацией по домену. Они не позволят прикрутить к ресурсу онлайн-кассу, но защитить соединение пользователя с сервером смогут. Такие SSL подойдут небольшим информационным сайтам или офлайн-бизнесам. Пример – базовый сертификат StartSSL .

Установка сертификата SSL

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

В процессе генерации ключа CSR нужно указать:

  • Имя сервера: «site.com» или «*.site.com», если получаете WIldcard сертификат. Звездочка означает любое количество любых символов перед точкой.
  • Код страны: RU, UA, KZ и так далее.
  • Область, например, Saratov Region.
  • Город.
  • Полное название организации или имя владельца сайта.

Запрос CSR отправляется в центр верификации. На выходе вы получаете сертификат SSL и файл с приватным ключом, который нельзя терять и выкладывать в открытый доступ.

После этого нужно установить сертификат на веб-сервер. Рассмотрим случаи с Apache и nginx.

Apache

Чтобы это сделать, нужно загрузить на сервер все сертификаты: и основные, и промежуточные. Первым делом нужно последний в директорию /usr/local/ssl/crt (используется по умолчанию, в вашем случае может отличаться). В ней будут храниться все сертификаты.

После этого скачайте основной сертификат, откройте его в любом текстовом редакторе и полностью скопируйте содержимое вместе со строчками «BEGIN» и «END».

В директории /ssl/crt/ создайте файл vashsite.crt и вставьте в него содержимое сертификата.

Файл приватного ключа переместите в директорию /usr/local/ssl/private/

В файле VirtualHost добавьте строки:

SSLEngine on

SSLCertificateKeyFile /usr/local/ssl/private/private.key

SSLCertificateFile /usr/local/ssl/crt/vashsite.crt

SSLCertificateChainFile /usr/local/ssl/crt/intermediate.crt

Указывать нужно действительные пути до файлов. Сохраните изменения и перезапустите сервер.

nginx

Здесь процесс установки SSL сертификата немного отличается. Сначала нужно объеденить корневой, промежуточный и SSL-сертификаты в один. Для этого создайте файл vashsite.crt и вставьте туда содержимое сертификатов вместе со строчками «BEGIN» и «END» (порядок: SSL, промежуточный, корневой). Пустых строк быть не должно.

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

Оба файла (vashsite.crt и vashsite.key) поместите в директорию /etc/ssl/ (она используется по умолчанию, но может отличаться).

В файле с конфигурациями отредактируйте VirtualHost. Добавьте:

server{
listen 443;
ssl on;

ssl_certificate /etc/ssl/vashsite.crt;
ssl_certificate_key /etc/ssl/vashsite.key;
server_name vashsite.com;

Если директория с сертификатом и ключом отличается от дефолтной, поменяйте ее.

Теперь сохраните изменения и перезапустите nginx.

Как получить рабочее HTTPS-соединение

После установки сертификатов SSL сайт станет доступен по двум адресам: http://vashsite.com и https://vashsite.com. Вам нужно оставить только последний. Для этого настройте файл robots.txt и сделайте 301-редирект со старого сайта.

В «robots» нужно обновить host. Пример: Host: https://vashsite.com. Для настройки редиректа нужно добавить в файл.htacsess строчки:

RewriteCond %{SERVER_PORT} !^443$

RewriteRule ^(.*)$ https://vashsite.com/$1 .

Теперь осталось сообщить об изменениях поисковикам. В «Вебмастере» «Яндекса» добавьте страницу с https и укажите ее как главное для старого сайта.

Итоги

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

Протокол HTTPS сегодня является одним из базовых протоколов для обмена данными в сети Интернет. Он позволяет проводить шифрование передаваемой информации, обеспечивает защиту от снифферских и других кибератак, гарантирует стабильность соединения и конфиденциальность передаваемых данных. Но как же быть в ситуации, когда пользователь желает отключить https? В этой статье я расскажу, как выключить https в браузерах Яндекс и Google Chrome и на сайте социальной сети Вконтакте.

Итак, что же такое HTTPS? Данное название является аббревиатурой от «HyperText Transfer Protocol Secure» (в переводе «Безопасный трансферный протокол гипертекста»). И являет собой симбиоз нескольких сетевых протоколов – базового HTTP и криптографических SSL/TLS. Теперь передающиеся данные зашифровываются для повышения безопасности установленного интернет соединения, способствуя его надёжности и защищённости.

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

Отключаем https

При этом бывают ситуации, когда может понадобиться отключение поддержки https в браузере Яндекс, Хром и Опера. Это связано с особенностями работы некоторых сайтов, не всегда корректно работающих с протоколом https. Потому ниже я сообщу, как отключить https для конкретных сайтов на разных браузерах.

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

Как отключить https в браузере

Чтобы отключить https в браузере для конкретного сайта делаем следующее.

  1. Уходим с данного сайта, закрываем все вкладки, оставив одну базовую;
  2. Очищаем всю историю активности и кэш;
  3. Заходим на служебную страницу браузера, вбив в адресной строке следующее:

В поле ввода «Delete Domain» вбиваем имя домена сайта (к примеру, образец.com), и жмём на «Delete». Теперь в следующий раз вводите адрес сайта с http, а не https, и пользуйтесь возможностями незащищённого соединения.

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

Также вы можете изменить настройки безопасности HTTPS в настройках вашего браузера. К примеру, для Хром это можно сделать зайдя в настройки, выбрать «Показать дополнительные настройки», и выбрать «Настроить сертификаты» в пункте HTTPS.

Как убирать https из Вконтакте


При следующем входе на сайт ВК помните об особенностях редиректа (который указан чуть сверху), удалите упоминание о данном домене как указано сверху, а затем заходите на данный ресурс с использованием http.

Если не помогает, можно попробовать войти на данный сайт с другого браузера.

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

Заключение

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

Вконтакте

Для защиты интернет-соединения пользуйтесь программой Kaspersky Securе Connection. Kaspersky Securе Connection устанавливается автоматически вместе с Kaspersky Internet Security 2017.

Когда вы подключаетесь к Wi-Fi, Kaspersky Securе Connection проверяет сеть, и если сеть небезопасна, предлагает включить защищенное соединение. Нажмите Включить защиту для безопасной работы в сети.


Kaspersky Secure Connection установит защищенное соединение и покажет уведомление.


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

Как активировать Безопасное соединение

По умолчанию Безопасное соединение работает в ограниченном режиме. В ограниченном режиме вам доступно 200 МБ защищенного трафика в сутки. Когда лимит исчерпан, в окне программы Kaspersky Secure Connection появляется сообщение о превышении лимита.

Чтобы снять ограничение, купите лицензию Kaspersky Secure Connection через интернет-магазин в My Kaspersky и активируйте программу.

Почему Безопасное соединение не работает

Если Безопасное соединение не работает, в окне программы Kaspersky Secure Connection появляется сообщение "Защита интернет-соединения недоступна".


Kaspersky Secure Connection может не работать по следующим причинам:

  • Отсутствует подключение к интернету.
  • На компьютере включен сетевой экран.
  • Программа стороннего производителя уже установила VPN-соединение.
  • Параметры прокси-сервера не позволяют установить безопасное соединение.
  • Интернет-провайдер запретил установку безопасного соединения.
  • Не удалось получить данные из инфраструктуры.

Ограничения использования Безопасного соединения

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

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

Что такое SSL?

Протокол SSL – это стандарт для обмена надежной информацией между веб-сайтом и браузером. Не вдаваясь в подробности технической части его работы, его можно объяснить так: он устанавливает доверительные отношения между сервером и веб-браузером. Когда «доверие» установлено, сервер шифрует данные таким образом, что только конечный получатель (клиент) сможет их расшифровать.

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

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

Использование SSL требует от сайта установки специального сертификата. Приобретение такого сертификата передает браузеру важную информацию о безопасности вашего сайта. В большинстве браузерах, когда вы заходите на безопасный сайт, вы увидите иконку в виде зеленого замочка в адресной строке. Это означает наличие SSL -сертификата :

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

После установки сертификата каждый посетитель вашего сайта сможет иметь доступ к его страницам через HTTP или HTTPS соединение . Не зря употреблено слово «сможет», а не «будет», так как добавления самого сертификата еще недостаточно. Вам нужно настроить WordPress таким образом, чтоб заставить посетителей использовать HTTPS.

Когда мы говорим «использование SSL», то подразумеваем, что обмен информацией между сервером и браузером осуществляется через протокол HTTPS вместо незащищенного протокола HTTP. Это требует наличия валидного SSL-сертификата, но не только.

Где и как использовать HTTPS?

Можно настроить сайт на WordPress таким образом, чтобы посетители использовали HTTPS при входе на сайт, при использовании админки, на каждой или же на определенных страницах вашего сайта. Есть два подхода к определению необходимости его использования. Первый – по необходимости. То есть, только самые чувствительные файлы. Второй способ – для всего сайта.

Не так давно Google заявил о том, что защищенные сайты с помощью HTTPS имеют более высокие показатели в поисковой выдаче. Это значит, что использование HTTPS не только обеспечит защиту сайта, но и поспособствует SEO. Также этот протокол поможет предотвратить или устранить любые человеческие ошибки в отношении конфиденциальности той или иной информации.

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

Так как скорость загрузки страницы очень важна для конечного пользователя и для SEO, необходимо определить, является ли важной защита нечувствительного контента (как например, контент страниц, доступный всем пользователям). Это, конечно же, зависит от многих факторов и определяется после оценки и тестирования вашего сайта.

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

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

Настраиваем SSL вручную на WordPress

Существует константа, которую вы можете использовать в файле wp-config.php и обеспечить безопасное соединение в админке. И эта константа - FORCE_SSL_ADMIN – требует наличия SSL-сертификата и HTTPS для доступа в любое место админки WordPress.

По умолчанию эта функция выключена. Чтобы ее включить, нужно добавить в файл wp-config.php следующий код:

define("FORCE_SSL_ADMIN ", true);

Почитайте замечательную в WordPress Codex о том, как настроить HTTPS на всем сайте и зашифровать страницы фронтенда.

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

Использование плагина для HTTPS

Существует отличный бесплатный плагин WordPress HTTPS (SSL) , с помощью которого можно очень легко произвести все настройки. Правда, плагин давно не обновлялся и, как видно из каталога плагинов, тестировался только для версии WordPress 3.5.2. Но он отлично работает также и с версиями 3.9 и 4.0.

Этот плагин осуществляет две функции. Он позволяет задать глобальные SSL-настройки для вашего сайта или сайтов.

Если вы не хотите использовать SSL для всего сайта, то плагин позволяет выбрать конкретные записи и страницы для этого.

Процесс настройки плагина довольно прост. Панель управления дает вам возможность настраивать опции для всего сайта (или нескольким сайтам, если у вас инсталляция WordPress).

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

Для безопасности сайта SSL недостаточно!

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

Как можно перестраховаться? Выбирать только очень сильные пароли, своевременно обновлять плагины и темы на WordPress, периодически сканировать на наличие вредоносных скриптов, прочее.

Само по себе наличие на вашем сайте SSL-сертификата не обезопасит его. Необходимо использовать еще и соответствующие плагины безопасности, как например, WordFence , iThemes Security или сервис Sucuri .

Но установка SSL сертификата и конфигурация WordPress для использования HTTPS – важный и первый шаг к обеспечению безопасности сайта. И, как уже говорилось, довольно простой.

Бонус! Попробуйте бесплатный SSL от Let’s Encrypt на Hostenko

Если вы пользователь WordPress хостинга от , вы можете самостоятельно подключить SSL сертификат от Let"s Encrypt совершенно бесплатно, нажав на 1 кнопку.

Для этого нужно перейти в хостинга, открыть блок "Управление хостингом" для вашего сайта и в разделе "Безопасность" нажать на кнопку "Добавить SSL сертификат Let"s Encrypt":

Вся процедура пройдет в автоматическом режиме, и уже через пару секунд к вашему сайту будет подключен бесплатный SSL сертификат от Let"s Encrypt, а адрес сайта изменится на https. Добавить SSL сертификат можно для любого сайта на собственном домене.