« ネット接続だけで感染する「Sasser」 | メイン | 続・無印でお買い物 »

2004年05月04日

SpamAssassinの導入

毎日何十通と届くSPAMが鬱陶しいので、対策ツールを導入することにしました。ベイジアンフィルタを使ったスパムフィルタにはBogofilterbsfilterSpamAssassinなどがありますが、今回は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

コメント

コメントしてください




保存しますか?