Продолжаем настройку нашего почтового сервера. Далее нам понадобится настроить автоматический выпуск сертификатов Let’s Encrypt. Для этого установим необходимые пакеты:
pacman -Syu certbot certbot-nginx nginx
Далее необходимо создать конфигурационный файл Nginx. Создадим каталог для конфигов Nginx:
mkdir -p /etc/nginx/conf.d
Далее необходимо добавить include в nginx.conf
nano /etc/nginx/nginx.conf
Внутри блока http { ... } в конце файла добавь строку:
include conf.d/*.conf;
cat > /etc/nginx/conf.d/mx.codebeer.ru.conf <<'EOF'
server {
listen 80;
listen [::]:80;
server_name mx.codebeer.ru;
root /var/lib/letsencrypt;
location ~ /.well-known/acme-challenge {
allow all;
}
}
EOF
Применить настойки:
systemctl enable nginx systemctl daemon-reload systemctl restart nginx
Убьём процесс nginx, systemd должен поднять снова:
pkill -9 nginx sleep 2 systemctl status nginx --no-pager
Применяем настройки Nginx:
nginx -t && systemctl restart nginx
Далее выпускаем сертификат для нашего домена:
# certbot --nginx -d mx.codebeer.ru
Сертификат и ключ будет хранится по указанному пути:
/etc/letsencrypt/live/mx.codebeer.ru/fullchain.pem /etc/letsencrypt/live/mx.codebeer.ru/privkey.pem
Дале включаем автоматический перевыпуск сертификата:
systemctl enable --now certbot-renew.timer systemctl status certbot-renew.timer --no-pager systemctl list-timers | grep certbot
После этого systemd будет запускать обновление сертификата по расписанию.
Включаем автоперезапуск nginx при падении
mkdir -p /etc/systemd/system/nginx.service.d cat > /etc/systemd/system/nginx.service.d/restart.conf <<'EOF' [Service] Restart=on-failure RestartSec=3s StartLimitIntervalSec=300 StartLimitBurst=5 EOF
Включаем submission порт 587 и smtps порт 465 в Postfix
Нужно внести изменения в master.cf
nano /etc/postfix/master.cf
Добавить в файл:
submission inet n - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_tls_wrappermode=no -o smtpd_sasl_auth_enable=yes -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth smtps inet n - y - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_relay_restrictions=permit_sasl_authenticated,reject -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth
Прописываем TLS сертификат для Postfix:
postconf -e "smtpd_tls_cert_file = /etc/letsencrypt/live/mx.codebeer.ru/fullchain.pem" postconf -e "smtpd_tls_key_file = /etc/letsencrypt/live/mx.codebeer.ru/privkey.pem"
Чтобы отключить небезопасные версии SSL/TLS, добавьте в конец файла /etc/postfix/main.cf:
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1 smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
Далее отключим авторизацию для порта 25. Это нужно что бы подключаться к серверу можно было только через порты с шифрованием.
smtpd_sasl_auth_enable = no smtpd_tls_auth_only = yes
Применяем настройки:
postfix reload systemctl restart postfix
Следующий этап настройки Postfix настройка OpenDKIM