Как установить SSL-сертификат Let’s Encrypt

SSL-сертификат – цифровая подпись, обеспечивающая безопасное зашифрованное соединение между сайтом и браузером с помощью протокола HTTPS. В 2015 году был запущен проект Let’s Encrypt, который позволяет бесплатно получить сертификат безопасности. Мы распишем пошаговую инструкцию получения сертификата на CentOS.
Но прежде, чем перейти к практической части, вкратце вспомним о разновидностях ssl-сертификатов. Те, кто уже определились с выбором, могут заранее пропустить эту часть.
Domain Validation Certificate – сертификат с проверкой домена, который подтверждает достоверность адреса сайта, при этом больше никакой информации не указывается. Это один из наиболее доступных сертификатов. В отличие от остальных типов сертификатов, выдается как физическим, так и юридическим лицам.
Organization Validation Certificate – сертификат, удостоверяющий владельца сайта и содержащий в себе название компании, которой принадлежит домен. Центр сертификации в этом случае проверяет не только факт принадлежности домена его владельцу, но и факт регистрации компании.
Extended Validation Certificate – сертификат, подтверждающий достоверность адреса сайта, а также информацию о компании, которая владеет доменом. При использовании этого сертификата адрес сайта выделяется зеленым цветом, указывая на то, что этому ресурсу можно доверять.
Wildcard SSL Certificate – сертификат, подтверждающий достоверность основного домена, а также всех его поддоменов. К примеру, действие сертификата распространяется не только на iteducenter.com, но и на blog.iteducenter.com и т.д.
Multi Domain Certificate – сертификат, который выдается определенному количеству доменов. В каждом центре сертификации установлен свой лимит количества доменов в сертификате. Как правило, в цену сертификата входит стоимость нескольких доменов, остальные можно добавить за отдельную плату.
SGL Certificate – сертификат, подтверждающий достоверность адреса сайта, содержит информацию о компании, которая является владельцем домена. Обеспечивает так называемое пошаговое шифрование, при котором посетитель сайта, использующий международную версию браузера с коротким ключом (40 бит), автоматически переключается на 128/256-битное шифрование.
Code Signing Certificate – сертификат, который обеспечивает защиту целостности кода, программы, скриптов, макросов, сценариев и документации. Позволяет добавлять цифровую подпись к файлу, или сертификаты разработчика. Такие файлы фактически недоступны для шпионских программ, что гарантирует полную безопасность при скачивании.
Subject Alternative Name Certificates – сертификат, позволяющий защитить сразу множество доменных имен, поддоменов, IP-адресов, хостов, межсетевых экранов и шлюзов.
Итак, переходим к практической части – установим ssl-сертификат на СentOS.
Устанавливаем git
# yum install git
Переходим в директорию /tmp
#cd /tmp
Скачиваем файлы Let’s Encrypt. Теперь наш скрипт выглядит вот так:
# git clone https://github.com/certbot/certbot
Переходим в директорию certbot
# cd certbot
Даем права на выполнение для файла скрипта
# chmod a+x ./certbot-auto
Прописываем команду для получения ssl-сертификата
# ./certbot-auto certonly --webroot --agree-tos --email [email protected] -w /var/www/sslcert -d example.com-d example.com
-webroot – установочный ключ;
-agree-tos – принятие лицензионного соглашения;
-email [email protected] – указываем наш email;
/var/www/sslcert – каталог, где будет хранится соглашение;
-d example.com – имя нашего домена (+поддомены, если есть).
Далее запустится скрипт, предложит установить недостающие пакеты. Отвечаем yes и ждем.
В случае успешного завершения появится сообщение
IMPORTANT NOTES:<br data-rich-text-line-break="true" style="box-sizing: inherit;">- Congratulations! Your certificate and chain have been saved at<br data-rich-text-line-break="true" style="box-sizing: inherit;">/etc/letsencrypt/live/example.com/fullchain.pem. Your<br data-rich-text-line-break="true" style="box-sizing: inherit;">cert will expire on 2016-08-21. To obtain a new version of the<br data-rich-text-line-break="true" style="box-sizing: inherit;">certificate in the future, simply run Certbot again.<br data-rich-text-line-break="true" style="box-sizing: inherit;">- If you lose your account credentials, you can recover through<br data-rich-text-line-break="true" style="box-sizing: inherit;">e-mails sent to [email protected]<br data-rich-text-line-break="true" style="box-sizing: inherit;">- Your account credentials have been saved in your Certbot<br data-rich-text-line-break="true" style="box-sizing: inherit;">configuration directory at /etc/letsencrypt. You should make a<br data-rich-text-line-break="true" style="box-sizing: inherit;">secure backup of this folder now. This configuration directory will<br data-rich-text-line-break="true" style="box-sizing: inherit;">also contain certificates and private keys obtained by Certbot so<br data-rich-text-line-break="true" style="box-sizing: inherit;">making regular backups of this folder is ideal.<br data-rich-text-line-break="true" style="box-sizing: inherit;">- If you like Certbot, please consider supporting our work by:<br data-rich-text-line-break="true" style="box-sizing: inherit;"><br data-rich-text-line-break="true" style="box-sizing: inherit;">Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate<br data-rich-text-line-break="true" style="box-sizing: inherit;">Donating to EFF: https://eff.org/donate-le
Сертификат действует в течение 90 дней. На электронный адрес, указанный нами ранее, будет приходить уведомление об истечении срока действия сертификата. Обновлять его рекомендуется каждые 60 дней. Это делается с помощью команды
# certbot-auto renew
Хотите разобраться с установкой SSl-сертификата Let’s Encrypt к домену на практике? Записывайтесь на наш авторский курс «L2-LAMP. Администрирование веб-серверов на Linux»!