December 4, 2024
Установка SSL
apt update
mkdir /var/www/mail
Создаем index.php для поддомена mail:
sudo mkdir -p /var/www/mail && echo "<?php phpinfo(); ?>" | sudo tee /var/www/mail/index.php > /dev/null
nano /etc/nginx/sites-available/mail.interesnoe24.ru.conf
server {
listen 80;
listen [::]:80;
server_name mail.interesnoe24.ru www.mail.interesnoe24.ru;
root /var/www/mail;
index index.php index.html index.xml;
location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}sudo ln -s /etc/nginx/sites-available/mail.interesnoe24.ru.conf /etc/nginx/sites-enabled/
systemctl restart nginx
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
mkdir -p /etc/nginx/snippets/
nano /etc/nginx/snippets/ssl-params.conf
ssl_session_timeout 1d; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off; add_header Strict-Transport-Security "max-age=63072000" always;
snap install core
snap install --classic certbot
sudo certbot --nginx -d mail.interesnoe24.ru -d postfixadmin.interesnoe24.ru
Смотрим папку и видим наши сертификаты, также они автоматически установились в конфигах nginx:
ll /etc/letsencrypt/live/mail.interesnoe24.ru
Переходим в настройки Postfix:
nano /etc/postfix/main.cf
smtpd_use_tls=yes smtpd_tls_auth_only = yes smtp_tls_security_level = may smtpd_tls_security_level = may smtpd_tls_cert_file=/etc/letsencrypt/live/mail.interesnoe24.ru/fullchain.pem smtpd_tls_key_file=/etc/letsencrypt/live/mail.interesnoe24.ru/privkey.pem smtpd_sasl_security_options = noanonymous, noplaintext smtpd_sasl_tls_security_options = noanonymous
Далее другой конфиг и раскосментируем строку:
nano /etc/postfix/master.cf
Под этой же строкой вставляем:
-o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_reject_unlisted_recipient=no -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
Далее идем вниз и раскомментируем еще одну строку, и вставляем запись:
-o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_type=dovecot -o smtpd_sasl_path=private/auth -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING
systemctl restart postfix
Далее настраиваем конфиги dovecot:
nano /etc/dovecot/conf.d/10-master.conf
nano /etc/dovecot/conf.d/10-ssl.conf
ssl = required ssl_cert = </etc/letsencrypt/live/mail.interesnoe24.ru/fullchain.pem ssl_key = </etc/letsencrypt/live/mail.interesnoe24.ru/privkey.pem
nano /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = yes
systemctl restart dovecot