ポリシースクリプト 1:「Scan and Deliver Internal Messages」(内部メールに含まれるウイルスを検索して配信)

pmx_test_mark;
# attr NAME=Mail from internal hosts
if pmx_relay :memberof "internal-hosts" {
    # The 'pmx-mlog-watch' depends on this to know which messages
    # are outgoing and which are not.
    pmx_mark1 "i";
    # attr NAME=Reject mail containing viruses
    if pmx_virus {
        reject "One or more viruses were detected in the message.";
        stop;
    }
}

説明:

  • pmx_test_mark コマンドが「pmx-test 」プログラムによって送信されたサンプルファイルを識別するのに使用されます。
    このコマンドを使用するとリレーテストに遅延が発生するため、大量のメールを処理するサイトを運営している場合、このアクションを無効に設定することをお勧めします。詳細については、pmx-policy の man ページをご覧ください。
  • pmx_relay テストで「internal-hosts」リストで定義されたリレーから送信されてきたメッセージが検出された場合
    • pmx_mark1 コマンドによって、「Perimeter Protection」(境界防御) を有効にする「i」マークがメッセージログに追加され、内部ホストと送信メッセージが区別されます。フィルタリング処理中に追加された「マーク」はメッセージに蓄積されていきます。これらのマークを使用して、後でカスタマイズされた統計レポートを生成できます。
  • pmx_virus コマンドは、メッセージにウイルスが含まれていないかどうかを検索します。メッセージがウイルスを含む場合
    • 「One or more viruses were detected in the message」(メッセージ内で 1つまたは複数のウイルスが検出) という理由でメッセージは拒否されます。
    • stop コマンドによってメッセージの処理が終了します。