Что такое https протокол и как он защищает

Как работает HTTPS

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

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

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

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

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

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

Как определить используемый на сайте протокол

Неопытных пользователей компьютера этот вопрос может поставить в тупик, хотя на самом деле все просто. Любой URL начинается с указания используемого протокола, другое дело, что людям зачастую не требуется его вводить самостоятельно, браузер подставляет его автоматически. Если просто набрать в адресной строке браузера beginpc.ru, то браузер подставит перед доменом «http://» и откроет сайт по обычному незащищенному протоколу.

Хотя в адресной строке протокол обычно не показывается (IE отображает). При этом в Firefox и Chrome слева от адреса показывается значок в виде буквы i в кружке серого цвета, а в Яндекс.браузере значок земного шара справа в конце строки. Если навести курсор мыши на них, то появится подсказка, что используется не защищенное соединение. Нужно понимать, что все меняется и даже в разных версиях одного браузера внешний вид может отличаться.

Чтобы установить защищенное соединение с сайтом, нужно явно указать безопасный протокол перед адресом страницы https://beginpc.ru в адресной строке браузера. В результате будет установлено зашифрованное соединение по протоколу HTTPS, о чем браузер обязательно уведомит пользователя тем или иным способом. Обычно при этом браузер не скрывает в URL что используется https и дополнительно показывает иконку закрытого замка серого или зеленого цвета. Браузер Хром дополнительно пишет перед адресом зеленым цветом слово «Надежный».

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

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

Для наглядности можете попробовать перейти по этой ссылке http://yandex.ru на поисковую систему Яндекс. Несмотря на прямо указанный протокол http вас принудительно перебросит на https, потому что теперь он доступен только по защищенному протоколу. Порой это может создавать проблемы некоторым пользователям компьютера.

Как перевести сайт на HTTPS протокол

Грамотный перевод веб-ресурса на защищенный протокол обеспечивается
тремя факторами:

  1. Сайт нормально отображается на устройствах
    пользователей.
  2. Зеркало ресурса хорошо индексируется поисковыми
    роботами.
  3. Сохраняется или даже увеличивается трафик из
    поисковых систем и других источников.

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

  • Лучше останавливать выбор на надежных и новейших методах шифрования. Вам нужны 2048-разрядные ключи, но никак не SHA-1.
  • Дешевые сертификаты зачастую работают только с одним зеркалом ресурса. Вам необходимо уточнить, по какому URL требуется доступность сайта.
  • Если сайт находится в доменной зоне .рф или прочих зонах, прописанных кириллицей. В таких случаях нужно покупать сертификат Internationalized Domain Names.
  • Когда на защищенный протокол необходимо перевести несколько поддоменов, не стоит приобретать сертификат для каждого адреса. Есть отличное решение – недорогие или бесплатные WildCard, распространяющиеся на все поддомены.
  • Вам нужна Multi-Domain услуга. Это в том случае, если у вас есть организация с изобилием доменных имен в различных зонах.

Одной из самых надежных компаний на рынке является Symantec, владеющая популярнейшими сертификационными центрами: Geotrust, Thawte и Verisign.

Также сертификаты делятся по способу проверки домена:

  • DV-проверка. Самый
    бюджетный вариант, идеально подойдет для небольших ресурсов и частных лиц.
    Процедура получения сертификата занимает не более 5 минут. В адресной строке браузера
    напротив домена сайта, имеющего данный сертификат, отображается зеленый замок.
  • OV. Организация, выдающая
    сертификаты, тщательно анализирует компанию на протяжении недели, чтобы понять,
    действительно ли она существует. Затем выдается электронная подпись, которая
    значительно увеличивает доверие к компании. В адресной строке тоже отображается
    замок зеленого цвета.
  • EV. Это расширенная
    проверка, продолжающаяся около двух недель. Сертификат считается престижным, а
    чтобы его получить, нужно не только хорошо заплатить, но и пройти сложную
    проверку всех документов, регулирующих деятельность компании и подтверждающих ее
    легальность. После выдачи сертификата в адресной строке браузера отображается зеленый
    замок с названием фирмы – это своеобразная печать доверия.

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

Если у вас информационный сайт, то подойдет бесплатный Let’s Encrypt. Если у вас коммерческий сайт и на нем будут проходить платежи, то необходимо покупать, уже что то посерьезнее, например Comodo. У нас есть статья, где мы сравниваем Let’s Encrypt и Comodo.

Получив сертификат, рано расслабляться. Чтобы в дальнейшем не потерять трафик и конверсию, нужно проверить корректность работы сайта:

  • Убедитесь, что все ссылки ресурса ведут на HTTPS-страницы. Стоит проверить все линки, даже в XML-карте домена, стилях, шаблонах и так далее. Не забудьте и про настройки, сделанные в HTTP-версии – их все тоже следует перевести на новый протокол, например, ссылки в файле Google Disavow Tool.
  • Посмотрите, весь ли контент указывает на HTTPS. Это касается не только подгружаемого текста, но и видео-, аудиофайлов, скриптов и прочих медиафайлов.
  • Проверьте, как сайт отображается для пользователей. Бывает так, что после перехода на HTTPS-версию страницы загружаются некорректно.
  • Добавьте домен, поддерживающий HTTPS протокол, в Яндекс.Вебмастер и Google Search Console. В панели вебмастера нужно указать и старую, и новую версии.
  • В вебмастерских панелях настройте поддержку защищенного протокола. Проследите с помощью Яндекс Метрики и Google Analytics, чтобы трафик целиком перешел на HTTPS.
  • Настройте отработку 301-редиректов на основной вариант написания домена со всех второстепенных. Переадресацию редиректов выполнить в один шаг, они должны выдавать 301-й код, а основное зеркало – код 200.

Распространение HTTPS

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

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

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

Пробрасываем порт

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

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

Автоматический способ

Если вам не нужны дополнительные настройки, то выполните нижеописанные шаги. В примере используется прошивка роутера TP-Link.

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

Ручной способ

Для более детальной настройки необходимо выполнить нижеописанные действия. Для примера взята прошивка роутера D-Link:

  1. Войдите в учётную запись управления роутером, используя адрес, логин и пароль. Перейдите к расширенным настройкам, кликнув по кнопке в правом нижнем углу.
  2. В блоке «Межсетевой экран» выберите подпункт «Виртуальные серверы».
  3. Начните добавление нового сервера, нажав на соответствующую кнопку. Выберите произвольный шаблон и пропишите любое имя. В интерфейсе выберите интернет-соединение из списка. Укажите протокол и внутренний IP-адрес из списка. Внешний порт — порт устройства, с которого будет забираться трафик и отправляться на внутренний порт. Если вам нужен не один порт, а диапазон, заполняйте поля и начального, и конечного внутреннего и внешнего порта. Удалённый IP — адрес устройства, расположенного не в локальной сети, а во внешней (чаще всего поле остаётся пустым).

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

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

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

  1. Переход на HTTPS протокол одного домена. Если ресурс создан от имени компании, то есть, юридического лица, самый оптимальный вариант – сертификат Organisation Validation. Для физических лиц существует Domain Validation сертификат. Например: Geotrust Rapid SSL Wildcard или Thawte SSL123.
  2. Перевод на защищенный протокол для нескольких поддоменов одного ресурса. Это могут быть тематические или региональные поддомены, дочерние сайты. В данном случае нужно получить сертификат WildCard, к примеру, Geotrust Rapid SSL Wildcard, Thawte SSL WildCard и т.д.
  3. Для финансовых учреждений, банков, сайтов с биллингом, холдингов. Для них нужны сертификаты, включающие в себя расширенную проверку. Это Extended Validation. Например: Symantec Secure Site EV и Thawte SSLWebServerEV.
  4. Для списка доменов или группы сайтов. Для них существуют SAN сертификаты, проверяющие список доменов и компанию. Примером такого сертификата является Geotrust True BusinessID SAN. Применяются в редких случаях.

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

Инструкция по переезду на https

  1. Выбираем сезон, в котором посещение вашего сайта минимально (если ваш сайт не связан с тематикой «всё для праздника», то, возможно, лучшее время для вас – новогодние праздники, когда покупательская активность в Сети снижается). Проверить сезонность можно с помощью систем аналитики Google Analytics или Яндекс.Метрика.
  2. Выбираем подходящий нам SSL сертификат.
  3. Устанавливаем сертификат на хостинг, используя панель управления, доступ ssh или помощь администратора хостинга, при этом никаких редиректов с http не настраиваем.
  4. Открываем файл robots.txt и прописываем директиву host с протоколом https

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

  5. Далее переходим в Яндекс.Вебмастер с подтвержденными правами на сайт. Если такого нет, то подтверждаем права (следуя инструкции сервиса).
  6. Далее переходим в раздел Настройка индексирования – Переезд сайта. И выставляем чекбокс (галочку) напротив «Добавить HTTPS», после этого нажимаем «Сохранить».

  7. После этого ждем пока изменения вступят в силу. Как правило, этот срок составляет 2 недели.
  8. Настраиваем 301 редирект со страниц http на https, при этом избегайте цепочек переадресации.
  9. Меняем все ссылки, имеющиеся в коде сайта, на https или делаем их относительными.
  10. Смотрим, чтобы в карте сайта .xml присутствовал только протокол https.
  11. Добавляем карту в Вебмастер.Яндекса.
  12. Добавляем все версии сайта в Google Search Console.
  13. Переходим в настройки сайта и выбираем Основной домен (если этого не было сделано раньше).

  14. Переносим все настройки (если такие имелись) с версии сайта http на https.
  15. Инструмент изменения адресов не используем.

  16. Сразу после переноса сайта попробуйте обновить все входящие ссылки, в том числе: Внешние ссылки, Ссылки на профили, например в Google+, Facebook, Twitter, Vk и т.д.

Заказать переход на безопасный протокол можно у наших специалистов — Заказать переход на https

Информацию об уже установленном на сайте сертификате вы можете проверить с помощью специальных сервисов:

https://www.ssllabs.com/ssltest/index.html – предоставит расширенную техническую информацию о сертификате.

https://cryptoreport.websecurity.symantec.com/checker/views/certCheck.jsp – проверит, насколько верно установлен сертификат.

Советы поисковых систем для перехода на https

Рекомендуем ознакомиться с источниками информации, касательно защищенного протокола от поисковых систем и их полезные сервисы:

Защитите свой сайт с помощью HTTPS (Справка — Вебмастер Google) — https://support.google.com/webmasters/answer/6073543?hl=ru

Переезд сайта на новый домен (Справка Яндекс.Вебмастер) — https://help.yandex.ru/webmaster/yandex-indexing/moving-site.xml Индексирование картинок (Советы веб-мастеру от Яндекс) — http://help.yandex.ru/images/indexing.xml Деликатный переезд (или рекомендации Яндекса по переезду на HTTPS) — https://yandex.ru/blog/platon/2778

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

HTTPS и позиция Google

Нет ничего удивительного в том, что Google предпочитает надежные сайты с подтвержденным сертификатом сервера.

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

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

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

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

  • Шифрование данных. Данные шифруются для повышения безопасности их передачи.
  • Сохранение целостности данных. Данные не могут быть незаметно изменены или искажены во время передачи.
  • Аутентификация гарантирует, что пользователь попадает именно на тот сайт, который ему нужен.

Google утверждает, что сайты, использующие протокол HTTPS, получают небольшое преимущество при ранжировании именно из-за фактора безопасности.

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

По словам Search Engine Land, Google сообщает, что первые тесты по использованию HTTPS в качестве сигнала ранжирования дали «положительные результаты» в плане релевантности и позиции ресурса в выдаче Google. Специалисты также считают, что Google может принять решение повысить влияние этого сигнала и отдавать предпочтение сайтам, использующим HTTPS, в целях заботы о безопасности пользователей.

HTTP и HTTPS: основы

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

HTTP (HyperText Transfer Protocol)

HTTP («протокол передачи гипертекста») — это система передачи и получения информации в интернете. HTTP является протоколом прикладного уровня, то есть, по сути, его интересует в первую очередь то, как информация передается пользователю, при этом ему безразлично, как данные попадают из пункта А в пункт Б.

Замеряем пульс российского диджитал-консалтинга

Какие консалтинговые услуги востребованы на российском рынке, и как они меняют бизнес-процессы? Представляете компанию-заказчика диджитал-услуг?

Примите участие в исследовании Convergent, Ruward и Cossa!

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

Когда целесообразно использование HTTP?

HTTP чаще всего применяется для доступа к HTML-страницам

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

HTTPS (Secure HyperText Transfer Protocol)

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

С технической точки зрения есть еще одно различие протоколов: в отличие от HTTP, для HTTPS по умолчанию используется 443 TCP-порт, т.е. протоколы HTTP и HTTPS используют два разных порта для коммуникации.

HTTPS работает совместно с криптографическим протоколом Secure Sockets Layer (SSL). Вместе они обеспечивают надежную передачу данных, и именно это отличие от HTTP учитывает Google.

Обратите внимание: протоколу HTTP важно ЧТО передается, то есть сохраняется целостность данных, но сами данные могут оказаться под угрозой перехвата. Для SSL важно КАК передаются данные, при этом безразличен вид содержания, но надежен процесс передачи. HTTPS — это HTTP, обернутый в SSL

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

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

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

Безопасное соединение не значит безопасный сайт

Зеленый замочек означает, что сайту выдан сертификат и что для него сгенерирована пара криптографических ключей. Такой сайт шифрует информацию, передаваемую вами сайту и от сайта к вам. В этом случае адрес страницы будет начинаться с HTTPS, и вот эта последняя «S» значит secure, то есть «безопасный».

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

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

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

Этим активно пользуются злоумышленники: по данным Phishlabs, сейчас уже четверть всех фишинговых атак осуществляется на HTTPS-сайтах (а еще два года назад было менее одного процента). При этом более 80% пользователей считают, что зеленый замочек и надпись «Защищено», которыми сопровождается HTTPS-соединение в браузерной строке, означают, что сайт безопасный, а значит, у них меньше сомнений, вводить на таком сайте свои данные или нет.

А что, если замочек не зеленый?

В целом бывает еще два варианта. Если замочка нет вообще – это значит, что сайт не использует шифрование и обменивается с вашим браузером информацией по протоколу HTTP. Браузер Google Chrome с недавних пор маркирует такие сайты как небезопасные. На самом деле они могут быть «белыми и пушистыми» – просто не шифруют коммуникацию между вами и сервером. Поскольку владельцы большинства сайтов не хотят, чтобы Google помечал сайты как небезопасные, все большее число веб-страниц переходит на HTTPS. Ну и вводить чувствительные данные на HTTP-сайтах не стоит – их может кто-нибудь подсмотреть.

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

Что нужно помнить, чтобы не попасться на удочку

Резюмируем: наличие cертификата и индикаторов в виде зеленого замочка и надписи «Защищено» означает лишь то, что данные, передаваемые между вами и сайтом, шифруются, а также то, что сертификат выдан доверенным сертификационным центром. При этом HTTPS-сайт вполне может оказаться зловредным — особенно удачно манипулируют этим мошенники, промышляющие фишингом.

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

  • Никогда не вводите ваши логины, пароли, банковские и другие личные данные на сайте, пока окончательно не удостоверитесь в его подлинности. Для этого всегда проверяйте доменное имя (обязательно очень внимательно, имя сайта мошенников может отличаться всего на один символ!) и переходите только по надежным ссылкам.
  • Всегда спрашивайте себя, зачем вам регистрация на том или ином сайте, что он предлагает, не выглядит ли подозрительно.
  • Не забывайте о хорошей защите своих устройств: Kaspersky Internet Security сверит адрес страницы с теми, что хранятся в обширной базе данных фишинговых сайтов, и обнаружит мошенников независимо от того, насколько «надежным» выглядит ресурс.

Развенчиваем мифы

HTTPS использует по капотом HTTP/2, поэтому может делать мультизагрузку данных параллельно

Несовместимость

Множество сервисов уже поддеривают https, а если вы встраиваете в сайт запросы к сервисам которые используют http, эту проблему можно решить теми же csp заголовками.

Сложности с сертификатом, затраты на выпуск

Let’s Encrypt позволяет бесплатно выпустить сертификат. А certBot позволяет автоматически выпускать и устанавливать сертификат на платформе вашего хостинга.

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

Прямо сейчас я за 5 минут настроил https для этого блога, включая регистрацию на Cloudflare.

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

SNI — Server Name Idndication — позволяет иметь множество сертификатов на одном ip адресе
SAN — Subject Alternative Name — возможность иметь несколько доменных имен на одном сертификате
PFS — Perfect Forward Securecy — защищает сессии, если приватный ключ был скомпроментирован
DNSSEC — Domain Name System Security Extention — защита от подмены DNS записей
DANE — DNS Based Authentication of Named Entities — возможность указать сертификаты на уровне DNS
CAA — Certificate Authority Authorization — Возможноть указывать возможные Certificate Authority на DNS уровне
CRL — Certificate Revocation List — список аннулированных сертификатов
OCSP — Online Certificate Status Protocol — список аннулированных сертификатов (альтернатива CRL)
PKP — Public Key Pinning — Предопределенный список ключей который клиент может принять при TLS Handshake

Когда клиент коннектится и получает сертфикат, он проверяет его на корректность. Но что если он был выпущен обманным путем?
Для этого есть HTTP PKP — определение публичных ключей которые соответствуют этому домену.
Есть список аттрибутов HPKP:

  • max age — промежуток времени, при котором клиент использует ключ. Если в этот период будет выпущен новый сертификат — клиент не будет ему доверять
  • subdomains — рспространяется ли сертификат на поддомен
  • report-uri — возможность репортать о нарушениях на определенный url в случаях аттак и тп

HPKP — это респонз заголовок

public-key-pins:
pin-sha256=»4rwe32″ хеши публичных ключей
max-age=»»
includeSubdomain
report-uri=»http….»

https://www.ssllabs.com/ssltest — сайт, на котором можно просмотреть инфу о сертификате, просто указав url.

Расширенная валидация

Некоторые дополнительные бенефиты от HTTPS:

  • немного улучшает SEO
  • не передает допольнительные данные, если вы переходите на http сайт с https сайта (например referrer заголовок)
  • использование Brotli сжатия

Кстати, завел личный блог Sleepless Tech в Telegram про разработку и DIY, заходите!

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

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

Adblock
detector