応用情報技術者 2016年 秋期 午前2 問43
問題文
受信した電子メールの送信元ドメインが詐称されていないことを検証する仕組みである SPF (Sender Policy Framework)の特徴はどれか。
選択肢
ア:受信側のメールサーバが、受信メールの送信元IPアドレスから送信元ドメインを検索して DNSBL に照会する。
イ:受信側のメールサーバが、受信メールの送信元IPアドレスと、送信元ドメインの DNSに登録されているメールサーバのIPアドレスとを照合する。(正解)
ウ:受信側のメールサーバが、受信メールの送信元ドメインから送信元メールサーバのIPアドレスを検索してDNSBL に照会する。
エ:メール受信者のPCが、送信元ドメインから算出したハッシュ値と受信メールに添付されているハッシュ値とを照合する。
🔒 解説は解答すると表示されます
SPF(送信元ドメイン検証)【午前2解説】
正解の理由
SPFは、送信ドメイン所有者がDNSに「そのドメインから送信を許可するメール送信元IPアドレス」を公開しておき、受信側のメールサーバが実際に接続してきた送信元IPアドレスとそのDNSに登録された許可リストを照合する仕組みです。したがって、選択肢の中では受信側のメールサーバが送信元IPと送信元ドメインのDNSに登録されたメールサーバのIPアドレスとを照合するとする イ が正しい説明です。
解法ステップ
- SPFの目的を思い出す:送信元ドメインの詐称(なりすまし)検出。
- SPFの実装方法を確認:送信ドメインのDNS(主にTXTレコード)に許可する送信元を列挙する。
- 受信側の動作を考える:SMTPで接続してきた送信元のIPアドレスを、MAIL FROM(Return-Path)やHELO/EHLOで使われるドメインのSPFレコードと照合する。
- 選択肢を比較:DNSBL参照や受信者PCでのハッシュ照合はSPFの手順に該当しないため除外する。
選択肢別の誤答解説
- ア: 「送信元IPから送信元ドメインを検索してDNSBLに照会」
誤り。DNSBL(IPのブラックリスト)はスパム判定に使われることがあるが、SPFの検証手順は「送信元ドメインのDNSにあるSPF(TXT)レコードと送信元IPを照合する」ことであり、DNSBL参照を必須とするものではありません。 - イ: 正しい。受信側メールサーバが接続元IPと送信元ドメインのDNSに記載された許可IP(SPFレコード)を照合する動作を述べています。
- ウ: 「送信元ドメインから送信元メールサーバのIPを検索してDNSBLに照会」
誤り。SPFはドメイン側に許可IPを置き、受信側が接続IPと照合する方式です。DNSBL照会は別処理であり、SPFの本質を外しています。 - エ: 「受信者のPCがドメインから算出したハッシュ値と受信メール添付のハッシュを照合」
誤り。メッセージの署名やハッシュ照合はDKIMに近い概念ですが、DKIMでは送信側が秘密鍵で署名し、受信側(通常は受信メールサーバや検証エージェント)が送信元ドメインのDNSに公開された公開鍵で署名を検証します。受信者のPCが必ず照合するわけではありませんし、これはSPFの動作ではありません。
よくある誤解
- SPFは「From: ヘッダ」を検証すると思っている
→ 実際は主にSMTPのMAIL FROM(Return-Path)やHELOドメインを基に検証します。メールクライアントの表示用FromヘッダはSPFの検証対象とならないため、表示上の差異に注意が必要です。 - SPFがあればメール偽装は完全に防げると思う
→ SPFは有効ですが、転送を受けると元の送信IPと転送先の接続IPが異なり検証が失敗することがあります(転送問題)。そのためDKIMやDMARCと組み合わせて運用するのが実務的です。 - DKIM検証は必ず受信者PCが行うと思っている
→ DKIMの署名検証は通常受信メールサーバや検証エージェントが行います。送信側が秘密鍵で署名し、検証は受信側がDNSにある公開鍵で行う点を押さえてください。
補足コラム
- SPFレコードの例(DNS TXTレコード)
v=spf1 ip4:203.0.113.5 include:_spf.example.com -all
- v=spf1: バージョン指定
- ip4:許可するIPv4アドレス
- include: 他ドメインのSPFを参照
- -all: これ以外は拒否(fail)
- SPFの結果には一般に pass / fail / softfail / neutral などがあり、受信側ポリシーによって扱い(受信拒否・隔離・受信許可など)が異なります。
- DKIMはメッセージの改ざん検出に向き、署名は送信者側の秘密鍵で行い、公開鍵は送信ドメインのDNSに公開され、受信側で検証されます。DMARCはSPFとDKIMの結果を利用して送信ドメインのポリシー(処理方法)を指定します。
FAQ
Q1: SPFはどのSMTPフィールドを使って検証しますか?
A1: 主にMAIL FROM(Return-Path)ドメインおよびHELO/EHLOドメインを使います。表示用のFromヘッダは直接の検証対象ではありません。
A1: 主にMAIL FROM(Return-Path)ドメインおよびHELO/EHLOドメインを使います。表示用のFromヘッダは直接の検証対象ではありません。
Q2: 受信側のメールサーバがSPFに失敗したら必ず拒否されますか?
A2: いいえ。SPF失敗時の扱いは受信側ポリシーによります。拒否、隔離(迷惑メール扱い)、またはそのまま受信のいずれかです。DMARCポリシーが設定されている場合はその指示に従います。
A2: いいえ。SPF失敗時の扱いは受信側ポリシーによります。拒否、隔離(迷惑メール扱い)、またはそのまま受信のいずれかです。DMARCポリシーが設定されている場合はその指示に従います。
Q3: SPFとDKIM、どちらを優先すべきですか?
A3: どちらも重要で補完関係にあります。SPFは送信元IPの検証、DKIMはメール本文・ヘッダの整合性検証を行うため、両方を適切に設定し、DMARCでポリシー運用するのが推奨されます。
A3: どちらも重要で補完関係にあります。SPFは送信元IPの検証、DKIMはメール本文・ヘッダの整合性検証を行うため、両方を適切に設定し、DMARCでポリシー運用するのが推奨されます。
関連キーワード: SPF、DKIM、DMARC、DNS TXTレコード、メールなりすまし対策、DNSBL、メール転送問題

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

