メールサーバー間の SMTP 通信を暗号化する
メールサーバー間の通信で、TLSを使った暗号化が可能なのは知っていたが、面倒なので放置していた。
が、Gmail などで暗号化通信で送られてきたメールにはその旨記載があったり、世の中も動いてきてるので、今回、対応することにした。
Debian の場合 apt install ca-certificates で、CA証明書を導入しておくことを忘れない。
/etc/postfix/main.cf に以下の行を挿入。
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt smtp_tls_security_level = may smtp_tls_loglevel = 1 FreeBSD の場合 pkg install ca_root_nss で、CA証明書を導入しておくことを忘れない。
/usr/local/etc/postfix/main.cf に以下の行を挿入。
smtp_tls_CAfile = /usr/local/etc/ssl/cert.pem smtp_tls_security_level = may smtp_tls_loglevel = 1 これで、送信時に暗号化通信を行える相手には、暗号化して送信し、そうでない相手には平文で送信するようになる。
共通 次に受信時の暗号化通信だが、メールのヘッダに暗号通信の記録を残すことを含め、main.cf へ次の行を挿入。
smtpd_use_tls=yes smtpd_tls_received_header = yes 無論、SSL 証明書を Let’s Encrypt などから取得して、設定しておくことを忘れない。
以上で対応は終了だった。簡単すぎて拍子抜け。もっと早くに対応しておくべきだった。