2026年8月10日
2026年8月10日
SPFレコードの「softfail」と「fail」の違いと設定方法
ステップ1: SPFレコードの基本理解
はじめに
SPF(Sender Policy Framework)は、メール送信元を確認するためのDNSレコードで、不正なメール送信者から受取人のメールボックスへの攻撃を防ぐのに役立ちます。SPFレコードでは、「softfail」と「fail」が使用されますが、両者は意味合いや結果に違いがあります。
症状・背景
- ソフトウェアのフィルタリング: メールサーバーは受信メールのヘッダーからSPF情報を取得し、送信元アドレスとレコードで定義されたドメインが一致するかを確認します。
- 「softfail」と「fail」の違い: SPFレコードの設定が不完全であっても、「softfail」は警告として扱われ、「fail」はエラーとして扱われるため、慎重に設定を行う必要があります。
ステップ2: SPFレコードの構造
SPFレコードの基本的な構造
# エクземプレ(example.com)のSPFレコードの例
v=spf1 include:_spf.google.com a -all
v=spf1: SPFバージョン1を指定します。include: SPFレコードが他のドメインに含められるように指定します。この例では、GoogleのSPF設定も参照しています。a: ドメインのAレコードで定義されたIPアドレスからの送信元を許可します。-all: 未明示的に許可または拒否される全てのIPアドレスに対してデフォルト拒否を行います。
ステップ3: 「softfail」と「fail」の違いと設定方法
SPFレコードに「softfail」を追加する
# softfailを設定するために既存のSPFレコードを修正します。
v=spf1 include:_spf.google.com a -all ~all
~all: 未明示的に許可または拒否される全てのIPアドレスに対して「softfail」を行うという意味を持ちます。これは警告メッセージを生成し、信頼性が低い送信元としてマークします。
SPFレコードに「fail」を追加する
# failを設定するために既存のSPFレコードを修正します。
v=spf1 include:_spf.google.com a -all -all
-all: 未明示的に許可または拒否される全てのIPアドレスに対して「fail」を行うという意味を持ちます。これはエラーとして扱われ、信頼性が低い送信元として完全に拒否します。
ステップ4: SPFレコードの確認とテスト
SPFレコードの確認
# nslookupコマンドを使用してSPFレコードを確認します。
nslookup -query=txt example.com
nslookupはDNSサーバーから情報を取得するためのツールで、TXTレコードを表示することができます。これによりSPFレコードが正しく設定されていることを確認できます。
SPFテストツールを使用して検証
# Online SPF Test Tool(https://www.spfwizard.net/)を使用します。
- URLにドメイン名を入力し、テストを行います。
注意事項
- 慎重な設定: 「softfail」は警告として扱われ、「fail」はエラーとして扱われるため、SPFレコードの設定が不完全であっても「softfail」を使用すると対策できます。しかし、誤った設定により正常なメール送信が妨げられる恐れがあるため、慎重に設定を行う必要があります。
- パフォーマンスへの影響: SPFチェックはDNSリクエストを増やし、小さな遅延につながる可能性があります。ただし、これは通常の範囲内であり、SPFレコードの必要性を無視することは推奨されません。
- セキュリティ上の注意: 不正な送信元からのメールはフィッシング攻撃や詐欺に利用されることがあります。因此にSPFレコードを設定し、定期的に確認することをおすすめします。
まとめ
1. 「softfail」: 警告として扱われ、信頼性が低い送信元としてマークされます。
2. 「fail」: エラーとして扱われ、完全に拒否されます。
3. 慎重な設定: SPFレコードの設定は慎重に行う必要があります。不正な送信者からのメールを防ぐためにも、適切な設定を行うことが重要です。
4. SPFチェックのパフォーマンスへの影響: SPFチェックは小さな遅延を生じますが、これは通常の範囲内であり、無視することは推奨されません。
5. 定期的な確認: SPFレコードの設定は定期的に確認し、必要な修正を行ってください。
関連記事: