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

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

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

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

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


$ nslookup 37.188.97.188.abcd65683d.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::

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

無制限の許可MTAのリスト

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

送信MTAのIPリストの露出の防止

従来のSPFの仕組みでは、登録してある許可MTAのIPリストが全てレスポンスに含まれるため、攻撃者は攻撃対象のIPリストを容易に入手できました。
しかし、SPFマクロの仕組みによって、ピンポイントで、送信MTAのIPについてのみ回答することで、送信MTAのIPリストの露出を防ぐことが可能です。