📩
AWS 構成で MTA-STS を有効にする
はじめに
MTA-STS を有効にするためには https://mta-sts.<メールドメイン>/.well-known/mta-sts.txt
という指定の URL にテキストファイルを配置する必要があります。これをできるだけ簡単に済ませたいので AWS のマネージドサービスだけで完結させます。
多分これが一番早いと思います。
手順概要
- S3 に mta-sts.txt をアップロードする
- Certificate Manager で証明書を作成する
- CloudFront でディストリビューションを作成する
- S3 のバケットポリシーを更新する
- Route 53 にレコードを追加する
手順詳細
1. S3 に mta-sts.txt をアップロードする
- S3 に任意の名前のバケットを作成します。
- 作成したバケットに
.well-known/mta-sts.txt
を作成します。
2. Certificate Manager で証明書を作成する
- us-east-1 リージョン[1]で mta-sts.<メールドメイン> の証明書を作成します。
- ドメインの所有権を検証します。
ドメインの所有権検証は、ドメイン管理に Route 53 を利用している場合、 DNS 検証にすれば 2, 3 クリックで完了します。
3. CloudFront でディストリビューションを作成する
mta-sts.<メールドメイン> を以下の設定で作成します。
- オリジン
- オリジンドメイン: 作成した S3 バケット
- S3 バケットアクセス: Origin access control settings (recommended)
- Origin access control: 新規作成
- ビヘイビア
- ビューワープロトコルポリシー: HTTPS Only
- 許可された HTTP メソッド: GET, HEAD
- 設定
- 代替ドメイン名 (CNAME): mta-sts.<メールドメイン>
- カスタム SSL 証明書: 作成した証明書
4. S3 のバケットポリシーを更新する
- 作成したディストリビューションからオリジンを選択して編集画面を開き、バケットポリシーをコピーします。
- S3 バケットアクセス許可にコピーしたポリシーを貼り付けて保存します。
5. Route 53 にレコードを追加する
- メールドメインを管理するホストゾーンを開きます。
- 以下のレコードを作成します。
- mta-sts.<メールドメイン> A レコード: CloudFront のエイリアス
- mta-sts.<メールドメイン> AAAA レコード: CloudFront のエイリアス
- _mta-sts.<メールドメイン> TXT レコード:
v=STSv1;id=<1-32 桁の英数字列>;
- _smtp._tls.<メールドメイン> TXT レコード:
v=TLSRPTv1;rua=mailto:<レポート送付先メールアドレス>
CloudFront を利用することにより A/AAAA レコードの作成が簡単になります。
補遺
複数ドメイン管理
S3 バケットと CloudFront を 1:1 構成にしていますが、複数ドメインの MTA-STS を一括で管理したい場合、 S3 にドメインごとのプレフィックスを切ってそれぞれ mta-sts.txt ファイルを配置し、プレフィックスごとにオリジンを作成することができます。
Google Workspace の設定を確認する
Google Workspace を利用している場合、管理コンソールの Gmail のコンプライアンス設定から DNS にや mta-sts.txt に設定する値を確認できます。
-
CloudFront から作成した証明書を参照するためには us-east-1 リージョンで作成する必要があります。 ↩︎
Discussion