panelarrow

Сайт обо всём по-немногу

Сайт обо всём по-немногу

Переход на SSL-сертификат от COMODO

| 0 comments

Где-то полтора года назад, я успешно заказал и установил на сервер SSL-сертификат от китайской конторы WoSign. Всё хорошо работало, пока во второй половине прошлого года не начался скандал с выданными WoSign сертификатами. Из-за этого, выданные ими сертификаты какие-то конторы решили отозвать, а какие-то отметить как не валидные. Вот и мой сайт с таким сертификатом попал под раздачу. Весной этого года, когда гугль выпустил обновление для хрома, и так не большой ручеек трафика с гугла на мой сайт совсем практически пересох. Хотя гугль продолжал исправно индексировать сайт, и даже, были какие-то переходы на него. Но, из-за «корявого» сертификата сайт открыть было не возможно. Заметил я это не сразу, так как пользуюсь огнелисом, а у него пока сертификат для моего сайта не блокировался. Но оставаться на старом сертификате конечно не дело.

Поиск в интернете бесплатного сертификата для веб-сервера ведет к Comodo. Они предлагают бесплатный сертификат для домена, сроком действия 90 дней. Сгенерировал новый запрос командой:

1
$openssl req -new -out site.csr -key site.key

Затем заполнил необходимые поля на странице заказа. В качестве веб-сервера я выбрал nginx, а от 4 и 5 пунктов отказался. После нажатия 'Next', необходимо выбрать способ, которым Comodo проверит, что сайт для которого я заказываю сертификат действительно принадлежит мне. Я выбрал способ 'HTTP (S) -based DCV'. В этом случае, на странице будут указаны 2 параметра — MD5 и SHA1. Перед тем как двигаться дальше, необходимо на сервере проделать следующее:

  1. В корне сайта необходимо создать файл командой $touch MD5.txt, где в качестве MD5 надо подставить значение выведенное на странице, например, $touch D45D6BE937E5380CA943241205D99A55.txt
  2. В этот файл необходимо поместить следующее содержимое — значение SHA1 на одной строке и comodoca.com на следующей. В результате содержимое файла примет следующий вид:
    8F64DDEF2F363376E591135D626267C1A32BE479
    comodoca.com

Файл обязательно должен быть доступен из корня без каких-либо редиректов, иначе, проверка подлинности не пройдёт. После этого, можно нажимать «Next» и переходить на следующий шаг, где просят ввести контактную информацию. После ввода необходимой информации, отправил запрос и стал ждать письма, с информацией и сгенерированным сертификатом.

Через некоторое время приходит архив, в котором у меня было 4 следующих файла:

AddTrustExternalCARoot.crt
COMODORSAAddTrustCA.crt
COMODORSADomainValidationSecureServerCA.crt
www_baf_ru.crt

Теперь, для того, чтобы запустить nginx с новым сертификатом, необходимо скомбинировать связку сертификатов в одном файле, т.е. создать цепочку сертификатов в правильной последовательности. Делается это следующей командой:

1
$cat www_baf_ru.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt AddTrustExternalCARoot.crt > baf.pem

Порядок следования сертификатов в файле очень важен! На первом месте обязательно сертификат к сайту, а затем остальные, как указанно выше. Скопировал получившийся итоговый файл с сертификатами в каталог с конфигурацией нжинкса, прописал правильный путь

ssl_certificate         /etc/nginx/baf.pem;
ssl_certificate_key     /etc/nginx/baf.key;
ssl_dhparam             /etc/nginx/dh4096.pem;

и сделал его перезапуск. Проверить, что получилось и какой сертификат используется на сервере можно следующей командой:

1
$openssl s_client -connect baf.ru:443

В итоге, должен получиться вывод подобный тому, что получился у меня:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify return:1
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = Free SSL, CN = www.baf.ru
verify return:1
---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=Free SSL/CN=www.baf.ru
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
   i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 3 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root

При открытии сайта в браузере тоже всё в порядке. Теперь главное не забыть вовремя продлить сертификат, ибо действует он всего 90 дней.

Ежели кому-то нужны файлы для выстраивания цепочки сертификатов, то их можно будет скачать ниже:

UPD. В конечном итоге, я заказал и купил Comodo PositiveSSL сертификат для домена на 3 года через 1cloud.ru. Обошёлся он мне в 990 рублей.

Leave a comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *