Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Следующая версия Следующая версия справа и слева | ||
letsencrypt:letsencrypt [2018-10-22 19:37] GreyWolf [Certbot] |
letsencrypt:letsencrypt [2020-08-11 10:42] GreyWolf [Ссылки] |
||
---|---|---|---|
Строка 31: | Строка 31: | ||
Примеры файлов [[apache:examples#let_s_encrypt|здесь]]. | Примеры файлов [[apache:examples#let_s_encrypt|здесь]]. | ||
+ | |||
+ | ===== Debian 9 (stretch) ===== | ||
+ | |||
+ | - Устанавливаем необходимые пакеты: <code bash>apt-get install certbot python-certbot-apache</code> | ||
+ | - Настраиваем [[apache:apache|]]: <code bash>certbot --apache</code> | ||
+ | |||
+ | |||
+ | Проверка: | ||
+ | * Список сертификатов и возможность их обновления (automatic renewal) <code bash>certbot renew --dry-run</code> | ||
+ | * Данные о задании автообновления <code bash>systemctl list-timers grep certbot.timer</code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | https://certbot.eff.org/lets-encrypt/debianstretch-apache | ||
===== Debian 8 (jessie) ===== | ===== Debian 8 (jessie) ===== | ||
[[https://certbot.eff.org/#debianjessie-apache|CertBot: Apache on Debian 8 (jessie)]] | [[https://certbot.eff.org/#debianjessie-apache|CertBot: Apache on Debian 8 (jessie)]] | ||
+ | <hidden Debian 8 (jessie)> | ||
1. Устанавливаем необходимые пакеты: | 1. Устанавливаем необходимые пакеты: | ||
<code bash> | <code bash> | ||
Строка 73: | Строка 88: | ||
https://www.ssllabs.com/ssltest/analyze.html?d=wiki.yola.ru | https://www.ssllabs.com/ssltest/analyze.html?d=wiki.yola.ru | ||
</code> | </code> | ||
+ | </hidden> | ||
===== Debian 7 (wheezy) ===== | ===== Debian 7 (wheezy) ===== | ||
Строка 79: | Строка 95: | ||
[[https://certbot.eff.org/#debianwheezy-apache|Apache on Debian 7 (wheezy)]] | [[https://certbot.eff.org/#debianwheezy-apache|Apache on Debian 7 (wheezy)]] | ||
- | FIXME | + | {{anchor:mailservers}} |
+ | ====== Почтовые серверы ====== | ||
+ | Использование сертификатов для почтовых серверов: | ||
+ | * [[dovecot:dovecot#letsencrypt|Dovecot]] | ||
+ | * [[postfix:postfix#letsencrypt|Postfix]] | ||
+ | |||
+ | Тестирование: | ||
+ | <code bash> | ||
+ | openssl s_client domain.ru:443 | ||
+ | openssl s_client -starttls smtp -connect domain.ru:587 | ||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | [[https://rusua.org.ua/2017/03/10/sertifikaty-letsencrypt-i-postfixcourier-popimap/|Сертификаты Let’sEncrypt и Postfix,Courier-pop/imap или Dovecot | Блокнот обычного админа =)]] | ||
====== Обновление сертификата ====== | ====== Обновление сертификата ====== | ||
Поскольку сертификат Let's Encrypt выдаётся на 90 дней, нужно настроить автоматическое обновление сертификата. | Поскольку сертификат Let's Encrypt выдаётся на 90 дней, нужно настроить автоматическое обновление сертификата. | ||
Строка 105: | Строка 135: | ||
1 4 * * 1 /usr/bin/certbot renew >> /var/log/letsencrypt/certbot-renew.log | 1 4 * * 1 /usr/bin/certbot renew >> /var/log/letsencrypt/certbot-renew.log | ||
</code> | </code> | ||
+ | |||
+ | ====== Замена файлов ключа после обновления ====== | ||
+ | Замена файлов ключа в [[apache:apache|Apache]]: | ||
+ | <code bash apache-ssl_keys-change.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | prefix='domain.ru' # префикс | ||
+ | file_private='privkey.pem' # имя файла ключа | ||
+ | file_cert='cert.pem' # имя сертификата | ||
+ | |||
+ | path1=/etc/letsencrypt/live/ # путь к исходным файлам | ||
+ | path2_private=/etc/ssl/private/ # путь конечным файлам private | ||
+ | path2_cert=/etc/ssl/certs/ # путь конечным файлам cert | ||
+ | |||
+ | file1_private=$path1$prefix/$file_private # полный путь и имя исходного ключа | ||
+ | file1_cert=$path1$prefix/$file_cert # полный путь и имя исходного сертификата | ||
+ | file2_private=$path2_private$prefix"_"$file_private # полный путь и имя конечного ключа | ||
+ | file2_cert=$path2_cert$prefix'_'$file_cert # полный путь и имя конечного сертификата | ||
+ | |||
+ | |||
+ | cp -f $file1_cert $file2_cert | ||
+ | cp -f $file1_private $file2_private | ||
+ | chmod 0600 $file2_private | ||
+ | |||
+ | service apache2 reload | ||
+ | |||
+ | </code> | ||
+ | ====== TLS-SNI-01 validation is reaching end-of-life ====== | ||
+ | FIXME | ||
+ | |||
+ | Нужен ''certbot'' версии старше 0.28 | ||
+ | |||
+ | <code bash certbot-update.sh> | ||
+ | #!/bin/bash | ||
+ | |||
+ | apt-get remove certbot | ||
+ | cd /usr/local/sbin | ||
+ | wget https://dl.eff.org/certbot-auto | ||
+ | chmod a+x certbot-auto | ||
+ | </code> | ||
+ | |||
+ | |||
+ | Выполняем для проверки: | ||
+ | <code bash> | ||
+ | /usr/local/sbin/certbot-auto renew | ||
+ | </code> | ||
+ | |||
+ | Пример задания для [[cron:cron|Cron]] | ||
+ | <code bash> | ||
+ | 0 0,12 * * * /usr/bin/python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/sbin/certbot-auto renew | ||
+ | |||
+ | </code> | ||
+ | |||
+ | ---- | ||
+ | [[https://community.letsencrypt.org/t/how-to-stop-using-tls-sni-01-with-certbot/83210|How to stop using TLS-SNI-01 with Certbot - Client dev - Let's Encrypt Community Support]] | ||
+ | |||
+ | [[https://certbot.eff.org/lets-encrypt/debianjessie-apache|Install Certbot for Apache on Debian 8 (jessie)]] | ||
====== Ссылки ====== | ====== Ссылки ====== | ||
Строка 132: | Строка 219: | ||
[[http://www.opennet.ru/opennews/art.shtml?num=48255|opennet.ru: Проект Let's Encrypt ввёл в строй протокол ACMEv2 и поддержку масок]] | [[http://www.opennet.ru/opennews/art.shtml?num=48255|opennet.ru: Проект Let's Encrypt ввёл в строй протокол ACMEv2 и поддержку масок]] | ||
+ | [[https://upcloud.com/community/tutorials/secure-postfix-using-lets-encrypt/|How to secure Postfix using Let's Encrypt - UpCloud]] | ||
+ | |||
+ | |||
+ | **[[https://wiki.calculate-linux.org/ru/lets_encrypt|wiki.calculate-linux: Let's Encrypt - получение бесплатного сертификата]]** | ||
{{tag>Encryption}} | {{tag>Encryption}} |