その2 STARTTLSで暗号化
次にSTARTTLSで暗号化をするところまでを設定します。
Postfix
- 1.SSL証明書
main.cfにSSLの記載があります。証明書は既に取得できていると仮定して以下のように編集します。
(例.certbotでSSL証明書を取得)
main.cf
...
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/cert.pem
...
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem
...
smtp_tls_CAfile = /etc/letsencrypt/live/mail.example.com/chain.pem
...
# (追加)
# STARTLS
smtpd_tls_received_header = yes
smtp_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_session_cache_timeout = 3600s
# security
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination
smtpd_sender_restrictions = reject_unknown_sender_domain
smtpd_helo_restrictions = reject_unknown_hostname
...
ここでは順にサーバー証明書/秘密鍵/中間CAを設定しています。
次にSTARTTLSと接続の制限に関する設定を記述します。
- 2.CRAM-MD5認証
次に認証方式を変更します。plainよりcram-md5を優先します。
(あるいはplainを削除してもOK)
/etc/sasl2/smtpd.conf
pwcheck_method: auxprop
mech_list: cram-md5 login plain
Dovecot
- 1.SSL証明書
Postfixの時と同様に証明書を指定します。
/etc/dovecot/conf.d/10-ssl.conf
...
# (前回はnoにしましたが今回はSTARTTLS用に設定し直す)
...
ssl = yes
...
ssl_cert = </etc/letsencrypt/live/mail.example.com/cert.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
ssl_ca = </etc/letsencrypt/live/mail.example.com/chain.pem
- 2.CRAM-MD5認証
Postfixの時と同様に認証方式を変更します。
/etc/dovecot/conf.d/10-auth.conf
...
# (前回はnoにしましたが今回はSTARTTLS用に設定し直す)
...
# (plainを許可しない場合はyesにする)
disable_plaintext_auth = yes
...
#(あるいはplainを削除してもOK)
auth_mechanisms = cram-md5 login plain
...
- 3.ユーザーパスワードの再設定
passwd-fileにCRAM-MD5を追加します。
$ doveadm pw -s CRAM-MD5
(この後パスワードを入力)
パスワードをコピーしてファイルに追加します。
/etc/dovecot/users.
no-reply@example.com:{PLAIN}password:1001:1001::/home/no-reply:/sbin/nologin
no-reply@example.com:{CRAM-MD5}abcdefgh...:1001:1001::/home/no-reply:/sbin/nologin
あとはpostfixとdovecotを再起動して終了です。一度平文で動作することを確認できていればそんなに苦戦はしないはずです。
前回ではメーラーによっては平文の警告が出ていたこと思いますが、今回の作業でそれが消えているはずです。あと、ちょっと。。。