SSL для чайников: что это такое и как установить
Мы запускаем рубрику полезных советов для тех, кто уже сделал мобильный сайт на MoAction. Один из важных шагов — установка SSL-сертификата, так как число мобильных вирусов растет вместе с пользовательским недоверием к мобильному интернету. SSL станет гарантом того, что ваши посетители смогут спать спокойно.
Что такое SSL
SSL (или Secure Sockets Layer) — это специальный протокол, который передаёт данные в зашифрованном виде по HTTPS. Для расшифровки необходим специальный ключ, а для работы протокола — предустановленный на сайт сертификат. SSL называют паспортом или цифровой подписью сайта: перед установлением соединения подлинность проверяется третьей стороной — центрами сертификации. Именно за счёт шифрования и аутентификации SSL обеспечивает безопасную работу сайта.
Помимо безопасности, есть ещё как минимум две причины установить сертификат на ваш сайт.
Первая — это результаты поисковой выдачи. С 2014-го года Google учитывает наличие сертификата при ранжировании поисковых результатов. Сайты с наличием SSL поднимутся в позиции, без SSL — отправятся вниз.
Вторая — определение местоположения пользователя. В соответствии с новыми правилами Google Chrome не позволяет устанавливать геолокацию ненадёжным хостам. Для мобильного сайта необходимо дать пользователю возможность узнать, где находится ближайший филиал, или выстроить к нему маршрут. Для такого сайта наличие SSL-сертификта становится обязательным.
Обычно SSL используют:
- Для сохранности личных данных пользователя;
- Для различных транзакций;
- Для электронной почты;
- Для передачи файлов;
- Для работы с панелью управления хостингом, и т.д.
SSL-сертификат содержит:
- Доменное имя, на которое он оформлен;
- Юридическое лицо, которое владеет сертификатом;
- Физическое местонахождение владельца;
- Открытый ключ владельца;
- Даты выдачи сертификата и окончания его действия;
- Полное (уникальное) имя центра сертификации;
- Цифровая подпись издателя.
Виды сертификатов:
- Обычные SSL-сертификаты выпускаются автоматически. Основное преимущество — они выпускаются очень быстро. Обратная сторона — они очень простые, и подойдут только для тех сайтов, где нет необходимости в доверии со стороны пользователей.
- Wildcard-сертификаты необходимы, когда нужно обеспечить безопасностью не только основной домен, но и поддомены (forum.домен.com, support.домен.com и т.д.).
- SAN-сертификаты используются для нескольких доменов, которые размещены на одном сервере.
- EV-сертификаты — сертификаты с максимальной степенью защиты, которые полностью подтверждают существование компании и дают вот такую вот зелёную плашку в адресной строке, чтобы пользователь мог полностью расслабиться:
Установка
После заказа сертификата в сертификационном центре ваша заявка обрабатывается какое-то время, после чего вам пришлют все необходимые файлы. Данные для установки сертификата обычно присылаются по электронной почте. Иногда сертификат можно установить прямо через форму на сайте сертификационного центра. В противном случае у вас есть ещё два варианта.
Установка с помощью панелей управления
Через ISPmanager
- Для начала необходимо зайти в ISPmanager через пользователя — владельца домена:
ISPmanager → «Пользователи» → выбрать пользователя → «Вход»
- Необходимо также включить SSL для владельца домена:
ISPmanager → «Пользователи» → двойной клик по нужному пользователю → «Права»
- Затем непосредственно добавляем сертификат:
«World Wide Web» → «SSL-сертификаты» → «Создать»
- Необходимо заполнить поля:
«Тип сертификата» — существующий;
«Имя сертификата» — любое имя на ваш выбор. Под этим именем он будет отображаться в системе;
«Приватный ключ» — ключ, высланный вам сертификационным центром;
«Сертификат» — содержимое файла-сертификата, также высылается сертификационным центром;
«Пароль» — указывается в тех случаях, когда он есть, иначе поле оставить пустым;
«Цепочка сертификатов» — здесь необходимо указать всю цепочку сертификатов, которыми подписан ваш сертификат, т.е. промежуточные сертификаты и корневой;
Нажимаем «Ок»
- Включить сертификат:
«WWW домены» → двойной клик на домене → галочка на «SSL» → выбрать нужный сертификат из списка
Через Parallels Plesk
- Заходим в менеджер и добавляем сертификат:
Parallels Plesk → «Сайты и домены» → «Развернуть» → «Настройки SSL» → «Добавить SSL-сертификат»
- Заполняем поля:
«Имя сертификата» — любое имя на ваш выбор. Под этим именем он будет отображаться в системе
- Листаем страницу до «Загрузить сертификат как текст» и продолжаем заполнять:
«Закрытый ключ» — ключ, высланный вам сертификационным центром;
«Сертификат» — содержимое файла-сертификата, также высылается сертификационным центром;
«Корневой сертификат» — здесь необходимо указать всю цепочку сертификатов, которыми подписан ваш сертификат, т.е. промежуточные сертификаты и корневой;
Нажимаем «Отправить текст», после чего вы получите сообщение о том, что сертификат был успешно добавлен
- Включить сертификат:
«Сайты и домены» → «Настройки хостинга» → «Безопасность» → галочка на «Поддержка SSL» → выбрать сертификат
Через cPanel
- Выбираем домен, для которого устанавливаем сертификат:
cPanel → «Безопасность» → «SSL/TLS» → «Управление сайтами с SSL» → выбрать домен, для которого устанавливается сертификат
- Заполнить поля:
«Сертификат» — содержимое файла-сертификата, также высылается сертификационным центром;
«Закрытый ключ» — ключ, высланный вам сертификационным центром;
«Пакет центра сертификации» — здесь необходимо указать всю цепочку сертификатов, которыми подписан ваш сертификат, т.е. промежуточные сертификаты и корневой;
«Включить SNI для почтовых служб» — поставить галочку в случае, если у вас нет дополнительных IP-адресов;
Нажимаем «Установить сертификат» и в открывшемся окне нажимаем «Ок»
Установка SSL вручную
Apache
- Для начала необходимо переместить все файлы сертификата на сервер (например, через FTP). Желательно сохранять файлы с пометкой «только чтение».
- Далее редактируем файл конфигурации Apache (путь по умолчанию /etc/httpd/httpd.conf). На всякий случай рекомендуется создать резервную копию файла.
Создайте блок виртуального хоста <VirtualHost> и скопируйте туда следующие строчки:
<VirtualHost 10.0.0.1:443>
DocumentRoot /home/user/data/www/domain.com
ServerName domain.com
SSLEngine on
SSLCertificateFile /path/to/domain.crt
SSLCertificateKeyFile /path/to/domain.key
SSLCACertificateFile /path/to/ca.crt
</VirtualHost>
Где:
domain.com — это имя вашего домена;
10.0.0.1 — ip-адрес, на котором располагается домен;
/home/user/data/www/domain.com — путь до корневой директории вашего домена;
/path/to/domain.crt — файл сертфиката;
/path/to/domain.key — файл с ключом сертификата;
/path/to/ca.crt — файл корневого сертификата.
- Перезапускаем Apache
Перезапускаем Apache командой apachectl restart или apache2ctl restart. Если где-то была допущена ошибка, перезапустить не получится.
Nginx
- Перемещаем все файлы сертификата на сервер (например, через FTP). Желательно сохранять файлы с пометкой «только чтение».
- Необходимо соединить сертификат с промежуточным сертификатом (intermediate.crt) или с цепочкой сертификатов (ca-bundle.crt). Можно сделать это двумя способами:
а) черезUNIX-команду cat:
cat intermediate.crt >> domain.crt
б) редактированием файла домена: после текста основного сертификата в файле domain.crt вставляем текст из файлов остальных сертификатов — причём, каждый сертификат указывается с новой строчки.
- Редактируем файл конфигурации Nginx (путь в Linux /etc/nginx/nginx.conf).
Создаём серверный модуль для SSL соединения.
server {
listen 10.0.0.1:443;
server_name domain.com;
ssl on;
ssl_certificate /path/to/domain.crt;
ssl_certificate_key /path/to/domain.key ;
}
Где
domain.com — это имя вашего домена;
10.0.0.1 — ip-адрес, на котором располагается домен;
/path/to/domain.crt — файл сертфиката;
/path/to/domain.key — файл с ключом сертификата.
- Перезапускаем Nginx:
а) Linux
etc/init.d/nginx restart
б) FreeBSD
/usr/local/etc/rc.d/nginx restart
Как проверить, установлен ли сертификат
Чтобы проверить правильность установки сертификата, воспользуйтесь сервисом SSLShopper, SSL4Less или SSL Labs — они работают по одинаковому принципу, и покажут, защищён ли ваш сайт.