Gmail などのフリーメールへの送信対策として「必須のSPFレコード」とは
最近フリーメールでは迷惑メールの対策としてSPFレコードが設定されていない送信元からのメールが受信拒否されるようになってしまいました。
しかし重要なメールや企業からのメールなど必要なメールを送信したいときに困りますよね。
SPFとは一体どのようなものなのでしょうか。
SPFレコード(Sender Policy Framework)は、電子メールの送信元を認証するために使用されるDNS(Domain Name System)レコードの一種です。SPFレコードは、スパムやなりすましメール(フィッシング)の防止に役立ちます。
SPFレコードの目的
SPFは、特定のドメインがどのサーバーからメールを送信することを許可しているかを示すための仕組みです。これにより、受信側のメールサーバーは、送信されたメールが正当な送信元から来たものであるかどうかを確認できます。
SPFを使用することで、第三者があなたのドメインを不正に使用してメールを送信するのを防ぎ、ドメインの信頼性を向上させることができます。
SPFレコードの仕組み
- SPFレコードの設定: ドメインのDNSにSPFレコードを設定し、許可されたメール送信サーバーのIPアドレスまたはドメイン名をリストに登録します。
- メール送信時: メールが送信されると、受信側のサーバーは送信者のドメインのDNSからSPFレコードを取得し、メールが許可されたサーバーから送信されたものであるかを確認します。
- SPFチェックの結果: SPFの確認結果に基づき、受信側のサーバーは次のいずれかの対応を取ります。
- PASS: 送信元がSPFレコードで許可されている場合、メールを受け入れます。
- FAIL: 送信元が許可されていない場合、メールを拒否したり、スパムとして扱ったりします。
- SOFTFAIL: 許可されていないが、確実に拒否するほどではない場合、メールは受け取るがスパムマークを付けるなどの処理を行うことがあります。
- NEUTRAL: SPFレコードの判断ができない場合、特に処理をしません。
SPFレコードの構文
SPFレコードは、DNSに「TXTレコード」として追加され、次のような形式で指定します。
SPFレコードの例:
v=spf1 ip4:192.168.1.1 include:example.com -all
この例の各要素の意味は次の通りです。
v=spf1
: SPFレコードのバージョン。必須で、SPFレコードの始まりを示します。ip4:192.168.1.1
: このIPアドレス(192.168.1.1)がメールを送信することを許可します。IPv4アドレスを指定しています。include:example.com
:example.com
のSPFレコードも含めて、そのルールに従います。つまり、このドメインの送信許可リストも適用されます。-all
:-all
は「許可されていないサーバーからのメールは拒否する」という指示です。他に~all
(softfail)や?all
(neutral)などがあります。
SPFレコードのディレクティブ
SPFレコードには、さまざまなディレクティブ(命令)があり、それぞれの意味を持っています。
v=spf1
: SPFレコードのバージョン指定(必須)。ip4:<IPアドレス>
: 指定されたIPv4アドレスからのメール送信を許可。ip6:<IPアドレス>
: 指定されたIPv6アドレスからのメール送信を許可。a
: ドメインのAレコード(DNSが返すIPアドレス)に対応するサーバーからの送信を許可。mx
: ドメインのMXレコードに対応するサーバーからの送信を許可。include:<ドメイン>
: 指定されたドメインのSPFレコードに従う。all
: すべてのメール送信に対するルールを適用する。これに続くプレフィックスによって、処理が異なります。
SPFレコードのプレフィックス
SPFレコードでは、以下のプレフィックスで送信元に対するアクションを指定します。
+
(PASS): 許可する(デフォルト、指定は不要)。-
(FAIL): 拒否する。~
(SOFTFAIL): 許可されていないが、警告として処理。?
(NEUTRAL): 中立的な結果として扱い、特に何もしない。
SPFレコードの設定例
- 自分のサーバーのみがメールを送信する場合:
v=spf1 ip4:192.168.1.1 -all
この設定では、
192.168.1.1
からのメール送信を許可し、それ以外のサーバーからの送信は拒否します。 - 他のサービス(例: Google Workspace、SendGrid)を使用する場合:
v=spf1 include:_spf.google.com include:sendgrid.net -all
この設定では、Google WorkspaceとSendGridのサーバーもメール送信を許可します。
SPFと他の認証技術
SPFは単独ではメールのなりすましを完全に防ぐことはできません。そのため、次のような他の認証技術と併用されることが一般的です。
- DKIM(DomainKeys Identified Mail): メールの内容に電子署名を付け、改ざんされていないことを証明します。
- DMARC(Domain-based Message Authentication, Reporting & Conformance): SPFとDKIMを組み合わせ、メールの認証失敗時にどのように処理すべきかを指示するポリシーを設定します。
SPFの利点と制限
- 利点:
- 不正なドメインのなりすましを防ぐ。
- メールサーバーの信頼性が向上し、スパムフィルタを通過しやすくなる。
- 制限:
- メール転送(フォワーディング)ではSPFが失敗する場合がある。
- SPFだけでは、メールの内容そのものの改ざんを防ぐことはできない。
まとめ
SPFレコードは、メールの送信元を認証し、なりすましやスパムを防ぐための重要なDNSレコードです。適切に設定することで、ドメインの信頼性を高め、メール配信の成功率を向上させることができます。また、DKIMやDMARCと組み合わせることで、より強力なセキュリティを実現できます。