ビュー:

TMEmS/V1ECS には InterScan Messaging Security Virtual Appliance (以下、IMSVA) と 同様、SPF (Sender Policy Framework) の認証機能 (検証機能) が実装されています。

TMEmS/V1ECS では SPF ルール (SPF 設定) を設定することで エンベロープの送信者 を偽装する なりすましメール を検出できます。

TMEmS/V1ECS における SPF 認証は受信保護のトラフィック (外部から内部宛) のみに用意されており、送信保護のトラフィック (内部から外部宛) は対象外です。

SPF (Sender Policy Framework) の仕組み

SPF は送信者を偽装する なりすましメール (スプーフィングメール) を防止する送信ドメイン認証のひとつです。

TMEmS/V1ECS において SPF ルールを設定する上で SPF の仕組みを理解することが必要です。そのため、ここでは SPF における送信ドメイン認証の仕組みを簡単に説明します。

SPF の仕様は RFC 7208 にインターネット標準として規定されています。詳しくはWeb等のリソースを参照してください。

検証するドメイン

SPF では エンベロープの送信者 (SMTP トランザクションにおける MAIL FROM のコマンドに指定されたメールアドレス) のドメインを検証します。

配信不能通知 (バウンスメール) などエンベロープの送信者に null ("<>") が指定されている場合、SMTP クライアント (配送元のメールサーバやメールクライアント) が HELO/EHLO コマンドに指定するホスト名が検証ドメインとなります。

SPF レコード

送信者ドメインが SPF の送信ドメイン認証に対応している場合、ドメイン所有者は DNS に SPF レコードを設定し、ドメインの「ポリシー」として接続元 (送信元) のIPアドレスが指定したIPアドレスであった場合、あるいは指定外のIPアドレスであった場合にどの判定とするか、指示しています。

trendmicro.com も含め、現在、多くのドメインが SPF に対応しています。

例えば example.com の DNS に SPF レコードとして以下のような TXT レコードが設定されているとします。

v=spf1 ip4:203.0.113.1 ip4:198.51.100.0/24 include:spf.tmes.trendmicro.com ~all

"ip4:203.0.113.1"、"ip4:198.51.100.0/24"、"include:spf.tmes.trendmicro.com"、そして "~all" はそれぞれディレクティブ (directive) と呼ばれ、example.com の SPF レコードは 4つ のディレクティブで構成されています。

また、"~all" の ~ (チルダ) は限定子 (qualifier) と呼ばれ、この限定子がディレクティブに指定されていない場合、+: の限定子が付加されているみなされます。そのため、"ip4:203.0.113.1" は "+ip4:203.0.113.1"、"ip4:198.51.100.0/24" は "+ip4:198.51.100.0/24" と記述されていることと同じです。

限定子が + の場合には pass、限定子が - の場合には fail、限定子が ~ の場合には softfail、そして限定子が ? の場合には neutral と評価するよう SPF レコード上で指示されていることになります。

"include" や "all" は機構 (mechanism) と呼ばれ、評価方法が "ip4:203.0.113.1"、"ip4:198.51.100.0/24" のような一般的なディレクティブと異なります。

include 機構

"include:spf.tmes.trendmicro.com" は spf.tmes.trendmicro.com の SPF レコードが「インクルード」されており、spf.tmes.trendmicro.com の SPF レコードを再帰的に評価するよう指示していることを意味します。

spf.tmes.trendmicro.com の SPF レコードには以下のように 11個 のディレクティブが設定されており、"include:spfb.tmes.trendmicro.com" ではさらに spfb.tmes.trendmicro.com の SPF レコードをインクルードしています。

spf.tmes.trendmicro.com.	300	IN	TXT	"v=spf1 ip4:18.208.22.64/26 ip4:18.208.22.128/25 ip4:18.185.115.128/26 ip4:18.185.115.0/25 ip4:13.238.202.0/25 ip4:13.238.202.128/26 ip4:18.176.203.128/25 ip4:13.213.174.128/25 ip4:18.177.156.0/25 ip4:13.213.220.0/25 include:spfb.tmes.trendmicro.com ~all"

さらに spfb.tmes.trendmicro.com の SPF レコードには以下のように 13個 のディレクティブが設定されています。

spfb.tmes.trendmicro.com.	300	IN	TXT	"v=spf1 ip4:18.188.9.192/26 ip4:18.188.239.128/26 ip4:34.253.238.128/26 ip4:34.253.238.192/26 ip4:52.202.71.114 ip4:54.145.52.119 ip4:35.156.245.132 ip4:18.156.0.20 ip4:3.74.126.139 ip4:3.72.196.143 ip4:3.212.20.253 ip4:34.225.87.138 ~all"

インクルードされた SPF レコードを再帰的に検証した際、fail, softfail または neutral と評価されたとしてもその評価は無視され、マッチしないとして次のディレクティブを評価します。

・上記に記載されている spf.tmes.trendmicro.com と spfb.tmes.trendmicro.com の SPF レコードは 2023/8/15 現在のものです。今後、変更される可能性があります。
[2024/5/29 追記]日本リージョンをご利用のお客様向けに、SPFレコードの変更に関するアップデートがございます。詳細はこちらをご参照ください。

all 機構

SPF レコードの最後にある "~all" では、すべてのIPアドレスに対して限定子に応じて評価するよう指示しています。上記の example.com の SPF レコードのように "~all" の場合にはすべてのIPアドレスに対して softfail と評価するよう指示しています。もし "-all" であれば fail と評価するよう、もし "?all" であれば neutral と評価するよう指示しています。

この all の記述でなりすましメールと判定された場合の SPF の評価が決定します。

最終的に example.com の SPF レコードから example.com の SPF ポリシーが以下となっていることがわかります。

  • 接続元IPアドレスが 203.0.113.1 の場合、送信元は正当なため pass と評価する (ip4:203.0.113.1)
  • 接続元IPアドレスが 198.51.100.0/24 のIPアドレスの範囲にある場合、送信元は正当なため pass と評価する (ip4:198.51.100.0/24)
  • 接続元IPアドレスがインクルードしている spf.tmes.trendmicro.com および spfb.tmes.trendmicro.com の SPF レコードに記述されている場合、送信元は正当なため pass と評価する (include:spf.tmes.trendmicro.com, include:spfb.tmes.trendmicro.com)
  • 接続元IPアドレスが上記以外の場合、送信元が正当な可能性もあるため、弱い拒否として softfail と評価する (~all)

SPF の仕様上、インクルードされている SPF レコードも含め、SPF レコードの検証時に DNS クエリが発生する回数は最大 10回 に制限されています。それ以上の回数の DNS クエリが発生する SPF レコードが設定されている場合、Permerror と評価されて SPF の認証に失敗する可能性があるため、SPF レコードの設定には注意が必要です。

なお、TMEmS の SPF レコードである spf.tmes.trendmicro.com には spfb.tmes.trendmicro.com の SPF レコードが含まれているため、spf.tmes.trendmicro.com をインクルードした場合、そのチェックに DNS クエリが 2回 発生します。今後、そのクエリ回数が増えるような SPF レコードの変更は予定されていません。

次の セクション では SPF の検証側がどのように検証して評価するのかを説明します。

SPF の評価

SPF レコードは左から右に順に評価され、接続元IPアドレスがディレクティブにマッチした時点で検証を終了します。

同様に example.com の SPF レコード を例に SPF レコードがどのように検証されていくか、説明します。

  1. まず "ip4:203.0.113.1" をチェックします。接続元IPアドレスが 203.0.113.1 であれば pass と評価し、SPF の検証を終了します。接続元IPアドレスが 203.0.113.1 でなければ次のディレクティブに進みます。

  2. 次に "ip4:198.51.100.0/24" をチェックします。接続元IPアドレスが 198.51.100. 1 であれば 198.51.100.0/24 のIPアドレスの範囲に含まれるため pass と評価し、SPF の検証を終了します。接続元IPアドレスが 198.51.100.0/24 のIPアドレスの範囲になければ次のディレクティブに進みます。

  3. include 機構 の "include:spf.tmes.trendmicro.com" を再帰的に評価します。

    spf.tmes.trendmicro.com の SPF レコードに記述されている "ip4:18.208.22.64/26" や "ip4:18.208.22.128/25" のディレクティブを 1 や 2 の要領で順にチェックします。接続元IPアドレスがマッチすれば pass と評価し、SPF の検証を終了します。

    "include:spfb.tmes.trendmicro.com" 以前のディレクティブに接続元IPアドレスがマッチしなければ "include:spfb.tmes.trendmicro.com" を再帰的に評価します。

    同様に spfb.tmes.trendmicro.com の SPF レコードに記述されているディレクティブを 1 や 2 の要領で順にチェックし、接続元IPアドレスがマッチすれば pass と評価し、SPF の検証を終了します。接続元IPアドレスがマッチしなければ example.com の SPF レコードに戻り、次のディレクティブに進みます。

  4. example.com の SPF レコードで残されたディレクティブは "~all" です。all 機構 に指定されている限定子は ~ (チルダ) であるため softfail と評価し、SPF の検証を終了します。

送信者のドメインにそもそも SPF レコードが存在しない、DNS に接続できない、SPF レコードの記述に問題があるなどの場合には、それぞれ none, temperror, permerror と評価します。

SPF の評価結果 (検証結果) をまとめると以下の表となります。

評価説明
Pass接続元IPアドレスが "+" と判定された場合。明示的に許可する場合に使用。
Fail接続元IPアドレスが "-" と判定された場合。明示的に拒否する場合に使用。
Softfail接続元IPアドレスが "~" と判定された場合。弱い拒否を示す場合に使用。
Neutral接続元IPアドレスが "?" と判定された場合。許可/拒否を示さない場合に使用。
Noneドメインに SPF レコードがない場合など。
Permerrorドメインの SPF レコードの記述に問題があり、評価できなかった場合
TemperrorDNS サーバに接続できないなど、一時的なエラーで評価できなかった場合

このようにメッセージを受信するメールサーバ側で SPF 認証が実装されると、接続元IPアドレスと SPF レコードに提示されているポリシーを照らし合わせ、送信元のホストが正当かどうか判断できるようになります。

SPF 認証により送信元が正当なホストと確認できなければ送信者を偽装した なりすましメール である可能性が高くなり、TMEmS/V1ECS の SPF ルール (SPF 設定) を活用することで標的型攻撃を始めとする脅威を未然に防止できる可能性も高まります。

次の セクション では、TMEmS/V1ECS において実際にどのように SPF 認証 (SPF ルール) を有効化するのか、その設定について説明します。

受信保護のトラフィックでは外部から内部宛のメッセージは TMEmS/V1ECS のメールサーバを経由してユーザのメールサーバに配送されるため、ユーザのメールサーバで SPF の認証を行っている場合、検証する接続元IPアドレスは必ず TMEmS/V1ECS のIPアドレスとなります。

送信者である外部ドメインの SPF レコードには通常 TMEmS/V1ECS の SPF レコード はインクルードされていないため、ユーザのメールサーバでは SPF の認証に失敗します。そのため、ユーザのメールサーバでは SPF の認証を行わないか、TMEmS/V1ECS のIPアドレス を SPF 認証から除外してください。

SPF ルールの有効化

TMEmS/V1ECS において SPF 認証を有効化するには、管理コンソールの [受信保護設定] > [ドメインベース認証] > [Sender Policy Framework (SPF)] の画面で SPF ルール を有効化します。

SPF ルールは初期設定では無効化されているため、以下の手順で有効化してください。

  1. まず、管理コンソールの [受信保護設定] > [ドメインベース認証] > [Sender Policy Framework (SPF)] の画面を開きます。

    初期設定では管理対象ドメイン (宛先ドメイン) が「初期設定 (ドメインが未指定の場合)」となる SPF ルールが用意されていますので、クリックして設定画面を開きます。管理ドメインとして複数のドメインを登録しており、各管理ドメインごとに設定したい場合には [追加] ボタンから管理対象ドメインを選択し、SPF ルールを新規に作成してください。

  2. SPF ルールの設定画面が表示されますので、まず「SPFを有効にする」にチェックを入れます。

    さらに「Xヘッダをメールメッセージに挿入する」のオプションにチェックを入れ、メッセージが SPF ルールによりチェックされた際、メッセージヘッダに X-TM-Received-SPF ヘッダが追加されるように設定します。

    X-TM-Received-SPF ヘッダが追加されると SPF の評価結果をメッセージヘッダから容易に確認できるようになりますので、「Xヘッダをメールメッセージに挿入する」のオプションの有効化を推奨します。X-TM-Received-SPF ヘッダに表示される内容のサンプルはオンラインヘルプ(TMEmS / V1ECS) の 手順5 で確認できます。

  3. 次に 処理 のセクションにおいて各評価結果 (Fail, SoftFail, Neutral, None, PermError, TempError) に対してメッセージをどのように処理するか、設定します。

    初期設定では評価結果が Fail の場合のみ「メッセージ全体を削除」が選択されており、それ以外の評価には「メッセージをインターセプトしない」が選択されています。例えば SPF 認証に失敗したメッセージを隔離するのであれば、各評価結果ごとに「隔離」に処理方法を変更します。

    • SPF の評価結果が Pass の場合、処理は常に「メッセージをインターセプトしない」となります。

    • SPF ルールによって検出された際、件名にタグを挿入した上で「メッセージをインターセプトしない」で配送するのであれば、タグ付けと通知 のセクションで任意の文字列をタグに設定した上で「件名にタグを挿入」にチェックを入れてください。

    • SPF ルールによって検出された際、通知を送信するのであれば、[管理] > [ポリシーオブジェクト] > [通知] の画面において任意の通知設定を作成した上で タグ付けと通知 のセクションにある「通知メッセージ」のリンクをクリックして作成した通知設定を選択し、「通知を送信」にチェックを入れてください。

    • エンドユーザコンソールまたは隔離通知の機能を利用している環境では管理コンソールの [隔離] > [エンドユーザメール隔離設定] において「SPF」の隔離理由に対して 表示処理を適用 を有効化することで、SPF ルールによって隔離されたメッセージを エンドユーザコンソールと隔離通知の管理対象 に設定できます。

  4. 設定が完了したら [保存] または [追加] ボタンで設定を保存します。

SPF の評価結果が Pass で SPF の認証に成功した場合、管理コンソールの [ログ] > [メール追跡] の画面でメッセージを検索すると、ログの日時をクリックして表示される 詳細画面 では 処理 のセクションにある 評価済みポリシー に「条件不一致 (SPFルール)」と表示されます。

SPF の評価結果が Fail や SoftFail で SPF 認証に失敗し、SPF ルールにより検出された場合、メール追跡の詳細画面では 評価済みポリシー に以下のように表示されます。

メッセージ削除済み (SPFルール)
SPFの結果: Fail

一方、検出されたメッセージは管理コンソールの [ログ] > [メール追跡] の画面で検索できますが、ポリシーイベントでは SPF の評価結果が Fail の場合のみ SPF ルールで検出されたメッセージを検索できる仕様となっています。

SPF の評価結果が Fail で検出された場合にはポリシーイベントのログでは 検出理由 として 脅威の種類 に「ドメインベース認証」、サブタイプ に「SPF」と表示されますが、SPF の評価結果が SoftFail や Neutral で検出された場合にはポリシーイベントでは検索できません。

また、SPF ルールでは送信者に応じて SPF ルールを適用するかどうか選択できません。

特定の送信者ドメインに対してのみ検出したい場合や、評価結果が Fail の場合だけでなく SoftFail や Neutral などで検出された場合もポリシーイベントでログを確認したい場合には次の セクション を参考に任意に設定してください。

SPF ルールとコンテンツフィルタを組み合わせた検出

SPF ルール ではすべての送信者ドメインが対象となり、特定のドメインのみ SPF ルールで検出できません。

例えば管理ドメインのメールアドレスに送信者を偽装する なりすましメール のみを隔離するのであれば、以下の手順を実施してください。

  1. まず、管理ドメインの SPF レコードにおいて末尾に指定されている all 機構 に指定されている限定子から SPF 認証に失敗した場合の評価を確認してください。例えば "~all" が指定されていれば評価結果は softfail、"-all" が指定されていれば fail となります。

  2. 次に、SPF ルールを有効化していない環境では こちら の手順で SPF ルールを有効化します。その際、評価結果の処理にはすべて「メッセージをインターセプトしない」を設定します。

    すでに SPF ルールを有効化済みの環境では、管理コンソールの [受信保護設定] > [ドメインベース認証] > [Sender Policy Framework (SPF)] の画面で有効化されている SPF ルール (SPF 設定) をクリックして設定画面を開き、すべての評価結果に対して処理を「メッセージをインターセプトしない」に変更して設定を保存してください。

    • 「Xヘッダをメールメッセージに挿入する」のオプションが有効化されていることを必ず確認してください。

    • 「件名にタグを挿入」と「通知を送信」を有効化している場合には無効化してください。

  3. 管理コンソールの [管理] > [ポリシーオブジェクト] > [キーワードおよびパターン] の画面を開き、[追加] ボタンから以下のようなキーワードリストを作成します。

    名前: 任意の名前
    条件: 指定したいずれかのキーワード
    キーワード/正規表現: ^SoftFail

    上記例では、手順1 で確認した管理ドメインの SPF 認証に失敗した場合の評価が softfail となっていたため、キーワード/正規表現 に ^SoftFail の正規表現を登録しています。

    手順1 で確認した管理ドメインの SPF 認証に失敗した場合の評価が fail の場合にはキーワード/正規表現 に ^Fail の正規表現を登録します。

    • 正規表現のメタ文字である ^ (キャレット) は文字列の先頭を意味します。

      また、「大文字と小文字の区別」は有効化しません。

    • SPF 認証で評価が none, permerror および temperror であった場合も検出するのであれば、^None, ^PermError, ^TempError の正規表現 (キーワード/正規表現) を追加してください。

  4. 管理コンソールの [受信保護設定] > [コンテンツフィルタ] の画面を開き、[追加] ボタンから任意の名前でポリシールールを作成します。

    受信者と送信者 のセクションでは受信者・送信者とも「所属する組織」を選択します。

    検索条件 のセクションでは「指定したヘッダが次のキーワードに一致する」を選択し、「キーワード」のリンクをクリックします。「その他」を選択し、X-TM-Received-SPF と入力します。「使用可能」のリストから 手順3 で作成したキーワードリストを選択し、[追加 >] ボタンをクリックして「選択済み」に移動し、[保存] ボタンで設定を保存します。

    処理 のセクションでは「隔離」を選択します。

    最後に [送信ボタン] をクリックすると新たにポリシールールが作成されます。

    • ポリシールールで検出した際に通知を送信するのであれば、[管理] > [ポリシーオブジェクト] > [通知] の画面において任意の通知設定を作成した上でポリシールールの 処理 のセクションにおいて「通知送信」を選択し、「通知メッセージ」のリンクをクリックして作成した通知設定を選択してください。

    • メッセージを隔離せず、件名にタグを挿入して配送するのであれば、「メッセージをインターセプトしない」に加えて「件名にタグを挿入」を選択した上で任意の文字列をタグに入力してください。

作成したポリシールールで検出された場合、管理コンソールの [ログ] > [ポリシーイベント] の画面では 検出理由 として 脅威の種類 に「コンテンツ」と表示されたログが検索されます。

SPF ルールから除外する方法

正当なメッセージが SPF 認証に失敗して SPF ルールで処理された場合、その要因はドメインの SPF レコードが適切に設定されていないことにあります。そのため、原則、製品側では対処できません。

しかし、製品側の回避策として特定の送信者またはIPアドレスからのメッセージを SPF ルールのチェックから除外するのであれば、管理コンソールの [受信保護設定] > [ドメインベース認証] > [Sender Policy Framework (SPF)] にある SPF ルールの設定 において 除外するピア のセクションに送信者 (エンベロープの送信者) または接続元IPアドレス (メール追跡のログでは「送信者IP」のフィールドに表示されます) を登録します。

除外するピアで SPF ルールから除外された場合、メール追跡の 詳細画面 では 評価済みポリシー に以下のように表示されます。

無視 (SPFルール)
除外するピアに一致: 192.0.2.0/24

ポリシールールで検出するよう設定している場合、特定の送信者のメールアドレスで除外するのであれば、作成したポリシールールの「受信者と送信者」の設定にある 除外 セクションに送信者と受信者のペアを登録してください。

IMSVA からの移行

IMSVA から TMEmS/V1ECS に移行した環境では、TMEmS/V1ECS にて再設定が必要となります。
移行に関しては、こちら(TMEmS / V1ECS) をご参照ください。

SPF 認証のみで処理している場合

こちら の 製品Q&A の「設定方法」のセクションにしたがって IMSVA において SPF 認証 (検証) でメッセージの受信を拒否している場合、IMSVA から TMEmS/V1ECS に設定を移行しても SPF 認証の設定は移行されないため、TMEmS/V1ECSでは「SPF ルールの有効化」の手順を参考に SPF ルールを有効化する必要があります。

しかし、TMEmS/V1ECS の SPF ルールは ステージ1 でメッセージを受信後、ステージ2 でチェックされるため、SMTP サーバとしてメッセージを処理する IMSVA/V1ECS の SPF 検証と異なり SPF 認証に失敗した場合にメッセージの受信を恒久的または一時的に拒否することはできません。そのため、IMSVA と TMEmS/V1ECS で同等の動作に設定することはできません。

IMSVA において評価結果に対する処理を bypass に設定している場合、TMEmS/V1ECS では処理に「メッセージをインターセプトしない」を設定しますが、tempblock に設定している場合、TMEmS/V1ECS において同等の処理を設定できません。

また、IMSVA において評価結果に対する処理を block に設定している場合についても、TMEmS/V1ECS において同等の処理を設定できませんが、類似した処理を設定することは可能です。具体的には 管理 > ポリシーオブジェクト > 通知 の画面において送信者に通知を送信する任意の通知設定を作成した上で、タグ付けと通知 のセクションにある「通知メッセージ」のリンクをクリックして作成した通知設定を選択します。そして「メッセージ全体を削除」を選択した上で「通知を送信」にチェックを入れます。

IMSVA において設定ファイル config.ini のパラメータ white_ip にグローバルIPアドレスを入力し、特定の接続元IPアドレスを SPF 認証から除外している場合、TMEmS/V1ECS では「SPF ルールから除外する方法」を参考に SPF ルールの除外するピアにグローバルIPアドレスを登録してください。

また、IMSVA において設定ファイル config.ini のパラメータ white_domain にドメインを入力し、特定の送信者ドメインを SPF 認証から除外している場合、TMEmS/V1ECS では同様に SPF ルールの除外するピアにドメインを登録してください。

ポリシールールで処理している場合

こちら の 製品Q&A の「ポリシールールで検出する」のセクションにしたがって、IMSVA において SPF 認証 (検証) を有効化した上で任意に作成したポリシールールでメッセージを処理している場合、IMSVA から TMEmS/V1ECS に設定を移行すると、IMSVA のポリシールールとキーワードリストは移行されます。

しかし、TMEmS/V1ECS では SPF 認証は初期設定で有効化されていないため、まず「SPF ルールとコンテンツフィルタを組み合わせた検出」の 手順2 を参考に SPF ルールを有効化する必要があります。

IMSVA から TMEmS/V1ECS に移行されたキーワードリストとポリシールールに関しても TMEmS/V1ECS において再設定が必要となります。

まず、IMSVA において設定したキーワードリストに登録されているキーワード (正規表現) によっては TMEmS/V1ECS では移行されたキーワードリストのキーワードを変更する必要があります。状況に応じて 手順3 を参考にキーワードリストに登録されているキーワード (正規表現) を変更してください。

また、TMEmS/V1ECS に移行されたポリシールールに関しては検索条件の設定を必ず変更します。手順4 を参考に「指定したヘッダが次のキーワードに一致する」の「キーワード」のリンクをクリックして表示される設定画面で「その他」に指定されているヘッダ名を Received-SPF から X-TM-Received-SPF に変更してください。