Amazon Linux 2:SSLメールサーバー構築 (Let’s Encrypt+Postfix+Dovecot編)

バーチャルドメイン&スパムフィルター対応のメールサーバー構築を、無料SSL/TLS証明書認証局「Let’s Encrypt」を用いてSSL/TLSに対応させます。(2019/06/02作成)

StockSnap / Pixabay

本記事は、下記メールサーバー記事にある、SSL/TLS証明書設定を「自己署名証明書」から「Let’s Encrypt」に置き換えてSSL/TLS対応させています。

CentOS 6.6:メールサーバー構築 (バーチャルドメイン&スパムフィルター対応)

0)環境

$ cat /etc/system-release
Amazon Linux release 2 (Karoo)

$ postconf | grep mail_version | head -n 1
mail_version = 2.10.1

$ dovecot --version
2.2.10

1)Let’s Encrypt のSSL/TLS証明書取得

$ sudo certbot certonly --webroot \
-w /var/www/example \
-d mail.example.com \
-m sample@example.com \
--agree-tos -n

オプションの指定:
「-w /var/www/example」はドキュメントルートを指定
「-d mail.example.com」は証明書を取得するドメインを指定
「-m sample@example.com」は自分のメールアドレスを指定

※コマンド実行後、IMPORTANT NOTES: - Congratulations! … となれば証明書の取得成功です。

2)Postfix のSSL/TLS証明書設定

$ sudo vi /etc/postfix/main.cf

smtpd_tls_cert_file = /etc/pki/tls/certs/mail.example.com.crt
smtpd_tls_key_file = /etc/pki/tls/private/mail.example.com.key
↓↓
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.example.com/privkey.pem

※下記2つのコマンドでチェックして、何もエラーが出力されなければ成功です。
$ postmap /etc/postfix/access
$ postfix check

$ sudo systemctl restart postfix.service

3)Dovecot のSSL/TLS証明書設定

$ sudo vi /etc/dovecot/conf.d/10-ssl.conf

ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
↓↓
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem

$ sudo systemctl restart dovecot.service

以上

できるPRO CentOS 7サーバー できるPROシリーズ

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。