Информационная безопасность — одна из важнейших тем в наше время. Сайт как источник информации, должен быть безопасным для пользователей. Такую безопасность между сайтом и пользователем обеспечивает SSL-сертификат. В данном материале мы подробно опишем о том, что из себя представляют SSL-сертификаты, для чего их используют, какие типы сертификатов есть и что о них необходимо знать перед установкой. Данный материал направлен на людей, не обладающих специальными техническими знаниями и навыками.
Что такое SSL-сертификаты?
SSL (англ. Secure Sockets Layer — «уровень защищённых сокетов») — является протоколом гибридного шифрования, который обеспечивает более безопасную передачу данных между сервером и браузером пользователя. Сертификат кодирует передачу данных, не дает мошенникам их перехватывать и подменять: номера банковских карт, логины и пароли, вводимые данные итд. Изначально сертификаты использовались только банками и некоторыми интернет-магазинами при оформление покупки и оплате платежными картами на сайте, но со временем, использование SSL стало обязательным для всех сайтов.
Проверить наличие сертификата у сайта очень легко, достаточно взглянуть на адресную строку в браузере, в строке сертификат указан в виде значка «закрытый замок», а при нажатии появится всплывающее окно с описанием сертификата. При отсутствии, в адресной строке появится надпись «Не защищено». Так же, сайт с установленным сертификатом открывается по адресу, который начинается не с http, а с https.
Чем отличается HTTP от HTTPS?
HTTP (англ. HyperText Transfer Protocol — «протокол передачи гипертекста») это протокол прикладного уровня передачи данных. Как правило, применяется для передачи информации в виде гипертекстовых документов в формате HTML.
HTTPS (англ. HyperText Transfer Protocol Secure — «протокол передачи гипертекста защищенный») это расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в HTTPS передаются поверх криптографических протоколов. Т.е. он не является отдельным протоколом, а работает через шифрованные транспортные механизмы SSL.
SSL и факторы ранжирования Google
В августе 2014 года Google заявил о том, что наличие сертификата является фактором ранжирования для сайтов. Такая мера была обоснована тем, что поисковый гигант стремится повысить уровень безопасности поиска и в целом в интернет.
Заявление Google нужно рассматривать не как возможность вырваться на лидирующий позиции поиска, а скорее как введение новых правил и стандартов для сайтов которые желают остаться в поиске Google. Первые сайты перешедшие на защищенный протокол получили небольшой прирост к позициям, но это был не более чем фальстарт на фоне остальных сайтов которые еще оставались на http.
На сегодняшний день наличие SSL-сертификата является обязательным условием для сайта. При этом не важно какой сертификат используется, само наличие сертификата уже будет плюсом. Даже если Вы используете бесплатный сертификат с 40-битным шифрованием, на взлом такого сертификата понадобится около 10 лет, что просто нереально.
Типы SSL-сертификатов
- DV — Domain Validation — для подтверждения домена. Выпускаются почти мгновенно и без необходимости присылать документы компании на проверку;
- OV — Organization Validation — для подтверждения организации и домена. Сведения о компаниях, подающих заявки на сертификат OrganizationSSL, тщательно проверяются перед выпуском сертификата.;
- EV — Extended Validation — для расширенного подтверждения организации и домена. Самый дорогой и самый высокорейтинговый сертификат SSL с расширенной проверкой.
Если Вам необходим сертификат для корпоративного сайта или небольшого интернет магазина, мы советуем обратить внимание на Let’s Encrypt.
SSL от Let’s Encrypt
Let’s Encrypt — бесплатный, автоматизированный и открытый Центр Сертификации. Сертификаты выдаются сроком на 90 дней, пренданачены только на защиту одного домена без проверки компании, так называемые Domain Validation.
Не стоит пренебрежительно относиться к Let’s Encrypt, только лишь потому, что он бесплатный. У истоков Let’s Encrypt стоят: IBM, Facebook, CISCO, Mozilla, Chrome, Avast, Amazon, Automattic и другие.
Ключевые принципы Let’s Encrypt:
- Бесплатность: Любой владелец домена может использовать Let’s Encrypt для получения SSL/TLS сертификатов, не тратя ни копейки.
- Автоматизированность: Программное обеспечение Let’s Encrypt, запущенное на web-сервере, само позаботится о выпуске, настройке и обновлении сертификатов.
- Безопасность: Let’s Encrypt будет платформой для передовых технологии в области TLS безопасности, как для Центра Сертификации, так и для web-серверов.
- Прозрачность: Все выданные или отозванные сертификаты будут сохранены, в том числе и для любых проверок безопасности.
- Открытость: Протокол выпуска и обновления сертификатов будет опубликован как открытый стандарт, готовый ко внедрению.
- Взаимодействие: Как и сами протоколы по обмену данными, лежащие в его основе, Let’s Encrypt — это результат объединённых усилий сообщества, без диктата какой-либо одной организации.
Нормальные хостинг-компании имеют функционал по получению и автоматическому продлению SSL-сертификата от Let’s Encrypt. Но, мы сейчас не будем сравнивать хостинг их тарифы и дополнительный функционал. Для своего сайта и клиентов, мы используем хостинг от Ukraine.com.ua уже более 10 лет. Сертификат от Let’s Encrypt выдается по запросу и продляется автоматически. В интернете есть мнение о том, что Let’s Encrypt имеет недостаток ввиду того, что за может произойти сбой при автоматическом продлении сертификата. На хостинге от Ukraine.com.ua ничего подобного не наблюдалось.
Подключение SSL и настройка сайта
Помимо того, что Вы купили сайт, необходимо произвести несколько настроек на хостинге и самом сайта. Если мы говорим о сайте под управлением WordPress, то есть следующая последовательность:
- Покупка или заказ выпуска бесплатного сертификата от хостинга
- Необходимо дождаться выпуск сертификата (в случае с Let’s Encrypt это около 10 минут)
- Заходим в админку WordPress->Настройки->Общие
- Меняем строки Адрес WordPress (URL) и Адрес сайта (URL). Заменяем в них адрес сайта с http на https
- После удачной смены протокола, Вам придется еще раз залогиниться на сайте
- В настройках robots.txt прописываем строку Host и Sitemap с протоколом https
- В Google Search Console добавляем сайт с протоколом https
- Производим проверку редиректа с http на https: вводим любой адрес Вашего сайта с протоколом http. Сайт должен автоматически перенаправляться на версию с протоколом https. Если такое не происходит, то смотрим следующий пункт
- При отсутствии редиректа с http на https, необходимо установить плагин Simple SSL (настройка не нужна)
- Еще раз проверяем редирект с http на https.
Если у Вы подключаете сертификат к давно существующему сайту, то отдельным пунктом следует проверить все внутренние ссылки и изображения. Есть вероятность, что ссылки на страницы и ссылки на изображения используют абсолютный путь (т.е. полный путь с протоколом: http://yourdomain.com/page1/). В таком случае необходимо проводить замену URL по всему сайту. В случае с WordPress этого можно добиться за счет плагина Search & Replace. Собственно из названия понятно, что он делает: Поиск и Замена. Для других CMS, скорее всего придется делать запрос к БД для замены ссылок, но это тоже не сложно и всяко проще чем делать в ручном режиме, Google в помощь. Опять хочется отметить удобство WordPress – это CMS в которой все продумано до мелочей. Что касается других CMS возможно придется покопаться с httacess для настройки редиректа.
Как видите в SSL-сертификатах нет ничего сложного и страшного, а используя качественный хостинг, установка и настройка SSL занимает около 10-15 минут.