Переходим на https. Устанавливаем SSL сертификат на сервер

C 1 января 2017 года GOOGLE обращает особое внимание на безопасность пользователей в сети. А именно на защиту передаваемой на сайты информации. Теперь сайты использующие https протокол имеют приоритет ранжирования в поиске и очень явную отметку в браузере Chrome:

метка SSL

Вывод: надо срочно переходить на https!

Как? Просто!

К великому сожалению у компании StartCOM, выдававшей качественные бесплатные сертификаты, возникли проблемы и эти сертификаты более не валидны. Но они обещают решить эту проблему. На данный момент мой выбор ComodoSSL. Описывать процесс приобретения не буду (но если попросите, то буду)))

Предположим, что вы уже купили сертификат и у вас есть ключ <domain.key > и несколько сертификатов <*.crt> (ваш основной и промежуточные для построения цепочки).

ВАЖНО!

СОХРАНИТЕ ФАЙЛ .key В НАДЕЖНОМ МЕСТЕ! ЕГО НЕЛЬЗЯ ВОССТАНОВИТЬ!

Теперь надо объединить сертификаты и настроить сервер. Загружаем сертификаты на сервер в директорию /etc/nginx/ssl. Для объединения вы можете использовать редактор типа ( например notepad++) или выполнить команду в директории с сертификатами:

cat domain_com.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA >> my.crt

Теперь промежуточные сертификаты можно удалить, что бы не мешали. У вас должно остаться два файла: my.crt и domain_com.key

Прописываем пути к сертификату и ключу в nginx. Открываем

/etc/nginx/bx/conf/ssl.conf

находим там соответствующие строчки и меняем пути на свои. В итоге должно получиться:

ssl_certificate /etc/nginx/ssl/my.crt;
ssl_certificate_key /etc/nginx/ssl/domain_com.key;

Перезапускаем nginx:

service nginx restart

Ваш сайт уже доступен по адресу https://domain.com! Но...

Заходим на https://www.ssllabs.com/ssltest/, вбиваем в строку адрес вашего сайта и ждем окончания проверки (примерно минуту). Видим:

SSL Server Test_B-min.png

Нормально, но максимальная оценка А+ и мы непременно хотим ее получить. Поэтому продолжаем. SSLLABS говорит нам, что оценка снижена из-за того, что мы используем «weak Diffie-Hellman (DH) key exchange parameters». Ок, мы перестанем его использовать. Для этого надо сгенерировать ключ длинной не менее 2048 бит. Для надежности сделаем 4096 бит!

В директории с сертификатами выполним

openssl dhparam -out dhparam.pem 4096

И можно пойти сделать кофе, т.к. это довольно долгий процесс.

После завершения в директории появится файл dhparam.pem, его тоже надо вписать в /etc/nginx/bx/conf/ssl.conf и, заодно, добавим возможность работы с HSTS:

ssl_dhparam         /etc/nginx/ssl/dhparam.pem;
add_header Strict-Transport-Security "max-age=63072000;";

Опять перезапускаем nginx

service nginx restart

Заходим на SSLLABS и нажимаем clear cache. Ждем окончания проверки.

SSL Server Test_A-min.png

Профит!

Не забывайте поделиться статьей с друзьями. Всем удачи!

Возврат к списку

Комментарии

Загрузка комментариев...