メールサーバのSSL対応
動作確認済みシステム Debian 12
メールサーバに、SSL証明書の作成(Let’s Encrypt)で取得した証明書を設定して、SSLをサポートするようにします。
PostfixでSSLの設定を行います。
Postfixのmain.cfを開きます。
vi /etc/postfix/main.cf
もしソースコードからビルドしたのもであれば、以下で開きます。
vi /usr/local/etc/postfix/main.cf
最後のところに、以下を追記します。
smtpd_use_tls = yes
smtp_tls_security_level = may
smtpd_tls_cert_file = /etc/letsencrypt/live/example.com/cert.pem
smtpd_tls_key_file = /etc/letsencrypt/live/example.com/privkey.pem
smtpd_tls_CAfile = /etc/letsencrypt/live/example.com/chain.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
smtpd_tls_protocols = !SSLv2, !SSLv3
smtp_tls_mandatory_protocols = !SSLv2, !SSLv3
smtp_tls_protocols = !SSLv2, !SSLv3
master.cfでSMTPSポートの設定を行います。
Postfixのmaster.cfを開きます。
vi /etc/postfix/master.cf
もしソースコードからビルドしたのもであれば、以下で開きます。
vi /usr/local/etc/postfix/master.cf
# コメント解除もしくは追記
smtps inet n - y - - smtpd
-o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
DovecotでSSLの設定を行います。
Dovecotの10-ssl.confを開きます。
vi /etc/dovecot/conf.d/10-ssl.conf
もしソースコードからビルドしたのもであれば、以下で開きます。
vi /usr/local/etc/dovecot/conf.d/10-ssl.conf
# 変更
ssl_cert = </etc/letsencrypt/live/example.com/cert.pem
ssl_key = </etc/letsencrypt/live/example.com/privkey.pem
# 変更
ssl_ca = </etc/letsencrypt/live/example.com/chain.pem
# 追記
ssl_min_protocol = TLSv1.2
Dovecotの10-master.confを開きます。
vi /etc/dovecot/conf.d/10-master.conf
もしソースコードからビルドしたのもであれば、以下で開きます。
vi /usr/local/etc/dovecot/conf.d/10-master.conf
service imap-login {
inet_listener imaps {
# コメント解除
port = 993
ssl = yes
}
}
各種サービスを再起動します。
systemctl restart postfix.service
systemctl restart dovecot.service
ファイアウォールの設定を行い、必要なポートを許可するようにします。
ufw allow 993/tcp
ufw allow 465/tcp
ufw reload