Как установить SSL сертификат?
SSL сертификаты обеспечивают защиту от прослушивания информации между клиентом и сервером в Интернете. Устанавливая SSL сертификат на ваш сайт, вы увеличиваете доверие к вашему сайту и повышаете безопасность данных ваших клиентов.
После покупки SSL Сертификата необходимо его установить на сайт, для этого потребуется:
- Файл сертификата и цепочка сертификата. Центр сертификации присылает эти данные на почтовый ящик владельца сертификата.
- Ключ сертификата. Он у вас должен быть. Ключ генерируется перед заказом сертификата, на основе ключа генерируется csr запрос.
- Root доступ к серверу.
После покупки у Вас должны быть следующие файлы:
- приватный ключ (это CSR запрос, для удобства сохраните его в виде простого текстового файла с именем ваш_домен.key)
- файл сертификата для Вашего домена, ваш_домен.crt
- два файла цепочки сертификатов PositiveSSLCA2.crt и AddTrustExternalCARoot.crt
В этом руководстве пошагово описаны способы привязки SSL-сертификата к сайту для организации безопасного шифрованного соединения между веб-сервером и браузером клиента.
Собираем цепочку сертификата для различных типов сертификата
В письме от центра сертификации обычно приходит несколько файлов. Рассмотрим, как собрать из них цепочку сертификата для различных типов сертификата.
SSL сертификаты Comodo Essential SSL
Центром сертификации будут отправлены следующие файлы:
- AddTrustExternalCARoot.crt
- ComodoUTNSGCCA.crt
- EssentialSSLCA_2.crt
- domainname.crt
- UTNAddTrustSGCCA.crt
domainname.crt - это непосредственно сам сертификат.
Остальные файлы нам нужны для того, чтобы получить цепочку:
cat EssentialSSLCA_2.crt ComodoUTNSGCCA.crt UTNAddTrustSGCCA.crt AddTrustExternalCARoot.crt > yourDomain.ca-bundle
SSL сертификаты Comodo PositiveSSL
Центром сертификации будут отправлены следующие файлы:
- AddTrustExternalCARoot.crt
- COMODORSAAddTrustCA.crt
- COMODORSADomainValidationSecureServerCA.crt
- domainname.crt
domainname.crt - это непосредственно сам сертификат. Остальные файлы нам нужны для того, чтобы получить цепочку:
cat COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > yourDomain.ca-bundle
Установка сертификата утилитами из консоли: CentOS, Apache 2
Если на Вашем сервере установлен и используется проксирующий веб-сервер nginx, Вам следует организовать работу с сертификатами с его помощью. Инструкция по настройке nginx ниже, отдельным пунктом.
1. Поместите все 4 файла (приватный ключ, сохраненный в файле ваш_домен.key, и файлы сертификатовваш_домен.crt, PositiveSSLCA2.crt и AddTrustExternalCARoot.crt) в директорию /var/www/httpd-cert/ .
2. Установите владельца и группу всех файлов в root:
# chown root:root /var/www/httpd-cert/ваш_домен.key /var/www/httpd-cert/ваш_домен.crt /var/www/httpd-cert/PositiveSSLCA2.crt /var/www/httpd-cert/AddTrustExternalCARoot.crt
3. Установите права на файл ключа "только для владельца, только для чтения":
# chmod 400 /var/www/httpd-cert/ваш_домен.key
4. Создайте файл цепочки сертификатов:
# cat /var/www/httpd-cert/PositiveSSLCA2.crt /var/www/httpd-cert/AddTrustExternalCARoot.crt > /var/www/httpd-cert/ваш_домен.crt-bundle
Проверить подлинность цепочки сертификата можно так:
# openssl verify /var/www/httpd-cert/ваш_домен.crt-bundle
/var/www/httpd-cert/ваш_домен.bundle: OK
Посмотреть информацию об сертификате - например так:
# openssl x509 -text -in ваш_домен.crt
5. В конфигурационном файле Apache 2 (наиболее вероятно - /etc/httpd/conf/httpd.conf) создайте новый VirtualHost на 443м порту. Ниже приведены только директивы, отвечающие за работу с сертификатом, остальные можно скопировать по аналогии из имеющегося для 80-го порта:
SSLEngine on
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
SSLCertificateFile /var/www/httpd-cert/ваш_домен.crt
SSLCertificateKeyFile /var/www/httpd-cert/ваш_домен.key
SSLCACertificateFile /var/www/httpd-cert/ваш_домен.crt-bundle
ServerName ваш_домен
...
Обратите внимание, что это должен быть первый, и желательно единственный VirtualHost на этом IP-адресе на 443 порту.
6. Проверьте корректность синтаксиса конфигурационного файла:
# /etc/init.d/httpd configtest
Syntax OK
Перезапустите Apache и проверьте работу сайта с https://, если все сделано правильно - в адресной строке при этом тем или иным способом будет обозначен факт того, что передаваемые данные шифруются и сертификат подтвержден.
Установка сертификата утилитами из консоли: CentOS, nginx
1. Поместите все 4 файла (приватный ключ, сохраненный в файле ваш_домен.key, и файлы сертификатовваш_домен.crt, PositiveSSLCA2.crt и AddTrustExternalCARoot.crt) в директорию /var/www/httpd-cert/ .
2. Установите владельца и группу всех файлов в root:
# chown root:root /var/www/httpd-cert/ваш_домен.key /var/www/httpd-cert/ваш_домен.crt /var/www/httpd-cert/PositiveSSLCA2.crt /var/www/httpd-cert/AddTrustExternalCARoot.crt
3. Установите права на файл ключа "только для владельца, только для чтения":
# chmod 400 /var/www/httpd-cert/ваш_домен.key
4. Создайте файл цепочки сертификатов:
# cat /var/www/httpd-cert/AddTrustExternalCARoot.crt >> /var/www/httpd-cert/ваш_домен.crt
# cat /var/www/httpd-cert/PositiveSSLCA2.crt >> /var/www/httpd-cert/ваш_домен.crt
Проверить подлинность цепочки сертификата можно так:
# openssl verify /var/www/httpd-cert/ваш_домен.crt
/var/www/httpd-cert/ваш_домен.bundle: OK
Посмотреть информацию об сертификате - например так:
# openssl x509 -text -in ваш_домен.crt
5. Внесите в конфигурационный файл nginx, в модуль server, следующие директивы:
server {
listen 443;
ssl on;
ssl_certificate /var/www/httpd-cert/ваш_домен.crt;
ssl_certificate_key /var/www/httpd-cert/ваш_домен.key;
server_name your.domain.com;
...
}
Обратите внимание, что это должен быть первый, и желательно единственный VirtualHost на этом IP-адресе на 443 порту.
6. Перезапустите nginx командой
# /etc/init.d/nginx restart
и проверьте работу сайта с https://, если все сделано правильно - в адресной строке при этом тем или иным способом будет обозначен факт того, что передаваемые данные шифруются и сертификат подтвержден.