SSL-сертификаты и безопасный интернет
easy

SSL-сертификаты и безопасный интернет

Ваше соединение надёжно защищено. Или нет.

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

Вот так браузер сообщает нам, что у этого сайта нет сертификата безопасности.
А вот так — что сертификат есть. Но не всё так просто.

Минутка технического объяснения про SSL и HTTPS

Стандартный протокол передачи данных в вебе, который используется с 1992 года, — HTTP. Этот протокол задаёт правила, по которым пользователи запрашивают сайты, а серверы — отдают эти сайты. Протокола — это просто договорённости: «Заголовок страницы передавай так-то, текст — так, пароль проси так». Протокол может быть любым внутри, главное — чтобы все договорились использовать именно его.

Минус протокола HTTP в том, что он передаёт данные в открытом виде. Если на сайте с HTTP ввести данные карточки, то они полетят по каналам связи незашифрованными. Злоумышленник может их перехватить и прочитать — достаточно, например, просто «прослушивать» весь трафик в беспроводной сети.

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

Чтобы решить проблему незашифрованных данных, в 2000 году придумали HTTPS — HyperText Transfer Protocol Secure, безопасный протокол передачи гипертекста. Внутри себя он работает как обычный HTTP, но снаружи шифрует весь свой трафик. Даже если кто-то вклинится посередине, он увидит только шифр, который не получится разобрать.

За шифрование страниц в HTTPS отвечает протокол SSL — Secure Sockets Layer, уровень защищённых сокетов. Сокеты — это такие виртуальные соединения между компьютерами. Защищённый сокет означает, что данные, которые идут внутри от одного компьютера к другому, — в безопасности. Если браузер открывает страницу по такому протоколу, то он перед отправкой на сервер шифрует всё, что вы делаете или вводите на сайте. Самое то, если нужно отправить данные платёжной карты или логин с паролем от сервиса.

На самом деле примерно с 2014 года вместо протокола SSL используют TLS, который задумывался как обновление SSL 3.0. Дело в том, что в 2014 году обнаружили уязвимость в SSL-протоколе, которая позволяет расшифровывать все данные. В TLS конкретно этой уязвимости нет (но наверняка есть другие), поэтому все плавно перешли на него, но по старой памяти и привычке называют всё SSL-соединением и SSL-сертификатами.

Как работает SSL-протокол

  1. После ввода адреса браузер отправляется к нужному серверу и запрашивает у него страницу по протоколу HTTPS. Если страницы работают с HTTPS, то всё отлично, переходим к шагу 2. Если на сервере используется ещё старый протокол HTTP, то он отдаст браузеру страницу по этому незащищённому протоколу и никакого шифрования дальше не будет.
  2. Сервер отправляет браузеру копию своего SSL-сертификата, чтобы браузер убедился, что всё в порядке. В таком сертификате написано, что это за домен, кто выдал сертификат и информация о владельце.
  3. Браузер проверяет подлинность сертификата и, если всё хорошо, — извлекает из сертификата ключ шифрования и с его помощью безопасно договаривается с сервером о том, каким образом они будут кодировать всё дальнейшее общение.
  4. Сервер шифрует страницу и отправляет её браузеру.
  5. Браузер расшифровывает страницу, показывает её пользователю, а серверу сообщает, что всё в порядке, работаем дальше. Все данные шифруются и можно отправлять на сервер что угодно.

А как быть с обычными сайтами без сертификатов?

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

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

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

Получить SSL-сертификат — это сложно?

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

Что не так с безопасным соединением

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

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

Обложка:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Маша Климентьева

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Вам может быть интересно
JavaScript для новичков: чем опасны нестрогие типы данных

В JavaScript есть удобная штука, которая может сильно вам навредить.

medium
Задача на импортозамещение

Немного логики, капля математики и много любви к российским фермерам.

medium
Как сделать собственную программу-тудушку за 10 минут

Пошаговое руководство.

medium
Чем будем замещать

Бесплатные аналоги необходимого софта

easy
Настраиваем сервер для своего облачного хранилища

Готовимся к переезду в личное облако

hard
Кто такой тимлид (он же Lead)

Как устроена работа человека, которого слушают даже сеньоры.

easy
Что происходит на рынке iOS-разработки в 2023 году? Разговор с профи

Спрашиваем практикующего iOS-разработчика, как попасть в эту отрасль и начать делать приложения в App Store

easy
UTF: что такое универсальная кодировка

Продолжение рассказа про Юникод

easy
Зачем нужна сортировка в программировании

И почему это любят спрашивать на собеседовании.

easy
easy
[anycomment]
Exit mobile version