<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Воронин: заметки с тегом Let’s encrypt</title>
<link>https://voronin.one/tags/lets-encrypt/</link>
<description>воронин, voronin, it</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.4 (v4171)</generator>

<itunes:subtitle>воронин, voronin, it</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Выпускаем сертификат Let’s encrypt и настраиваем автоматический перевыпуск в iRedMail</title>
<guid isPermaLink="false">42</guid>
<link>https://voronin.one/all/vypuskaem-sertifikat-lets-encrypt-i-nastraivaem-avtomaticheskiy/</link>
<pubDate>Wed, 03 May 2023 13:16:05 +0300</pubDate>
<author></author>
<comments>https://voronin.one/all/vypuskaem-sertifikat-lets-encrypt-i-nastraivaem-avtomaticheskiy/</comments>
<description>
&lt;p&gt;устанавливаем certbot&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo apt update
sudo apt install certbot&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;запрашиваем новый сертификат для домена mail.{domain}.ru&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo certbot certonly --webroot --agree-tos --email postmaster@{domain}.ru -d mail.{domain}.ru -w /var/www/html/&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;открываем конфиги nginx и если нужно вносим изменения, сначала для http&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo mcedit /etc/nginx/sites-enabled/00-default.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;убедились, чтобы эти поля были раскомментированы&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;enable listen [::]:80;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;затем для https&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo mcedit /etc/nginx/sites-enabled/00-default-ssl.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;убедились, чтобы эти поля были раскомментированы&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;add listen [::]:443 ssl http2;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;проверяем правильность конфига&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo nginx -t&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;перечитываем изменения службой nginx&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo systemctl reload nginx&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;редактируем поти к сертификатам, самоподписанные меняем на let’s encrypt&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo mcedit /etc/nginx/templates/ssl.tmpl&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;находим&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ssl_certificate /etc/ssl/certs/iRedMail.crt;
ssl_certificate_key /etc/ssl/private/iRedMail.key;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;меняем на это&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ssl_certificate /etc/letsencrypt/live/mail.{domain}.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mail.{domain}.ru/privkey.pem;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;проверяем правильность конфига&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo nginx -t&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;перечитываем изменения службой nginx&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo systemctl reload nginx&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;правим кофиг postfix&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo mcedit /etc/postfix/main.cf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;находим&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;smtpd_tls_key_file = /etc/ssl/private/iRedMail.key
smtpd_tls_cert_file = /etc/ssl/certs/iRedMail.crt
smtpd_tls_CAfile = /etc/ssl/certs/iRedMail.crt&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;заменяем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;smtpd_tls_key_file = /etc/letsencrypt/live/mail.{domain}.ru/privkey.pem
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.{domain}.ru/cert.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/mail.{domain}.ru/chain.pem&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;перечитываем изменения службой postfix&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo systemctl reload postfix&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;правим другой кофиг postfix, указываем на необходимость использования tls&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo mcedit /etc/postfix/master.cf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;добавляем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;465     inet  n       -       n       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o content_filter=smtp-amavis:[127.0.0.1]:10026&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;перечитываем изменения службой postfix&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo systemctl reload postfix&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;правим конфиг dovecot&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo mcedit /etc/dovecot/dovecot.conf&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;находим&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ssl_cert = &amp;lt;/etc/ssl/certs/iRedMail.crt
ssl_key = &amp;lt;/etc/ssl/private/iRedMail.key&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;заменяем&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;ssl_cert = &amp;lt;/etc/letsencrypt/live/mail.{domain}.ru/fullchain.pem
ssl_key = &amp;lt;/etc/letsencrypt/live/mail.{domain}.ru/privkey.pem&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;перечитываем изменения службой dovecot&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo systemctl reload dovecot&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;осталось добавить в ротацию перевыпуск сертификата, для этого редактируем crontab&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;sudo crontab -e&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;add&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;# перевыпуск сертификатов Let&amp;#039;s Encrypt
43 3 9 * * /usr/bin/certbot renew --post-hook &amp;quot;/usr/bin/systemctl reload nginx; /usr/bin/systemctl reload dovecot; /usr/bin/systemctl reload postfix&amp;quot;
45 3 9 * * /usr/sbin/service nginx reload
46 3 9 * * /usr/sbin/service postfix reload
47 3 9 * * /usr/sbin/service dovecot reload&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;не забудьте оставить пустую строку в конце (такие требования синтаксиса crontab)&lt;/p&gt;
</description>
</item>


</channel>
</rss>