user icon

MTA-STSの受信側を設定する

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で終了します。

確認

チェック用のサイトが幾つかあったので、適当に選んでやってみます。
https://mxtoolbox.com/mta-sts.aspx
設定したメールドメイン(example.com)を入力します。
結果を見て問題が無ければOKです。
Facebooktwitterlinkedintumblrmail
名前
E-mail
URL
コメント

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)