Razor2

2010/10/01サーバー構築

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/