Spamメールの分散データベースシステムであるRazor2を導入する。
仕組みとしてはSpamAssassinがメールを受け取ったらRazor2にオンラインで照会しSpamメールか判断するというもの。
Razor2は以下のPerlモジュールが必要になるので事前に導入しておく。
なおこれらのPerlモジュールはrazor-agents-sdkをインストールすることで対応も可能だ。
・Time::HiRes
・Digest::SHA1
・MIME::Base64
・Getopt::Long
・File::Copy
・URI::Escape
Razor2のインストール
$ wget http://jaist.dl.sourceforge.net/sourceforge/razor/razor-agents-2.82.tar.bz2
$ tar xvjf razor-agents-2.82.tar.bz2
$ cd razor-agents-2.82
$ perl Makefile.PL
$ make
# make install
SpamAssassin側で既にRazor2が有効になっているはずなので自動的に認識されてRazor2によるSpamメール解析が始まる。
# ls -al /etc/mail/spamassassin/.razor
合計 32
drwxr-xr-x 2 spamd spamd 4096 7月 25 13:30 .
drwxr-xr-x 3 spamd spamd 4096 7月 25 13:30 ..
-rw-r--r-- 1 spamd spamd 211 7月 25 13:30 razor-agent.log
-rw-r--r-- 1 spamd spamd 594 7月 25 13:19 server.c101.cloudmark.com.conf
-rw-r--r-- 1 spamd spamd 621 7月 25 13:30 server.shock.cloudmark.com.conf
-rw-r--r-- 1 spamd spamd 58 7月 25 13:30 servers.catalogue.lst
-rw-r--r-- 1 spamd spamd 22 7月 25 13:19 servers.discovery.lst
-rw-r--r-- 1 spamd spamd 38 7月 25 13:30 servers.nomination.lst
Razor2によってSpamメールと判断されるとログが出力される。
# tail razor-agent.log
7月 25 13:30:22.431688 check[10147]: [ 2] [bootup] Logging initiated LogDebugLevel=3 to file:/etc/mail/spamassassin/.razor/razor-agent.log
7月 25 13:30:24.515438 check[10147]: [ 3] mail 1 is not known spam.
7月 25 13:38:31.274313 check[10147]: [ 2] [bootup] Logging initiated LogDebugLevel=3 to file:/etc/mail/spamassassin/.razor/razor-agent.log
7月 25 13:38:33.783262 check[10147]: [ 3] mail 1 is known spam.
Razor2のログはローテートするようにしておくと良い。
/etc/logrotate.d/razor
/etc/mail/spamassassin/.razor/razor-agent.log {
missingok
create 0644 spamd spamd
}
Razor2
http://razor.sourceforge.net/