Безопасный сервер iRedMail с SSL-сертификатом Let’s Encrypt

Безопасный сервер iRedMail с SSL-сертификатом Let’s Encrypt

 

В нашем предыдущем руководстве мы видели, как можно установить и настроить iRedMail Server на Rocky Linux 8 . При установке iRedMail по умолчанию создается и устанавливается самозаверяющий сертификат SSL для почтовых служб — POP3 / IMAP / SMTP через TLS и для доступа HTTPS к службам веб-почты.

При использовании самозаверяющего сертификата вы часто будете получать предупреждающие сообщения о том, что используемый сертификат не является доверенным. Чтобы избежать появления этих надоедливых сообщений, рекомендуется купить сертификат SSL у поставщика сертификатов SSL или получить бесплатный сертификат Let’s Encrypt.

В этом руководстве мы будем использовать бесплатный SSL-сертификат Let’s Encrypt для защиты наших служб iRedMail. Чтобы получить сертификат Let’s Encrypt SSL, ваш сервер должен иметь общедоступный IP-адрес и запись DNS, указывающую на этот IP-адрес.

Шаг 1. Получите сертификат Let’s Encrypt

Установите инструмент certbot, который будет использоваться для получения SSL-сертификата Let’s Encrypt.

# Install certbot on Ubuntu /Debian
sudo apt update
sudo apt install certbot

# Install certbot on CentOS / Rocky
sudo yum -y install epel-release
sudo yum -y install certbot

После установки инструмента certbot-auto сохраните адрес электронной почты и домен для сервера iRedMail.

DOMAIN="mail.infoit.com.ua"
EMAIL="webmaster@infoit.com.ua"

Остановите службу Nginx.

sudo systemctl stop nginx

Получите бесплатный сертификат Let’s Encrypt для почтового сервера iRedMail.

sudo certbot certonly --standalone -d $DOMAIN --preferred-challenges http --agree-tos -n -m $EMAIL --keep-until-expiring

Стандартное сообщение об успешном завершении Let’s Encrypt выводит путь к вашим сертификатам.

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/mail.infoit.com.ua/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/mail.infoit.com.ua/privkey.pem
   Your cert will expire on 2020-01-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Шаг 2. Замените самозаверяющие сертификаты iRedMail

Переименуйте самозаверяющий сертификат iRedMail.crt и закрытый ключ.

sudo mv /etc/pki/tls/certs/iRedMail.crt{,.bak}
sudo mv /etc/pki/tls/private/iRedMail.key{,.bak}

Создайте символическую ссылку для сертификата Let’s Encrypt и закрытого ключа.

sudo ln -sf /etc/letsencrypt/live/$DOMAIN/fullchain.pem /etc/pki/tls/certs/iRedMail.crt
sudo ln -sf  /etc/letsencrypt/live/$DOMAIN/privkey.pem /etc/pki/tls/private/iRedMail.key

Перезагрузите сервер iRedMail, чтобы службы могли использовать новый сертификат.

sudo reboot

Шаг 3. Установите автоматическое продление сертификата

Создайте задание cron для автоматического обновления сертификатов Let’s Encrypt:

$ sudo crontab -e
# Renew Let's Encrypt certs
15 3 * * * /usr/bin/certbot renew --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"

После добавления SSL-сертификата Let’s Encrypt приложение почтового клиента (MUA, например Outlook, Thunderbird) не должно предупреждать вас о недействительном сертификате. То же, что и доступ к клиентам веб-почты в браузере.

Оставить ответ

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

5 × 4 =