« ネット接続だけで感染する「Sasser」 | メイン | 続・無印でお買い物 »
2004年05月04日
SpamAssassinの導入
毎日何十通と届くSPAMが鬱陶しいので、対策ツールを導入することにしました。ベイジアンフィルタを使ったスパムフィルタにはBogofilterやbsfilter、SpamAssassinなどがありますが、今回はSpamAssassinを使ってみることにします。
まずはportsからSpamAssassin(p5-Mail-SpamAssassin-2.63_1)をインストール。
# portinstall p5-Mail-SpamAssassin
/usr/local/etc/rc.d/spamd.shの記述に従って/etc/rc.confに以下の設定を追加します。
spamd_enable="YES"
続いて、SpamAssassinの設定ファイルを用意します。全ユーザ向けの/usr/local/etc/mail/spamassassin/local.cfかユーザ個別の~/.spamassassin/user_prefsの2通りがありますが、どうせ私しか使う人間はいないので前者でいくことにします。TLECさんのところからユーザ定義ファイルをダウンロードして
それをlocal.cfとして使用します。
spamdを起動します。
# /usr/local/etc/rc.d/spamd.sh start
サンプルを使ってSpamAssassinの動作を確認してみます。
% cat /usr/local/share/doc/p5-Mail-SpamAssassin/sample-spam.txt | spamc
% cat /usr/local/share/doc/p5-Mail-SpamAssassin/sample-nonspam.txt | spamc
前者の場合には、SPAMメールと判定されて
X-Spam-Level: **************************************************
X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on chinensis.redmagic.org
X-Spam-Flag: YES
X-Spam-Status: Yes, hits=1001.4 required=7.0
といったヘッダが付加されます。後者の場合はX-Spam-StatusがNoとなります。
無事SpamAssassinの動作を確認できたところで、最後にprocmailのレシピを変更します。
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$MAILDIR/procmaillog
LOCKFILE=$HOME/.lockmail:0fw
*!^X-Spam.*
|/usr/local/bin/spamc:0:
* ^X-Spam-Status: Yes
$MAILDIR/.Spam/
これはメールをSpamAssassinに渡してSPAMかどうかの判定を行い、X-Spam-StatusがYESであればSpamディレクトリに振り分けるというものです。
導入してしばらく様子を見てみましたが、今のところ間違えることもなくSPAMを分類できているようです(誤認するようであればsa-learnコマンドを使って学習させることができます)。
投稿者 sai : 2004年05月04日 02:19