Postfixにて、SSL送信
Dovecotにて、SSL受信
を行う設定です。
Postfix 3.4 [SSL 送受信] CentOS7(マルチドメイン)
Postfix 3.4をベースにした、POP3,POP3s,SMTP,SMTPs,IMAP,IMAPsの設定を行っていきたいと思います。↑CentOS Stream8版Postfix 3.4 CentOS7(マルチドメイン)の続きになります...
↑Postfix3.4 CentOS7版
今回も、Conoha VPSで、行いました。
目次
Let’s Encrypt
Let's Encrypt、certbot-autoが動かない!
Let's Encrypt証明書発行のツール「certbot-auto」が動かない・・・2021年から、「certbot-auto」が動作しなくなりました・・・certbot-autoのエラー# /root/certbot-auto cer...
↑上記の手順で、導入をします。
POP3s 設定
vi /etc/dovecot/conf.d/10-ssl.conf ssl = no ↓ ssl = yes #ssl_cert = </etc/ssl/certs/dovecot.pem #ssl_key = </etc/ssl/private/dovecot.pem ↓ ssl_cert = </etc/letsencrypt/live/(FQDN)/fullchain.pem ssl_key = </etc/letsencrypt/live/(FQDN)/privkey.pem
vi /etc/dovecot/conf.d/10-master.conf --------------------------------- service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { #port = 995 #ssl = yes } --------------------------------- ↓ --------------------------------- service pop3-login { inet_listener pop3 { port = 110 } inet_listener pop3s { port = 995 ssl = yes } ---------------------------------
vi /etc/dovecot/conf.d/10-auth.conf #disable_plaintext_auth = yes ↓ disable_plaintext_auth = no
↑none SSL(非SSL)でも、popができるようにします。
これを変更しないと
-ERR [AUTH] Plaintext authentication disallowed on non-secure (SSL/TLS) connections.
というエラーが出ます。
# systemctl restart dovecot # systemctl status dovecot ● dovecot.service - Dovecot IMAP/POP3 email server Loaded: loaded (/etc/systemd/system/dovecot.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2021-XX-XX XX:XX:XX JST; 4s ago Docs: man:dovecot(1) https://doc.dovecot.org/ Process: 95663 ExecStop=/usr/bin/doveadm stop (code=exited, status=0/SUCCESS) Main PID: 95668 (dovecot) Tasks: 4 (limit: 11403) Memory: 4.9M CGroup: /system.slice/dovecot.service ├─95668 /usr/sbin/dovecot -F ├─95670 dovecot/anvil ├─95671 dovecot/log └─95672 dovecot/config systemd[1]: Started Dovecot IMAP/POP3 email server. dovecot[95668]: master: Dovecot v2.3.14 (cee3cbc0d) starting up for imap, pop3
↑正常に稼働しました
SMTPs 設定
# vi /etc/postfix/main.cf #inet_interfaces = all ↓ inet_interfaces = all smtpd_use_tls = yes smtpd_tls_cert_file = /etc/letsencrypt/live/(FQDN)/fullchain.pem smtpd_tls_key_file = /etc/letsencrypt/live/(FQDN)/privkey.pem smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache
# vi /etc/postfix/master.cf ------------------------------------------------------------------------- #submission inet n - n - - smtpd # -o smtpd_sasl_auth_enable=yes # -o smtpd_relay_restrictions=permit_sasl_authenticated,reject ------------------------------------------------------------------------- ↓ ------------------------------------------------------------------------- submission inet n - n - - smtpd -o smtpd_sasl_auth_enable=yes -o smtpd_relay_restrictions=permit_sasl_authenticated,reject ------------------------------------------------------------------------- ------------------------------------------------------------------------- #smtps inet n - n - - smtpd # -o smtpd_tls_wrappermode=yes # -o smtpd_sasl_auth_enable=yes ------------------------------------------------------------------------- ↓ ------------------------------------------------------------------------- smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -------------------------------------------------------------------------
vi /etc/dovecot/conf.d/20-submission.conf # Host name for the relay server (required) #submission_relay_host = ↓ # Host name for the relay server (required) submission_relay_host = localhost
# vi /etc/dovecot/conf.d/10-master.conf ----------------------------------------- # Postfix smtp-auth #unix_listener /var/spool/postfix/private/auth { # mode = 0666 #} ----------------------------------------- ↓ ----------------------------------------- # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } -----------------------------------------
postfix,dovecot サービス再起動
# systemctl restart dovecot # systemctl restart postfix
imaps
imapもSSL、非SSLでの通信が可能となります。
サーバー間のTLS(暗号化通信)、Postfix設定
# vi /etc/postfix/main.cf smtpd_tls_received_header = yes smtp_tls_CAfile = /etc/pki/tls/cert.pem smtp_tls_security_level = may smtp_tls_loglevel = 1
↑最後の、「smtp_tls_loglevel」は、必須ではないです。
Gmail(例)への送信時
postfix/smtp[2918]: Trusted TLS connection established to gmail-smtp-in.l.google.com[74.125.203.27]:25: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256 postfix/smtp[2918]: to=<○○@gmail.com>, relay=gmail-smtp-in.l.google.com[74.125.203.27]:25, delay=2.4, delays=0.39/0.02/0.74/1.2, dsn=2.0.0, status=sent (250 2.0.0 OK - gsmtp)
↑Postfixのログ情報。
送信時のpostfixのログ。「TLSv1.3」での通信がなされています。
↑Gmail側の受信状況。
TLS(標準的な暗号化)で、受信されました。
Gmail(例)からの受信時
Received: from mail-ed1-f45.google.com (mail-ed1-f45.google.com [209.85.208.45]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by (Postfix)
↑
メールのヘッダ(ソース)の情報。
Gmailからの受信も「TLSv1.3」で通信されています。