例:偽の送信者からのメッセージを隔離する

一部のスパマーはメールアドレスを偽装して、受信者と同一のドメイン内の送信者からメッセージが送信されているように見せかけます。たとえば、受信者は「XYZ」という会社に勤務していて、会社でのメールアドレスは john@xyz.com です。スパマーは検出を回避するために frank@xyz.com を装う可能性があります。

この手口に対する対策として、ポリシーの「Mail from external hosts」(外部ホストからのメール) のセクションにルールを追加して、同一ドメインのメンバーであることを装っている送信者からのメールをフィルタリングします。ルールでは外部からのメッセージに対して「Envelope from」(送信者) および「Sender」(送信者) の部分にあるドメイン名についてテストします。指定したドメイン名を含むメッセージはすべて隔離されます。

このテストでは、ドメインの正規メンバーが外部から自分のメールアカウントにアクセスするには特定の認証手続きが必要であることを前提にしています。このため、ネットワークの外部が送信元でありながら会社のドメインを含むアドレスは偽であることになります。

PureMessage Manager を使用して偽の送信者からのメッセージを隔離するには

  1. Policy」(ポリシー) タブのサイドバーにある「Backups」(バックアップ) の横の「Create」(作成) をクリックします。現在のポリシーのバックアップが作成されます。現在の日付と時刻を記録したバックアップエントリがサイドバーの「Backups」(バックアップ) セクションに表示されます。
  2. Policy」(ポリシー) タブのサイドバーにある「Policy Rules」(ポリシールール) をクリックして現在のポリシーを表示します。
  3. Mail from external hostss」(外部ホストからのメール) をクリックします。
  4. add rule」(ルールを追加) (「Execute actions and rules」(アクションおよびルールを実行) の横) をクリックします。新規ルールが追加されます。
    1. テストを設定する
      1. 「(New Rule)」(新しいルール) のテキストを「Check for fakesenders」(偽の送信者を確認する) に変更します。
      2. Tests」(テスト) のドロップダウンリストから「Sender's address」(送信者のアドレス) を選択します。
      3. 2番目のドロップダウンリストから「Matches」(一致) を選択します。
      4. その次のテキストボックスに「**@xyz.com」と入力します。
      5. add test」(テストを追加) をクリックします。
      6. ドロップダウンリストから「Envelope from」(送信者) を選択します。
      7. 2番目のドロップダウンリストから「Matches」(一致) を選択します。
      8. その次のテキストボックスに「**@xyz.com」と入力します。
      9. 条件のドロップダウンリストから、「If ANY criteria are met」(いずれかの条件が一致した場合) を選択します。
    2. アクションを設定する
      1. add action」(アクションを追加) をクリックします。これによってアクション設定テンプレートが作成されます。
      2. Execute actions and rules」(アクションおよびルールを実行) のドロップダウンリストで、「Quarantine the message」(メッセージを隔離) を選択します。
      3. 「(Quarantine Reason)」(隔離の理由) の右側にあるテキストボックスに「Fake Sender」と入力します。
      4. add action」(アクションを追加) をクリックします。
      5. 2番目の「rules」(ルール) のドロップダウンリストで「Stop processing」(処理を停止) を選択します。
      6. Save」(保存) をクリックします。
    3. ルールの順序を変更する
      1. Cut」(切り取り) をクリックします。「Check for fake senders」(偽の送信者を確認する) ルールが切り取られたことを示すメッセージがページ上部に表示されます。
      2. Clean mail containing viruses」(ウイルスを含むメールをクリーンアップする) というルールをクリックして選択します。
      3. Paste」(貼り付け) をクリックします。「Check for fake senders」(偽の送信者を確認する) のルールが「Check mail containing viruses」(ウイルスを含むメールを確認する) ルールの下の新しい位置に表示されます。


    4. Commit」(確定) リンクをクリックして、使用中のポリシースクリプトをアップデートします。PureMessage によって Milter が古い設定で実行されていることを知らせるメッセージが表示されます。Milter は再起動しないでください。
  5. 新しいポリシーをテストする:Milter が再起動されていないため、元のポリシーが使用されています。このため、新しいポリシーは「ライブ」に設定せずにテストできます。
    1. Policy」(ポリシー) タブのサイドバーにある「Test Current Policy」(現在のポリシーをテストする) をクリックします。「Test Current Policy」(現在のポリシーをテストする) ページが表示されます。
    2. Select Relay Type」(リレータイプを選択) のドロップダウンリストから、「External」(外部) を選択します。
    3. Envelope From」(送信者) テキストボックスに以下を入力します。frank@xyz.com.
    4. message source」(メッセージソース) のテキストボックスに表示されているデフォルトのテキストを編集しないでください。
    5. Test」(テスト) をクリックします。テストの実行および結果が表示されます。テストメッセージの「Delivery Actions」(配信アクション) は「quarantine: Fake_Sender」(隔離: 偽の送信者) であることにご注意ください。「Details」(詳細) リストボックスでスクロールダウンしてテスト結果を表示します。
  6. 新しいポリシーで問題ない場合、「Restart now」(今すぐ再起動) をクリックして Milter を再起動し、新しいポリシーをライブに設定します。元のポリシーを復元する場合、バックアップのリンクをクリックして、「OK」をクリックします。

ポリシースクリプト

ポリシースクリプトを手動で編集して偽の送信者からのメッセージを隔離するには

# attr NAME=Mail from external hosts
else {
    pmx_add_header "X-PMX-Version" "%%PMX_VERSION%%";
    pmx_mark "Size" "%%MESSAGE_SIZE%%";
    # attr NAME=Clean mail containing viruses
    if pmx_virus {
        pmx_file "Virus";
        pmx_virus_clean "cantclean.tmpl";
        pmx_replace_header "Subject" "[PMX:VIRUS] %%SUBJECT%%";
        pmx_replace_header "X-PerlMx-Virus-Detected" "%%VIRUS_IDS%%";
    }
    # attr NAME=Check for fake senders
    if anyof(address :all :matches :comparator "i;ascii-casemap" ["from"]
                                                                 ["**xyz.com"],
    envelope :comparator "i;ascii-casemap" :all :matches ["from"]
                                                         ["**xyz.com"])
    {
        pmx_quarantine "Fake Sender";
        stop;
    }

コマンドラインからのポリシースクリプト変更の詳細については、ポリシースクリプトのチュートリアルをご覧ください。