Open9

メールサービスとDNS

hirenhiren

SPF
https://sendgrid.kke.co.jp/blog/?p=3509

送信元メールサーバーのIPが一致する(include先ドメインでも可)場合に認証OKにする
弄れるDNSを元にしてFrom詐称されるとなりすましても見抜けない

hirenhiren
特徴/側面 SPF (RFC 7208) DKIM (RFC 6376) DMARC (RFC 7489)
主な目的 送信元IPアドレスの正当性検証 メールの改ざん検知と送信ドメインの正当性検証(署名経由) SPF/DKIM結果に基づくポリシー適用とレポーティング
何を認証するか エンベロープFrom (MAIL FROM) ドメインの送信許可IP メッセージ内容と一部ヘッダー(電子署名経由) SPF/DKIM認証ドメインとヘッダーFromドメインのアライメント(整合性)
仕組み DNSのTXTレコードに許可IPリストを公開 送信時に秘密鍵で署名、受信時にDNSの公開鍵で検証 DNSのTXTレコードにポリシーを公開、SPF/DKIM結果とアライメントに基づき処理、レポート送信
主な限界 メール転送で失敗しやすい、ヘッダーFromを直接認証しない メッセージ本文が僅かでも変更されると失敗する可能性 SPF/DKIMが正しく設定・運用されていないと効果を発揮しにくい
DNSレコードタイプ TXT TXT (公開鍵用) TXT (ポリシー用、例: _dmarc.example.com)
郵便に例えると 差出人住所が正当か 封が開けられていないか 審査結果に基づき配達するか決定
hirenhiren

Route53の TXT レコードの1つの文字列の文字数は255※RFC 1035にて規定されているDNS上の制限
文字列は「”」連結することができ、TXT レコード内の値の、最大長は 4,000 文字※RFC 1035にて定められている文字列連結に関する規定
https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/ResourceRecordTypes.html#TXTFormat

  • Route 53のTXTレコードで255文字以上登録するときは二重引用符(")で分割する
  • 分割に際しスペース区切りにしなくても大丈夫だがスペース区切りにしておいた方が安全
    • ドキュメントでもスペース区切りにしている
  • 改行は各レコードの区切り文字なので分割した文字列の途中で使ってはいけない
    • レコードを分ける時だけ改行を入れる

https://dev.classmethod.jp/articles/notes-for-route-53-long-txt-record/