MTA-STSについて、受信側だけ設定してみます。 httpsが必要なので、これまでのようなローカル環境でなく、ドメインを取得して行います。 送信についてはより面倒そうなので、保留。
以降はexample.comに実装する体で記載します。
DNS
Aレコードはメールサーバをexample.com、ウェブサーバをmta-sts.example.com
example.comのMXレコードにメールと同じexample.comを登録します
TXTレコードは_mta-sts.[メールドメイン]となるので、_mta-sts.example.comとします(Aレコードと違い、アンダーバーが必要です)
TXTレコード_mta-sts.example.comの中身は、”v=STSv1; id=適当な1-32文字の英数字”なので、日時でも登録しておきます。
v=STSv1; id=20230522170000
Httpd
TLSはWebとPostfix側で必要になるため、Let’s Encryptを利用しexample.comとmta-sts.example.comの分を取ります。
dnf install certbot httpd mod_ssl
certbot -d example.com -d mta-sts.example.com
/etc/httpd/conf.d/mta-sts.conf
ちょっと紛らわしいのですが https://example.com でなく、 https://mta-sts.example.com にアクセスさせる必要が有るので、間違えないようにします。
新規にconfを追加していますが、example.comと分ける必要が無ければ、ssl.conf内に記載しても良いです。DocumentRootも必要なら追記して下さい。
<VirtualHost *:443>
ServerName mta-sts.example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/mta-sts.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mta-sts.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mta-sts.example.com/chain.pem
</VirtualHost>
/var/www/html/.well-known/mta-sts.txt
version: STSv1
mode: testing
max_age: 604800
mx: example.com
DocumentRootがデフォルトの/var/www/htmlとした場合です。
httpdをリロードして、ブラウザでhttps://mta-sts.example.com/.well-known/mta-sts.txtが表示されるかを確認します。
Postfix
STARTTLSが必要ですが、submissionポートを開ける必要は有りません。
今回はポート25の日和見TLSで対応します。
/etc/postfix/main.cf
smtpd_tls_security_level = may
smtpd_tls_cert_file = /etc/letsencrypt/live/example.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/example.com/privkey.pem
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
# debug
smtpd_tls_received_header = yes
smtpd_tls_loglevel = 1
リスタート後に、STARTTLSが有効か確認します。
systemctl restart postfix
openssl s_client -connect example.com:25 -quiet -starttls smtp
depth=1 C = US, O = Let’s Encrypt, CN = R3のようにLet’s Encryptの表示が出ればOKです。Ctrl+Cで終了します。
確認
結果を見て問題が無ければOKです。
This entry was posted on 木曜日, 5月 25th, 2023 at 17:26 and is filed under 未分類 . You can follow any responses to this entry through the RSS 2.0 feed.
You can skip to the end and leave a response. Pinging is currently not allowed.