MailData

PowerSPF

PowerSPF

PowerSPFとは、SPFを強化した機能です。

PowerSPFの仕組み

PowerSPF機能の詳細図

PowerSPFは、「SPF Flattering」という革新的な機能を備えています。
この機能の理解には、まずSPFのDNS Lookupに関する10回という制限について知る必要があります。

SPFレコードのDNS Lookup制限

SPFレコードには、DNS Lookupが最大10回までという仕様上の制限があります。
自社のメール送信システム(MTA)だけでなく、サードパーティーのメールサービスを使用する場合、この制限を超えることがよくあります。
この制限を超えると、「permerror」というエラーが発生し、10回を超えたところからSPF検証が失敗します。

許可MTAのIPリストの統合

PowerSPFの「SPF Flattering」機能は、許可されたMTAのリストを5分に1回事前に問い合わせてリスト化します。
従来、この問題は、メール管理者の方が手動でincludeの中のIPアドレスを取り出して登録することが行われてきました。
PowerSPFの手法は、MTAのIPアドレスが更新された場合でも、リアルタイムで反映されるため、IPリストは常に最新の状態となります。

この仕組みによって、許可MTAのIPリストは1つだけとなり、DNS Lookupは1回だけで済みます。

SPFマクロ機能によるMTAの隠蔽化

PowerSPFは、2023年夏に仕様を変更し、SPFマクロ機能を使うように実装し直しました。
従来のPowerSPFは、SPFの問い合わせに対して、全てのIPリストを返していましたが、攻撃者にとっては、ドメインのMTAのIPリストを一括で入手できることになります。
そこでWebの隠蔽化と同様に、MTAについても、問い合わせがあったIPについてだけ存在するかどうかを返すことで、MTAのリストを入手できないようにしました。

DNS上では、以下のように登録します。


TXT "v=spf1 include:d5bge7q7zs.powerspf.com -all"

このincludeは、御社専用になります。
この中身は、以下のように記載されています。


"v=spf1 exists:%{i}.d5bge7q7zs.macrospf.powerspf.com -all"

例えば、マルケトのMTA(37.188.97.188)について、問い合わせがあったとしましょう。
すると、以下のように、%{i}の箇所に、当該MTAのIPアドレスが入り、このIPについてのみ、回答が返されます。
IPv4/v6のデュアルスタックの場合は、IPv6のアドレスも返ります。


$ nslookup 37.188.97.188.d5bge7q7zs.macrospf.powerspf.com
Server:         169.254.169.254
Address:        169.254.169.254#53

Non-authoritative answer:
Name:   37.188.97.188.abcd65683d.macrospf.powerspf.com
Address: 37.188.97.188
Name:   37.188.97.188.abcd65683d.macrospf.powerspf.com
Address: 25bc:61bc::

UDPのデータ容量超過の防止

DNSは、基本的にUDPを使います。
UDPは、1パケットあたり512バイトの制限があります。
PowerSPFは、SPFマクロ機能を使うことで、問い合わせがあった送信MTAのIPリストについてのみ、返答を返すことで、UDPのデータ容量超過を防止します。

もしも、IPリストに存在しない場合は、単純にNXDOMAINかNODATAを返します。

無制限の許可MTAのリスト

メルマガ配信や、SFA、請求書発行など各種SaaSを使っていると、DNS Lookup 10回の制限によって、SPFに登録できるincludeの数に限りがあります。
しかし、PowerSPFは、上述のような仕組みであるため、無制限に許可MTAのリストを登録可能です。

分析

分析機能によって、どのMTA/IPアドレスから、何通のメールが送信されているかを確認できます。

診断

診断機能によって、SPFレコードに関連する問題や警告メッセージだけでなく、PowerSPFの助けを借りてそれをどのように修正できるかについての推奨事項を確認できます。