JunkMatcherのセットアップ
JunkMatcher 1.08b (JMC 0.58b)のリリースと同時に元ページに加筆修正があったので、それに合わせて修正しました。
Tuesday, February 24, 2004
このページはBenjamin Hanさんが公開されてる「Fight spam with Mail.app + JunkMatcher」というページの一部、インストールから初期設定までの内容を自分用に日本語で作り直したものです。英訳には自信がありませんので、内容の保証はいたしかねます。
さらに、JunkMatcherはパターンマッチングで迷惑メールを排除しようとしているソフトですから、実際には下記のような設定項目をふまえた上で、正規表現とか駆使しながら使いこなしてゆくものだと思いますが、今日のところはこのあたりで力尽きましたので、悪しからずです。
JunkMatcherのセットアップは大きくわけて3つの段階がある。
- JunkMatcher のインストール
- Mail.app における「ルール」の設定
- JunkMatcher Central (JMC) を使っての JunkMatcher の設定
JunkMatcher のインストール
ダウンロードしたディスクイメージをマウントし、中にあるインストーラパッケージ(.pkg ファイル)をダブルクリックし、インストーラの指示に従う。インストールが成功するとふたつのものがインストールされる。JunkMatcher Central.app は保存場所を選択可能だが、JunkMatcher は常に次の場所にインストールされる。
/Users/<yourname>/Library/Scripts
※旧バージョンを使ってた場合も古いパターン設定は維持される。古いパターンファイルは、~/Library/Scripts/junkMatcher の中にoldPatterns.jpp として書き出されるので、いつでも新しいパターンの中にいくつかの古いパターンをインポートすることができる。
Mail.app の設定
JunkMatcher をMail.app の内蔵フィルタの後ろに置いて、「キャッチャー」のように設置するというのが唯一の方法です。もしも、mail.appでルールがが働く方法を理解できたら自分なりの方法でルールを並べることができます。
- Mail.appを起動し、環境設定から「ルール」を選ぶ
- 環境設定の「迷惑メール」に行く。迷惑メールフィルタが有効になっていることを確認する。(Mail.app内蔵の統計的フィルタ)さらに、下図のようにフィルタリングを「自動」モードにしておく。
-
ここで、「詳細...」をクリックした時に現れる設定は、ユーザが設定したルールリストの一番最後にMail.appによって追加されるべき暗黙の迷惑メールフィルタルールである。(ルールリストの中に現れないので見えないけれど)しかし、それは重要なことではない。我々はルールリストの前段に置いた"Built-in Junk Filter"と命名されたルールによって、この内蔵フィルタを効率的な方法で不要なものにするだろう。
- 環境設定の「ルール」に行く。ここで、下図のように、"Built-in Junk Filter"、 "JunkMatcher"、"Full stop"という3つのルールを追加する。重要なことは"Full stop"の後にはいかなるルールも置いてはならないこと。下図のような順序にするべきである。
"Built-in Junk Filter"ルールは下図のように、以下の3つの条件を満たさなければならない。そして、実行する動作は下図のふたつである。
"JunkMatcher"ルールは下図の3つの条件を満たす必要がある。ただし、「"Received"が"."を含む」は、デフォルトのままではヘッダリストに"Received"が現れないので、ルールコンディションボタンを押して現れるメニューの一番下にある「ヘッダリストを編集...」から追加しないといけない。
実行する動作はひとつ。JunkMatcherによってインストールされた、下記のアップルスクリプトを実行するように指定する。
~/Library/Scripts/junkMatcher/junkMatcher.scpt
"Full stop"ルールはひとつのコンディションしか持たない。(だから、「条件のすべて」でも「条件のいずれか」でも問題ない)すべてのメッセージに対してルールの評価を停止するという動作しかしない。これはすでに"Built-in Junk Filter"の中にその機能を移動させた暗黙の内蔵フィルタルールが最終段で機能しないようにし、最後には何も漏れないことを保証する。
概要:"Built-in Junk Filter"ルールが内蔵フィルタを呼び出します、そしてもしメッセージが迷惑メールであるとみなされるなら、それは迷惑メールボックスに移動します。そして次に置かれたすべてのルールは実行されないでしょう。
次に"JunkMatcher"ルールが残りを拾って、そこから迷惑メールを見つけ出し動作を実行訳だが、それがどのようにして行われるかはJunkMatcher Central (JMC) を設定することによって知ることになるだろう。
最終のルール、"Full stop"はルールの連鎖が終わりであることを確実なものにするためにルールの実行を止めます。
JunkMatcher Central (JMC) を設定
JunkMatcher Central (JMC) を起動してアプリケーションメニューから初期設定を開くと5つのタブを持ったウインドウが現れる。
1.Strategy
これらの設定は、入ってくるメッセージに対してどのような方法でマッチさせるかをJunkMatcherに教えます。最初の「Strategy」で、JunkMatcherがジャンクメールと宣言するのにプロパティとパターンマッチングで何個の肯定結果が必要か指定することができる。そして2番目の「Strategy」で、プロパティとパターンマッチングに異なる数を指定することができる。
両方の「Strategy」において気をつけなければならないのは、ファイル名やキャラクタセットやIPのマッチングで、たったひとつの肯定結果でメッセージをジャンクと判定しまう可能性があるということ。同じく、「不完全な添付ファイル」をチェックして見つかった、たったひとつの肯定結果だけで瞬時にメッセージをジャンクにしてしまうことにも注意してください。
一般的に、間違った肯定結果の比率を下げるためにメッセージを捨てるために必要なテストの数を増やすことができます。しかしながら、これはもっと多くのスパムを通り抜けさせることになる上、JunkMatcherの動作は遅くなるでしょう。
2.Basics
- IPベースマッチング:JunkMatcherでは、3つのブラックリストを指定することができる。そして、あなたがそれらのリストを選ぶのを手助けするために"Jeff Makey's "Blacklists Compared"へのリンクボタンも置かれている。
もしもあなたがネットワーク接続に問題があるようなら、IPベースマッチングを止めるか、あるいはタイムアウト値を増やすことができます。(絶対に完璧なネットワーク接続を得られないのであれば、ここを"None"にしてはなりません)
ブラックリストで"blank"を選ぶことはブラックリストを無効にすることである。もしも全てを"blank"とすれば、IPベースマッチングは機能しなくなるだろう。
良いブラックリストはまだ範囲が広すぎて有効でないかも知れない。ここに含まれるウェブサイトは最新の統計値を持ってはいますが、いずれを使うかという最終判断はあなたが下さなければなりません。
あなたのログをチェックして、どのリストが信頼できる結果を与えてくれたかを確認すべきです。
- レンダリングマッチング:デフォルトのELinksコマンドはバンドルされたバイナリを指している。もしも他のビルドを使うのならここにパスを入力することができる。そして、それが働いてるかどうかテストするなら、レンダリングマッチングを「ON」にして、メインウインドウにある"Rendering"タブでHTMLメールをロードしてみて下さい。そこでレンダリングされているのが見えたらそれは働いてるということです。
- ロギング:JunkMatcherは受信されたメールに何が行われたか、常に記録している。このログファイルを何日間保存しておくか選択することができる。3日間(デフォルト)という設定はログが3日経過する前にそのログを含むログファイルを空にする。これはログファイルが際限なく肥大しないことを保証します。
"Recycle log"ボタンによって、ログをリサイクルすることもできます。"Browse log"ボタンでログウインドウを表示させてログをブラウズできます。
3.プロパティマッチング
ここにあるのは JunkMatcher version 0.99+に含まれるプロパティの完全なリストです。
- 不完全な添付ファイル:いくつかのジャンクメールには正しくない添付ファイル形式や正しくないエンコーディングが見られます。メールがいくつかの添付ファイルを持っていて、残りのテストが完全に終了できない場合でも、このチェックは常に行われます。
- 不完全なメッセージID:
- 不完全な送信元アドレス:RFC2822に準拠しているか確認します。
- 欠落したSubject。
- 欠落した日付。
- 不完全な日付:メールの日付が普通でない形式で書かれてないかチェックします。
- 日付がn分以上未来:nの値が調整可能です。
- 日付がn日以上過去:nの値が調整可能です。もしもこのプロパティを有効にするのなら、n日以上の頻度でメールをチェックしなければなりません。
- 受取人がない。
- 受取人の数がn以上:nの値が調整可能です。
- To/CCに私のパターンを含んでない:メインウインドウの"To/cc"タブでパターンを指定するまでは有効にしてはならない。(さもないと全てのメッセージが迷惑メールだと認識されてしまう)
いくつかのメーリングリストが、Toフィールドなしでメールを送ったり、受取人全員にToを使ったりすることに注意して下さい。
- 不完全な受取人アドレス:「不完全な送信元アドレス」と同様に、全ての受取人アドレスがRFC2822に準拠しているか確認します。
- 他の受取人の数が、アドレスブックの中においてn以下である:このプロパティは受取人の数が「1」以上の時だけチェックされる。あなたは何度、ジャンクメールの受取人リストの中には知人はいないということに気がつきましたか?
- HTMLアタッチメントを持っている:テキストメール使用者のためにHTMLアタッチメントをチェックする。
- HTMLが少なくともn個の不良タグを持っている:
- 空白のレンダリング:レンダリングするものが何もないのかチェックする。多くの場合、良くないアタッチメントが含まれている。
- HTMLメールが悪質サイトを参照している:このプロパティはプレーンテキストメールとHTMLメールの両方でチェックされる。このふたつのタイプのメールにおいて、"body"と"subject"に含まれる?????´"http://"を有する行がチェックされ、過去に集められたいずれかの悪質サイトにマッチすれば陽性です。
悪質サイトはフィルタリングされたメールから自動的に収集されます。これらはリンクと外部イメージで使用されるサイトです。リダイレクトのトリックの全てはPathological Study of Junk Mailsの
"Case 5"に記述した。(もしも、あなたが新しいトリックを発見したら、それを将来のバージョンに反映できるように、私に知らせて下さい)
JunkMatcherはn個のサイトを収集します。(nは調整可能で、デフォルトは1000です)そして、限界に達した時、最も古いサイトが取り除かれます。(ここでの時間とは、フィルタされるメールが見つかった時間を基準にしています)
JunkMatcher Central (JMC) において、悪質サイトのリストをチェックできます。そして同じく、安全なサイトのリストを作ることもできますが、これは収集されるものではありません。
- 当該ドメインのMX記録がない:送信者がドメインを偽装していないか、MX (Mail Exchange) サーバーの記録をチェックする。
4.Actions
このタブはパターンが一致したメッセージに対して、どのような動作を実行させるか設定するものです。そして、新規メールを受信した時にどのような通知サウンドを出して欲しいか決めることができます。
"Generate sound after processing"を有効にした場合、最新の受信メールに対してJunkMatcherが一連の処理を終えた時に鳴らす音として、システムビープ音、コンピュータに喋らせる短いフレーズ、QuickTimeが再生可能な任意のサウンドファイルなどを選択することが出来る。また、最低1個のクリーンなメッセージを受信した時のみ通知サウンドを出すようにすることも出来る。Mail.appが持っている新着メール通知サウンドをオフにして、JunkMatcherが新着メールを通知するように引き継ぐことも可能です。
5.Reporting
このタブはあなたのSpamCopアカウント情報を登録するものです。SpamCopについての一般的な情報を受けとるためには、バナーをクリックしてウェブサイトを訪れて下さい。もしもまだ登録してないのなら"Register"ボタンを押してアカウントを作って下さい。(無料です)その後、SpamCopからあなたの認証コードを含んでいるメールを受け取るはずですから、それをここのタブに入力してセットアップを完了してください。もしもあなたがメンバーアカウントを申し込んだならここで同じくパスワードを登録する必要があります。
認証コードを入力して、"Open my account page"ボタンを押したなら、SpamCopのあなたのアカウントページに行くことができます。