毎日(特に週末に)死ぬほど来るSPAM対策をメイルサーバ側で行います。
新しいbsfilter-1.04はruby1.8じゃないと動かないみたいです。以前に書いた
http://w3.itoh.net/bsfilter.html を書き直しました。
FreeBSD 4.10-RELEASE
rootになってportsでrubyをインストール
cd /usr/ports/lang/ruby18
make install
opensslが古いとダメって言われることがあるのでそのときは
cd /usr/ports/security/openssl
make deinstall
make reinstall
とかする。(エラーメッセージをよく読むべし)
以下メールアカウントユーザになり
http://bsfilter.org/
から
http://osdn.dl.sourceforge.jp/bsfilter/10876/bsfilter-1.0.4.tgz
をホームディレクトリに持ってきて
tar zxvf bsfilter-1.0.4.tgz
cd bsfilter-1.0.4/bsfilter
cp -p bsfilter ~/
次に当面のスパムメイルパターン・クリーンメイルパターンを学習させておきます。
事前準備としてSPAMと言うフォルダをimap4サーバに作っておいて、日頃からメンテナンスしている事を前提としています。(inboxはクリーンな状態であること。)
~/Maildir/cur/*
にあるクリーンメイル(非スパム)を
./bsfilter -c ~/Maildir/cur/*
と学習させ
スパムメイル学習は
./bsfilter -s Maildir/.SPAM/cur/*
とします。curと言うぐらいだからとりあえず全て既読にしておくこと。
他に
http://www.flcl.org/~yoh/spam9xxxx.tar.gz
spamをかき集めたデータもあるので
cd ~
mkdir spamexamples
cd spamexamples
fetch http://www.flcl.org/~yoh/spam9xxxx.tar.gz
tar zxvf spam9xxxx.tar.gz
./bsfilter -s spamexamples/*
とやって勉強をさらにしてもらいます。
次に
./bsfilter -u
でデータベースをアップデートして、さしあたっての準備は完了。
方針として
・クリーンなメールは通常通り ./Maildir/以下に格納
・SPAMの疑いのあるものは SPAMディレクトリに押し込める。(~/Maildir/.SPAM/以下)
・誤認逮捕されたメイルは ./Maildir/cur/以下に手動で移してあげて再度
クリーンDBに学習させる。
・捕捉できなかったものは ./Maildir/.SPAM/cur/以下に移動しておいて
さらに学習させる。
と言うようにします。
~/.qmailに
| /var/qmail/bin/condredirect アカウント名-spam /home/アカウント名/bsfilter
./Maildir/
~/.qmail-spam に
./Maildir/.SPAM/
と書いておいけば作業終了です。
あとは学習の日々(メンテ)となるのですが、
./bsfilter -c Maildir/cur/*
./bsfilter -s Maildir/.SPAM/cur/*
./bsfilter -u
をcronで回せば良いような気もしますが、とてもお利口なフィルタなので上記を手動でやらせるだけで満足しています。