Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

MTA-STS を設定する

最終更新 Markdown で表示Agent セットアップ

MTA Strict Transport Security(MTA-STS)は、Microsoft、Google、Yahoo などのメールサービスプロバイダーが導入した仕組みです。SMTP セッションでのダウングレード攻撃や中間者攻撃を防ぎます。メールにセキュリティ優先の通信標準が不足していた問題も解消します。

example.com が対象のドメインで、Email Service を使っているとします。次の手順で MTA-STS を有効にできます。

_mta-sts DNS レコードを追加する

  1. Cloudflare ダッシュボードで、Records ページを開きます。

    Records を開く ↗
  2. 名前が _mta-sts で、Cloudflare のレコード _mta-sts.mx.cloudflare.net を指す新しい CNAME レコードを作成します。プロキシモードは無効にしてください。

    MTA-STS CNAME レコード
  3. レコードが作成されたことを確認します。

    dig txt _mta-sts.example.com
    _mta-sts.example.com. 300 IN  CNAME _mta-sts.mx.cloudflare.net.
    _mta-sts.mx.cloudflare.net. 300 IN  TXT "v=STSv1; id=20230615T153000;"

    これにより、接続しようとしている相手側のクライアントに、こちらが MTA-STS に対応していることが伝わります。

ポリシーファイルを配信する

次に、mta-sts.example.com に HTTPS エンドポイントを用意し、ポリシーファイルを配信します。このファイルは、ドメイン内で MTA-STS を使うメールサーバーを定義します。ここで DNS ではなく HTTPS を使う理由は、まだ DNSSEC を使っていない環境があるためです。中間者攻撃の経路を増やさないようにします。

そのため、メールクライアントが "well-known" URI の慣例で Cloudflare の Email Service ポリシーファイルを取得できる Worker をデプロイします。

  1. MTA-STS プロキシ Worker をアカウントにデプロイします。

    Deploy to Cloudflare

    この Worker は https://mta-sts.mx.cloudflare.net/.well-known/mta-sts.txt を、対象ドメインへプロキシします。

  2. デプロイ後、Worker の設定で Settings > Domains & Routes > +Add を開きます。サブドメイン mta-sts.example.com を入力します。

    MTA-STS Worker のカスタムドメイン

    ポリシーファイルが動作していることは、次のコマンドで確認できます。

    curl https://mta-sts.example.com/.well-known/mta-sts.txt
    version: STSv1
    mode: enforce
    mx: *.mx.cloudflare.net
    max_age: 86400

    これは、ドメイン example.com が MTA-STS を強制することを示します。対応するメールクライアントは、指定された MX サーバーへのセキュアな接続でのみ、このドメインへメールを配信します。セキュアな接続を確立できない場合、メールは配信されません。

Email Service は上流方向の MTA-STS にも対応しています。Gmail や Microsoft などのサービスプロバイダーへメールを転送するときのセキュリティが大きく向上します。

次のステップ

  • メール認証 — SPF、DKIM、DMARC のリファレンス。
  • Postmaster — ポストマスター向けの TLS、ARC、SMTP の詳細。
  • ドメイン設定 — ドメインの DNS レコードを確認します。

役に立ちましたか?