DNS SPFレコード生成&構文解析ツール

DNS SPFレコード生成&構文解析ツール

RFC 7208準拠のSPF TXTレコードを生成・検証。IPv4/IPv6 CIDRブロック、MX、A、includeメカニズム、SoftFail/HardFail強制ポリシーの設計とDNS 10回ルックアップ制限対策。

プリセット:
DNSクエリメカニズム (a, mx, include, exists)
主要メール送信サービスプロバイダー主要メール&SaaSプリセット
認可サードパーティ (include:)
include:_spf.google.cominclude:sendgrid.net
認可IPv4アドレス・CIDR範囲 (ip4:)
ip4:198.51.100.24/32
認可IPv6アドレス・CIDR範囲 (ip6:)
DNS TXTレコード値
80 chars
v=spf1 mx ip4:198.51.100.24/32 include:_spf.google.com include:sendgrid.net ~all
DNSレコードパラメータ
レコードタイプ (TXT)TXT
ホスト名 / サブドメイン (ネイキッドは @)@ (または mycompany.io)
TTL (有効期間 / 秒)3600 (1時間を推奨)
BINDゾーン構文
; RFC 7208 SPF TXT Resource Record for mycompany.io
; Host/Name: @ (or mycompany.io.)
; Record Type: TXT
; TTL: 3600 seconds ({t.lbl1HourRecommended || "1 hour recommended"})

mycompany.io.    IN    TXT    "v=spf1 mx ip4:198.51.100.24/32 include:_spf.google.com include:sendgrid.net ~all"

; --- Cloudflare DNS API / Web Dashboard ---
; Type: TXT
; Name: @
; Content: v=spf1 mx ip4:198.51.100.24/32 include:_spf.google.com include:sendgrid.net ~all
; TTL: Auto (or 3600)
; Proxy status: DNS only
DNSルックアップ数3 / 10 使用中RFC 7208 Section 4.6.4
レコード文字数SoftFail (~all)DMARCアライメント対応
適用ポリシークラス A+ (100/100)ゼロデータ流出

完全ブラウザ内処理&プライバシー保護

ドメイン名、社内メールサーバーIP、送信構成はブラウザサンドボックス内でのみ評価されます。外部DNSクエリやメールインフラ情報の外部送信は一切行われません。

RFC 7208標準準拠&10回ルックアップ上限検査

RFC 7208仕様に完全準拠:SPF PermError(認証拒否)を引き起こす10回DNSルックアップ制限の超過検知、255文字制限の検証、非推奨のptrメカニズムを自動検出・警告します。

主要SaaSプリセット・BIND・CLI検証コマンド

Google Workspace、Microsoft 365、SendGrid、Amazon SES、Mailgunなどの主要SaaSプリセットを標準搭載。DNS TXTレコード値、BINDゾーン構文、dig/nslookup検証コマンドを即座に出力できます。

技術リファレンス&アーキテクチャガイド

DNS SPF (Sender Policy Framework) レコードビルダー&解説 技術者ガイド — リファレンスガイド

RFC 7208準拠のSPF TXTレコードを生成・検証。IPv4/IPv6 CIDRブロック、MX、A、includeメカニズム、SoftFail/HardFail強制ポリシーの設計とDNS 10回ルックアップ制限対策。

主要パラメータ&設定項目

allポリシー修飾子 (~all / -all / ?all / +all)enum ('~all' | '-all' | '?all' | '+all')

先行するメカニズムに一致しない送信元IPに対する処理ポリシーを定義します。'~all' (SoftFail: 不正メールを受信しつつ不審マーク付与)、'-all' (HardFail: 権限のない送信元を即座に拒絶) を指定します。

初期値: ~all
includeメカニズム (include:ドメイン)string[] (空白区切りのFQDN一覧)

Google Workspace、SendGrid、Microsoft 365などの外部クラウドメール配信サービスを指定します。各includeはRFC 7208のDNSルックアップ回数制限(最大10回)を1回以上消費します。

初期値: _spf.google.com
IPv4アドレスおよびCIDRブロック (ip4:IP/CIDR)string[] (IPv4 / CIDR表記)

自社のオンプレミス送信サーバーや固定IPv4アドレス、CIDRサブネットを許可します。DNSクエリを発生させずに直接判定されるため高速かつ確実です。

初期値: 192.0.2.1/32
IPv6アドレスおよびCIDRブロック (ip6:IP/CIDR)string[] (IPv6 / CIDR表記)

送信メールサーバーに割り当てられた固定IPv6アドレスや/64、/48 CIDRブロックを指定します。DNSルックアップ上限を消費しません。

初期値: 2001:db8::/32
MXメカニズム (mx / mx:ドメイン)boolean | string (任意のFQDN)

対象ドメインのMX(Mail Exchange)レコードが指すIPアドレスからのメール送信を許可します。MX解決と各ホストのA/AAAA解決でDNSルックアップ数を消費します。

初期値: false
Aメカニズム (a / a:ドメイン)boolean | string (任意のFQDN)

ドメインのルートAまたはAAAAレコードに設定されたIPアドレスからのメール送信を許可します。Webサーバー本体から直接通知メールを送信する場合に有用です。

初期値: false

プロの活用テクニック&推奨設定

RFC 7208第4.6.4項により

RFC 7208第4.6.4項により、include、a、mx、ptr、existsの合計DNS問い合わせ回数は厳格に最大10回までに制限されています。10回を超えると即座に『PermError』となり、GmailやYahoo等の大手MTAで認証失敗扱いになります。多数のSaaSサービスを連携する場合はIPフラット化を実施してip4/ip6に集約してください。

同一ドメインにSPFレコード(v=spf1)を絶対に複数公開しない

同じルートドメインまたはホスト名に'v=spf1'で始まるTXTレコードを2つ以上登録してはいけません。RFC 7208第3.2項の規定により、受信MTAが複数のSPFレコードを検知した場合は構文評価を中断して必ず'PermError'を返します。すべての送信元は必ず1行のTXTレコードに統合してください。

DMARCの最適化

DMARC(p=quarantineやp=reject)の導入時は、SPFを直ちに'-all'に変更せず'~all'にとどめるのがベストプラクティスです。自動転送やメーリングリスト配信においてSPFは破損しやすいため、DKIMとDMARCアライメントを組み合わせることで正規メールの誤拒否(False Positive)を防止できます。

'ptr' メカニズムを廃止し、危険な '+all' を絶対に設定しない

RFC 7208では逆引きと正引きの大量DNS負荷を伴う'ptr'メカニズムの利用が非推奨となっています。また、'+all'は全世界のすべてのIPアドレスからの送信を無条件で許可する致命的なセキュリティホールとなるため、絶対に使用してはいけません。

よくあるトラブルと解決策

受信側サーバーから '550 5.7.23 SPF PermError: too many DNS lookups' でメールが拒絶される

SPFレコード内のネストされた'include:'メカニズムを精査してください。SaaSベンダーのinclude先が内部でさらに複数のincludeを呼び出しているケースが多発します。使わなくなったツールのincludeを削除するか、静的な'ip4:'/'ip6:'形式へフラット化するか、大量配信メールは専用サブドメイン(例: mail.example.com)へ分離してください。

DNS検証ツールで 'SPF PermError: duplicate SPF records found' と警告される

ターミナルで 'dig +noall +answer TXT example.com' を実行し、公開されている全TXTレコードを確認してください。サーバー管理画面の初期設定レコードと追加レコードが重複している場合、片方を削除し、すべての'include:'や'ip4:'を1つの'v=spf1 ...'レコードに合体してDNSゾーンを更新してください。

転送メールやメーリングリスト経由の正規送信メールが宛先でSPF認証エラー(SoftFail)になる

SPFはSMTPエンベロープ(Return-Path)の送信元IPを直接検証するため、転送サーバーを経由するとIP不一致により必ずSPFが失敗します。この根本対策として、暗号署名による改ざん検証を行うDKIMを必ず併設し、DMARCアライメントを構成して『DKIM合格によって転送メールを正規判定させる』設計を採用してください。

よくある質問 (FAQ)

SPF(Sender Policy Framework)とは何ですか?どのような仕組みでなりすましを防ぎますか?▼

SPF(RFC 7208)は、DNSを利用してメール送信元サーバーの正当性を検証するインターネット標準プロトコルです。ドメイン管理者は正規の送信元IPアドレスやサーバー群をTXTレコードとして公開します。受信側MTAはSMTP接続時にエンベロープFrom(RFC 5321 Return-Path)のドメインのSPFレコードを取得し、接続元IPが含まれているか照合します。未許可IPからの接続は詐称・なりすましメールとして拒否または隔離されます。

SoftFail (~all) と HardFail (-all) の実際の違いと使い分けは何ですか?▼

両者は未承認IPからメールが届いた場合の受信側への推奨アクションを指定します。'-all' (HardFail) は不正メールをSMTPハンドシェイク段階で即時拒絶(Reject)するよう要求します。一方 '~all' (SoftFail) はメールを受信した上で不審フラグ付与や迷惑メールフォルダへの隔離を推奨します。転送メールによる誤判定リスクを避けるため、現代のDMARC運用環境では'~all'の採用が主流となっています。

なぜDNSルックアップ10回制限は厳格に適用されるのですか?▼

DNSサーバーに対するDoS攻撃やリフレクション攻撃(DNSアンプ攻撃)を防ぐためのセキュリティ仕様です。ルックアップ制限がない場合、攻撃者が多数の外部ドメインを再帰的に参照する悪意あるSPFレコードを作成し、受信サーバーに膨大なDNSトラフィックを発生させることが可能になってしまいます。そのため11回目のDNSクエリが発生した瞬間に強制的にPermErrorとなります。

SPFはメールソフトに表示される『差出人(From)』のアドレスを検証しますか?▼

いいえ。SPFが検証するのはSMTP通信時に使われるエンベロープ送信者(RFC 5321 Return-Path / MAIL FROM)のみであり、ユーザーが目にするヘッダーFrom(RFC 5322 From)は直接検証しません。そのため、エンベロープを自社ドメインにしてヘッダーFromを有名ブランドに偽装する攻撃はSPF単体では防げません。これを解決するために、ヘッダーFromとSPF/DKIMの一致を強制するDMARC(RFC 7489)の導入が必須です。

サブドメインにもSPFレコードは必要ですか?親ドメインのSPFは継承されますか?▼

サブドメインは親ドメインのSPFレコードを自動継承しません。RFC 7208では、メールのReturn-Pathに記載された完全修飾ドメイン名(FQDN)に対して厳密にSPFルックアップを行います。例えば '[email protected]' から送信する場合、'mail.example.com' のTXTレコードが検索されます。親ドメインにSPFがあってもサブドメインに未設定であれば 'None' 判定となるため、送信元として利用するサブドメインには個別のSPFレコードを設定する必要があります。

関連するおすすめ開発ツール

すべてのツール →
DNS DMARCポリシーレコードビルダー&構文バリデータセキュリティ

ポリシー適用(none/quarantine/reject)、rua/ruf集約レポート、アライメントタグを備えたRFC 7489準拠のDMARC DNS TXTレコードを生成・検証します。

ツールを開く→
DNS CAA(認証局承認)レコードジェネレーターセキュリティ

RFC 8659 に準拠した DNS CAA レコードを生成し、SSL/TLS 証明書の発行権限を信頼できる認証局(Let's Encrypt、DigiCert、Sectigo など)に限定します。

ツールを開く→
DNS DKIM TXTレコード生成&セレクタ設計 完全セキュリティ

RFC 6376準拠のDNS DKIM TXTレコード(v=DKIM1; k=rsa; p=...)の構築、セレクタ命名規則、255文字制限の分割手法、および認証検証手順を解説します。

ツールを開く→
MTA-STS ポリシー&TLS-RPT DNSレコードジェネレーターセキュリティ

RFC 8461準拠のMTA-STSポリシーファイル、_mta-sts DNS TXTレコード、およびRFC 8460 TLS-RPTレポートレコードの生成仕様と運用ベストプラクティス。

ツールを開く→
JWTトークンデコーダー&セキュリティインスペクターセキュリティ

ブラウザ上でJSON Web Tokenをデコードし、RFC 7519およびOIDCクレームの確認、有効期限の精密検査、HMAC署名のローカル検証を行う開発者向けユーティリティ。

ツールを開く→
高強度パスワード・パスフレーズ自動生成ツールセキュリティ

暗号論的擬似乱数生成器(Web Crypto CSPRNG)を用いた高エントロピーパスワード、覚えられるDicewareパスフレーズ、PIN、APIトークンをブラウザ内で瞬時に安全生成。NIST SP 800-63B準拠。

ツールを開く→