Во многих случаях данные от сервера к пользователю передаются через стандартный протокол HTTP. Но все больше сайтов переходят на более надежный протокол – HTTPS. Рассмотрим его детально, как он работает, кому следует переходить на него и как правильно это сделать.
Содержание:Что такое HTTPS?
Это протокол, по которому данные передаются по зашифрованному соединению. Он защищает различную информацию, которая может быть перехвачена злоумышленниками, например пароли, e-mail или номер банковской карточки. Использование этого протокола значительно увеличивает безопасность любого сайта, а также способствует тому, что поисковики начинают ранжировать его выше в поисковой выдаче. Вот почему желательно перевести сайт на HTTPS.
Безопасная передача данных происходит за счет работы протоколов
SSL/TLS. Они обеспечивают 3-уровневую защиту: шифруют данные, чтобы мошенники не смогли их перехватить, фиксируют и сохраняют каждое изменение в передаваемой информации, защищают от перенаправления пользователя с помощью аутентификации. SSL-сертификат необходимо установить в первую очередь, еще до того, как подключить https.
Как выбрать SSL-сертификат
SSL защищает соединение, создавая цифровую подпись, являющуюся уникальной для конкретного сайта. В сертификате заключается информация о названии и адресе компании, владеющей ресурсом, доменное имя, а также время, когда действует сертификат и данные о его разработчике.
SSL делятся на 2 типа, у них разный уровень создаваемой защиты и верификации. Первый вариант — Domain Validation SSL, он будет работать уже после простого подтверждения обладания доменом. Подтвердить можно разными способами, например, через:
- эл.почту Whois домена, администратора ресурса либо вебмастера;
- запись в DNS;
- хэш-файл, который нужно отправить на сервер, чтобы его распознал центр сертификации.
Этот способ верификации подходит тем, кто ведет собственный блог, имеет малый бизнес в офлайне, но его не рекомендуется выбирать для сайтов крупных компаний.
Более надежен Business Validation. Для его установки обязательно требуется подтвердить, что компания владеет этим ресурсом. Понадобится послать в центр верификации некоторые документы и ответить на звонок, который поступит на телефонный номер компании.
Business Validation также разделяются на виды:
- Extended Validation SSL, он необходим сайтам финансовых компаний, работающих с деньгами;
- Wildcard SSL – работает для защиты сайта и всех принадлежащих ему поддоменов, даже в том случае, если они находятся на разных выделенных серверах. Необходим в случае, когда у поддоменов разная региональная принадлежность или на них находятся различные проекты;
- SAN SSl – поддерживает альтернативные домены;
- CodeSigning SSL – следит за безопасностью кода и передаваемых с ресурса программ, например приложений.
Многие сертификаты SSL устанавливают за плату, но установка может быть и бесплатной, если выбрать стандартные сертификаты. Они вполне надежны и могут на достаточном уровне защитить соединение пользовательского ресурса с одной стороны и сервера с другой. Подходят тем, кто держит обычные сайты и малый бизнес.
Установка SSL-сертификата
Последовательные шаги, описывающие как установить SSL: надо отправить запрос CSR, где прописать:
- имя сервера, например, «site.com» либо «*.site.com», если нужен WIldcard;
- код страны;
- область (на английском);
- город;
- наименование фирмы полностью либо имя того, кто владеет сайтом.
В ответ верификационным центром будет выдан сертификат SSL и файл, содержащий приватный ключ. Его нужно сберечь и хранить в месте, где к нему не будет доступа у сторонних лиц.
Затем следует установить выбранный тип сертификата на Apache или nginx.
Пошаговая инструкция, как использовать Apache: вначале загрузить промежуточный сертификат в директорию /usr/local/ssl/crt. Скачать корневой сертификат, открыть в тестовом редакторе, далее скопировать его совместно с «BEGIN» и «END». После создания файла vashsite.crt в директории /ssl/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 устанавливается так: в созданный файл vashsite.crt вставить данные из нескольких сертификатов: SSL, а затем промежуточного и корневого (в такой последовательности) со строками «BEGIN» и «END». Дальше в созданный файл 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;
Заменить директорию, где находится ключ и сертификат на установленную по умолчанию. Сберечь все внесенные изменения и для завершения процедуры, как и в предыдущем образце, сервер перезапустить.
Настройка редиректа
SSL установлен, сайт будет доступен одновременно по адресам, начинающимся с http и https. Должен остаться https, следует провести настройку файла robots.txt и осуществить 301-редирект с прежнего ресурса. В robots прописать Host: https://vashsite.com. Продолжить настаивать редирект: прописать в файл .htacsess:
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)$ https://vashsite.com/$1 [R=301,L].
Обновить данные о сайте для основных поисковиков. В их панели для вебмастеров вписать страницу с адресом, начинающимся с https, обозначить ее как зеркало для прежнего сайта.