SSL — это протокол для безопасной связи между браузером и сайтом. Он позволяет передавать данные в зашифрованном виде. Для его реализации и корректной работы нужен SSL-сертификат — цифровой документ, который подтверждает, что ресурс надежен.
Аббревиатура SSL расшифровывается как Secure Sockets Layer, или уровень защищенных сокетов. Вообще-то так назывались только первые версии протокола. Современный вариант имеет официальное название TLS, или Transport Layer Security — защита транспортного уровня. Но по привычке его продолжают называть SSL.
SSL подключен к большинству современных сайтов: есть специальные центры, которые генерируют сертификаты и позволяют реализовать протокол. Обычно это платно, но есть и бесплатные варианты.
Благодаря SSL данные, которые передаются по сети, не может увидеть или прочитать посторонний. Без этого протокола информация передается в открытом виде и доступна любому, кто «слушает» трафик сети.
Для чего нужны SSL и SSL-сертификат
Благодаря SSL данные между браузером пользователя и сервером сайта шифруются при передаче, и их не может перехватить злоумышленник. Даже если он каким-то образом получит доступ к информации, он не сможет ее прочесть. Поэтому SSL важен для всех сайтов, которые так или иначе работают с персональными данными пользователей, особенно с платежными.
Данные шифруются с помощью пары уникальных цифровых ключей: публичного и приватного. Первый видят все, второй — только сам владелец сайта. А то, что ключ принадлежит конкретному сайту, подтверждает SSL-сертификат.
SSL-сертификат — это своеобразная цифровая подпись. Его наличие подтверждает, что пользователь действительно подключается к нужному сайту, владельцу ключа, а не к мошеннику, который подменил адреса и перенаправляет запросы на какой-то другой сервер.
Сертификат выдается автоматически при генерации пары ключей и неразрывно связан с реализацией протокола. Без него SSL не будет работать.
Как выглядит проверка сертификата
Процесс можно представить как последовательность действий.
- Пользователь или система обращаются к веб-серверу сайта. Это может быть любое действие: практически все, что вы делаете на сайте, — обмен информацией, для которого нужен запрос к серверу.
- Браузер пользователя требует у веб-сервера идентификацию.
- В ответ веб-сервер отправляет браузеру копию SSL-сертификата, и тот проверяет, можно ли этому сертификату доверять: не истек ли его срок, кто его выдал и так далее. Ближайшая аналогия — проверка пропуска при входе в бизнес-центр.
- Если все хорошо и сертификат доверенный, браузер сообщает веб-серверу, что удостоверился в его надежности.
- Веб-сервер подтверждает это, возвращает цифровую подпись и начинает соединение по протоколу SSL. Теперь браузер и сервер могут обмениваться информацией безопасно.
На месте пользователя и браузера может быть какой-нибудь сервис и его сервера: передача информации между сайтом и другим ресурсом происходит практически по тому же принципу.
Для чего проверяется сертификат
Сертификат служит своеобразным удостоверением или пропуском: сервер показывает, что это действительно он, и браузер расценивает его как надежный. После этого он разрешает соединение по защищенному протоколу SSL.
Такая проверка нужна, чтобы не допустить гипотетической ситуации, когда конечный адрес сервера подменяется каким-то другим и браузер соглашается на защищенную передачу данных с неизвестным адресатом. Подобная вероятность нарушает безопасность и конфиденциальность данных, а сертификат позволяет избежать ее.
Если SSL-сертификат и секретную часть ключа украдут злоумышленники, они смогут перехватывать, расшифровывать и читать весь трафик вашего сайта. Поэтому задача владельцев ресурса — обеспечивать серверу безопасность и не допускать его взлома или утечки конфиденциальных данных.
Что происходит после проверки сертификата
Начинается подключение по защищенному протоколу SSL. Данные шифруются, а http в веб-адресе превращается в https: это означает, что соединение защищено. HTTPS — это расширение стандартного гипертекстового протокола HTTP, которое поддерживает шифрование с помощью SSL. Буква S означает Secure — защищенный.
Большинство современных сайтов сразу открываются по адресу, который начинается с https. Если вместо https ввести http, пользователя все равно перенаправят на защищенную версию. Каждый раз, когда вы переходите по ссылке с https, инициируется проверка сертификата сайта, а о ее результатах вам сообщит браузер.
Если с сертификатом все хорошо, в адресной строке браузера слева появится символ замочка. Если что-то не так, замочек будет перечеркнут, а браузер выдаст предупреждение, вплоть до ограничения доступа к сайту.
Если SSL на сайте нет, соединение браузер расценивает как незащищенное и предупреждает об этом пользователя. В таком случае сайт доступен только через HTTP.
Виды SSL-сертификатов
Выше мы сказали, что браузер или другой сервер проверяет копию SSL-сертификата и решает, доверенный ли он. Доверенность определяется несколькими факторами, один из которых — вид сертификата и то, кто его выдал.
Проверить тип сертификата на сайте можно с помощью браузера: нажать на замочек в адресной строке и выбрать вариант «Защищенное соединение» или «Безопасное подключение» в зависимости от браузера.
Вот какими бывают SSL-сертификаты.
Самоподписанные. Такой сертификат может сгенерировать любой человек на своем сервере. Но пользы от него нет: его считает доверенным только тот сервер, на котором он создан. Все остальные не знают, что за организация выдала сертификат, поэтому браузеры будут выводить пользователям предупреждения или ограничивать доступ к ресурсу. Не стоит пользоваться такими сертификатами.
С валидацией домена. Все остальные типы, которые тут перечислены, выдаются специальными организациями — центрами сертификации. Сертификационные центры, или СЦ, генерируют для сайта уникальную пару ключей и выдают сертификат. Такие сертификаты будут корректно отображаться, им доверяют браузеры, а их данные удостоверены СЦ. Но чтобы центр выдал сертификат, сначала он должен проверить того, кто к нему обратился, — так он сможет убедиться, что ресурс не мошеннический.
Разница между типами в том, что именно проверяет центр, перед тем как выдать сертификат. Самый простой вариант — проверка домена, она же Domain Validation, или DV. СЦ верифицирует, что доменное имя сайта настоящее и ресурс существует, но не связывает его с какой-либо компанией. Это бюджетный вид сертификата, более дешевый, чем другие, и он подходит для физлиц или небольших компаний.
С валидацией организации. Второй вариант — Organization Validation, или OV. В этом случае сертификационный центр проверяет не только домен, но и компанию, которой он принадлежит. По результатам проверки он удостоверяет, что компания существует. Это вариант для коммерческих сайтов, и купить такой сертификат могут только организации.
Для банков и интернет-магазинов, которые работают с платежами пользователей, рекомендуется сертификат уровня не ниже OV. Он считается более доверенным, так как проверяет в том числе существование компании.
С расширенной валидацией. Наиболее сложный, дорогой и доверенный вид: EV, или Extended Validation. Чтобы получить такой сертификат, понадобится пройти расширенную проверку в центре сертификации, ответить на вопросы и предоставить часть документов о компании. Зато браузер будет отдельно помечать сайты с такой валидацией: знак замка будет зеленым, с подписанным названием компании и страной ее регистрации.
Этим видом пользуются корпорации, крупные сервисы, которые имеют дело с платежными данными, некоторые банки.
Особые виды. Для сайтов со специфическими потребностями есть отдельные виды SSL-сертификатов. Это опции, которые можно добавить к сертификату любого из трех типов выше. Например, Wildcard — он используется для сайтов, у которых есть поддомены. В имени домена в таком сертификате есть звездочка, вместо которой подставляется имя поддомена.
Еще есть MDC — мультидоменный сертификат, нужный для ресурсов с несколькими доменами и поддоменами. Например, у компании несколько сайтов с разными именами: она может купить отдельный сертификат для каждого или один MDC для всех трех. Существуют разные подвиды мультидоменных сертификатов, основные из них — SAN и UCC.
Как происходит выдача сертификата
Подготовка. Владелец сайта должен настроить сервер, проверить, что все данные на нем верны, и сформировать на сервере запрос на SSL-сертификат. Если он пользуется хостингом, можно обратиться к нему: тот поможет в нужных настройках и запросах.
Обращение в центр. Затем понадобится обратиться в один из сертификационных центров по выбору и подать заявку на выдачу сертификата нужного типа. Услуги большинства центров платные, поэтому сначала нужно внести оплату за них. Она может составлять от нескольких десятков до сотен долларов в зависимости от выбранного типа.
Сертификационный центр потратит какое-то время на проверку домена или организации. Поэтому выдача сертификата может занимать от пары минут до недели — зависит опять же от того, какой уровень проверки выбрал владелец сайта.
Установка. После проверки и активации СЦ выдаст пару ключей: публичный отправляется по e-mail, приватный следует сохранить на компьютер, так как по почте его не присылают. Ключи понадобится установить на сервере сайта. Это можно сделать с помощью управляющей панели хостинга или CMS, если сайт ими пользуется. Также нужно будет обновить доменное имя и адреса DNS-серверов.
Примерно через сутки после этих действий все обновится и сайт будет доступен по новому адресу с HTTPS. Сертификат заработает, и трогать его, пока он активен и его данные не скомпрометированы, не надо.
Поддержка. Сертификат имеет ограниченный срок действия. Когда он истечет, сертификат нужно будет перевыпустить, иначе браузеры начнут расценивать сайт как небезопасный и выдавать пользователям предупреждение. Некоторые браузеры могут и вовсе блокировать доступ к нему, так как не смогут обеспечить безопасность.
Возможный срок действия сертификата — до 2 лет и 3 месяцев. В будущем максимальный допустимый срок может еще сократиться. Причина такого ограничения — данные о компании и сайте постоянно меняются, и, чтобы поддерживать сертификат актуальным, эти сведения надо обновлять и в нем.
Нужно ли устанавливать SSL-сертификат
Сайт будет работать и без SSL: протокол нужен только для шифрования соединения. Для работоспособности веб-ресурса SSL необязателен — но очень желателен, и вот почему.
- Современные браузеры заботятся о безопасности пользователя. Если сайт, на который заходит человек, не защищен и на нем нет HTTPS, браузер выдаст пользователю предупреждение о небезопасном соединении. Даже если SSL есть, но ему нельзя доверять или он просрочен, браузер может ограничить доступ пользователя к этому сайту как к подозрительному.
- Поисковые системы тоже обращают внимание на наличие защищенного протокола. Без SSL сайту меньше доверяют, поэтому не будут выставлять ему высокий рейтинг и показывать на первых страницах выдачи. Из-за этого уменьшится поток пользователей — многие из них находят сайты как раз в поиске.
- Но самое главное: незащищенное соединение — это риск утечки информации о пользователях, в том числе их персональных данных. За утечку можно понести ответственность, к тому же это некорректно по отношению к пользователям.
Обязательно ли SSL должен быть платным
В большинстве случаев — нет, не обязательно. Существуют сервисы, которые помогают получить валидный сертификат бесплатно. Самый известный из них — Let’s Encrypt. Это некоммерческий центр сертификации, который выдает SSL с валидацией на уровне домена. Он считается не таким доверенным, но для некоммерческих и информационных ресурсов подходит.
Но для некоторых сайтов сертификаты нужны платные. Это коммерческие ресурсы, которые работают с платежными данными пользователей или дают возможность оплатить что-то онлайн, то есть банки или интернет-магазины. Им нужна более широкая валидация, чем по доменному имени. Также платные сертификаты желательны для сайтов брендов и ресурсов с большой посещаемостью.
Вы можете узнать больше о сертификации и о том, как работают сайты, на наших курсах. Получите востребованную IT-профессию и станьте специалистом в популярной отрасли.
0 комментариев