メールサーバの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