Becky! S25R spamフィルタ

このプラグインは浅見秀雄さんが開発されたSelective SMTP Rejection方式(以下S25R方式)を応用したBecky!用のspamフィルタです。 S25R方式とは、 ADSLやケーブルネットワークなどのエンドユーザー用回線からメールサーバを経由せずに直接来たと推定されるSMTPアクセスを選択的に拒絶するというもので、 spamやウィルスメールを約99%阻止できる効果があります。 詳しくは以下のページをご覧ください。

特徴

メリットとして以下のものがあります。

  • 学習の必要がない
  • 操作が簡単

デメリットは以下になります。

  • 一通ごとにIPアドレスからホスト名の逆引きを行うので遅い
  • カスタマイズしようとするとわかりづらいかも

使用可能条件

  • プラグインを使用しているマシンで、 インターネットのDNS逆引き検索が可能なことを条件としますが、 オプションを設定することで使えるようになるかもしれません。
  • Windows98/Meでは逆引きのタイムアウト設定ができません。

ダウンロード

以下のリンクからダウンロードできます。

変更点はこちらに記載されています。

判定の流れ

  1. メールのReceived:行から「除外するアドレス」に該当しないIPアドレスを探し出します。
  2. IPアドレスで記述されたホワイトリストを試し、 該当するものをhamとします。
  3. IPアドレスで記述されたブラックリストを試し、 該当するものをspamとします。
  4. IPアドレスのホスト名を逆引きします。 逆引きできなかった場合はspamとします。
  5. ドメイン名で記述されたホワイトリストを試し、 該当するものをhamとします。
  6. ドメイン名で記述されたブラックリストを試し、 該当するものをspamとします。
  7. S25R方式でspamを判定します。
  8. spamと判定されたメールにヘッダを追加します。
  9. spamと判定されたメールをごみ箱に移動します。

メールに追加されるヘッダ

BkS25Rプラグインはメールをspamと判定した際に、 判定理由をデフォルトでX-BkS25R-Spam:というヘッダに記録します。 「ごみ箱に捨てる」のチェックをはずし、 「フォルダへの振り分けルール」を設定することで、 受信時に指定するフォルダへ振り分けることが可能です。

「ごみ箱」以外のフォルダにspamメールを振り分ける場合、 通常はヘッダに「X-BkS25R-Spam」を、 文字列に「type」を指定し、 「フィルタリングマネージャ」ダイアログで適切な優先順位を設定します。

なお、 このヘッダ文字列はオプションで変更することが可能です。

X-BkS25R-Spam: type=blacklist

ブラックリストに該当する場合、 このヘッダが記録されます。

X-BkS25R-Spam: type=lookup failed

逆引きがタイムアウトした際に、 このヘッダが記録されます。

X-BkS25R-Spam: type=rule1〜6

S25Rのルールに該当した際に、 このヘッダが記録されます。 番号は設定画面に書かれている正規表現の順番です。

プラグインの設定

Becky!のメニューから [ツール][プラグインの設定][Becky! S25R spamフィルタ] を選択すると、 プラグインの設定ダイアログが表示されます。

ごみ箱に捨てる

この項目をチェックをすると、 受信時にspamと判定されたメールを「ごみ箱」フォルダに移動します。

付加するヘッダ

spam判定時に付加するヘッダ文字列を指定します。 デフォルトでは「X-BkS25R-Spam」というヘッダが記録されます。

逆引きできないメールをspamとする

この項目をチェックをすると、 逆引きがタイムアウトした際にそのメールをspamと判定します。

Received:行のホスト名

この項目はそれぞれ次の動作を行います。

使用せず逆引きを行う
Received:行に記録されているホスト名にかかわらず逆引きを行います。
ホスト名がある場合は逆引きを行わない
Received:行に記録されているホスト名を優先して使用します。
ホスト名がある場合は逆引きを行わないが、unknownの場合は逆引きを行う
Received:行にホスト名が無い場合、 もしくはunknownだった場合に逆引きを行います。

タイムアウト

逆引きを行う際のタイムアウトをミリ秒単位で指定します。 この項目はWindows98およびWindowsMeでは動作しません。

除外するアドレス

検査を行うReceived:行の対象から外したいIPアドレスを列挙します。 通常は内側で使用しているIPアドレスを指定します。

ホワイトリスト/ブラックリスト

S25Rで判定する前に、 こちらで指定したホワイトリストとブラックリストが試されます。

指定はIPアドレス/ネットマスクの形式か、 マッチするドメイン名を記載してください。 IPアドレスの形式で指定する場合は以下のように設定します。

1
192.168.1.0/16

特定のIPアドレスだけを対象とする場合、 ネットマスクは不要です。 またドメイン名を指定する場合はマッチする部分をそのまま記載してください。

1
.hotmail.com

IPアドレスで指定された場合は逆引きの前に、 ドメイン名で指定された場合は逆引き後に判定が行われます。

S25R正規表現

S25Rのルールを表す正規表現を記述します。 変更する必要はあまりないと思われます。

Received:行

Received:行にマッチする正規表現を記述します。 ここに指定する正規表現には二つのグループを記述する必要があります。 最初のグループはホスト名に、 2番目のグループはIPアドレスにマッチするよう記述してください。

「Received:行の検査」で見つけられないReceived:行があった場合、 この項目を追加してください。

追加されるメニュー

BkS25Rをインストールすると、 以下の二つのメニューが追加されます。

spamフィルタを行わない

Becky!のメニュー[ツール]に追加されます。 この項目にチェックが付いている場合は、 BkS25Rプラグインの機能が停止します。

Received:行の検査

メールを選択し、 右クリックで表示されるメニューに「Received:行の検査」が追加されます。 検査を実行すると、 選択したメールのReceived:行から見つけたIPアドレスを調査します。 spam判定の対象とするアドレスは先頭のカラムに'*'を表示し、 spamと判定されるアドレスおよびホスト名は赤く表示されます。

質問と回答

  • 認識率はどのくらいなのでしょうか

    詳しいデータが取られていません。 作者の環境では特に日本語で書かれたspamの認識率が、 ベイジアンフィルタを使ったものより良いようです。

  • spamを判定してくれません

    使用しているメールサーバのグローバルIPを調査の対象としている可能性があります。 該当するメールを選択し、 Received:行の検査を実行してください。 調査の対象が使用しているメールサーバだった場合はそのアドレスを選択し、 「除外するアドレス」に加えるボタンを押してください。

  • 誤認識が多いようです

    ホワイトリストを活用してみてください。

  • 自分宛に出したメールがspamに分類されます

    自分に与えられているグローバルアドレスが調査の対象とされている可能性があります。 Received:行の検査を実行し、 該当するようならばホワイトリストに加えてください。

  • 逆引きが可能か確かめる方法はありますか

    コマンドプロンプトからnslookupコマンドを実行することで確かめることができます。 まずnslookupを以下のように実行し、

    1
    2
    3
    4
    5
    6
    
    C:>nslookup a.dns.jp
    Server:  …
    Address:  …
    
    Name:    a.dns.jp
    Address:  203.119.1.1
    

    次いで表示されたIPアドレスでnslookupを実行します。

    1
    2
    3
    4
    5
    6
    
    C:>nslookup 203.119.1.1
    Server:  …
    Address:  …
    
    Name:    a.dns.jp
    Address:  203.119.1.1
    

    ドメイン名が正常に表示されれば使用できます。

  • 逆引きが使えないのですがどのように設定するのでしょうか

    オプションの全般タブ、 逆引き欄で「逆引きできないメールはspamとする」のチェックをはずし、 「Received:行のホスト名を優先して使用する」にチェックを入れてください。 使用しているメールサーバが逆引きのホスト名を記録しているならばこのホスト名を優先して使用し、 プラグイン自身でのホスト名調査を行いません。

  • 指定したフォルダにspamメールが移動しません

    spamを移動するように設定したフォルダの、 フィルタリングの優先順位が低い可能性があります。 Becky!のメニューから[ツール][フィルタリングマネージャ]を選択し、 表示された「フィルタリングマネージャ」ダイアログで優先順位を設定してください。

  • アンインストールが出来ません

    アンインストールは手動で行う必要があり、 Becky!のプラグインフォルダからプラグインを削除することにより行われます。 Becky!が標準でインストールされている場合は、 C:\Program Files\RimArts\B2\PlugIns\bks25r.dllというファイルを削除してください。

謝辞

すばらしいspam対策法を開発された浅見秀雄さん、 Becky!の販売とPlug-In SDKを公開されているRimArts様、 ならびにプラグイン用インストーラの開発および公開をされている上村亮さんに感謝します。

連絡先

hiro@hogelande.com
http://www.hogelande.com/hiro/


添付ファイル: fileBkS25R120.EXE 6702件 [詳細] fileBkS25R119.EXE 1200件 [詳細] fileBkS25R118.EXE 1870件 [詳細] fileBkS25R117.EXE 1315件 [詳細] fileBkS25R116.EXE 1283件 [詳細] fileBkS25R115.EXE 1300件 [詳細] fileBkS25R114.EXE 1440件 [詳細] fileBkS25R113.EXE 2489件 [詳細] fileBkS25R112.EXE 2910件 [詳細] fileBkS25R109.EXE 1901件 [詳細]

Last-modified: 2009-06-01 (月) 11:29:36 (2857d)