SpamAssassinのローカル設定

今やSpamAssassinはメールサーバー管理者にとって無くてはならぬソフトになってきました。

このソフトは英文spamにきわめて有効ですがローカル (/etc/mail/spamassassin/local.cf)に設定を追加すると日本特有の言葉に対してもかなり有効になり、また普通の日本語のメールの誤検知も少なくなります。

当社ではTokyo Linux Entertainment Community(TLEC)さんが
http://tlec.linux.or.jp/docs/spamassassin.html
で公開している
http://tlec.linux.or.jp/docs/user_prefs
をベースにさらに当社独自の設定を施しています。

この設定内容は実に膨大で作者の努力には感謝感激です。

当社ではこのうちベイジアンフィルタをデフォルトの設定で使うため
score BAYES_70 5.0
score BAYES_80 6.0
score BAYES_90 7.0
score BAYES_99 7.5
は削除しています。

またRBLはsendmailに直接指定して拒絶しているので、
skip_rbl_checks 1
としてSpamAssassinでは点数としてカウントしないようにしています。この設定をすることにより処理速度が速くなるはずです。

残りの部分は細かくは調べてはいませんが今のところいい調子で動いています。


当社独自に再定義したもののうち主なものは
score HABEAS_SWE 0.1
required_hits 4.8
です。

HABEAS_SWE は以前このコラムで紹介した俳句spam対策。最近無いなと思っていたら久しぶりに今日数通来ていましたね。

required_hits はデフォルトでは5.0なのですが気のせいかこの点数を ぎりぎり下回るよう工夫したspamがあるみたいなのでちょっとだけ少なくしています。

(OBFUSCATING_COMMENTなんかも点数を多くしていたのですがSpamAssassinが2.63になってからいい値になったのでローカル定義からは削除してあります)

これ以外に山ほどwhitelist_fromと本文中のURL検知定義があります。

whitelist_fromはどんなメールでもspamとみなされない差出人のアドレス。-100点のオフセットがつきます。今までに来た実際のspamで最高得点は 52.4 なのでこれだけオフセットがあればまず大丈夫でしょう。

URL検知定義とは本文やヘッダに特定のURLとかviagraとかいうようなNGワードが あると点が高くなる仕掛けで、以下のような設定です。(本当は /http:\/\/www\.tfdf4esdd\.com/i だろうというツッコミは無しよ)
body URL_tfdf4esdd /http:\/\/www.tfdf4esdd.com/i
describe URL_tfdf4esdd  www.tfdf4esdd.com
score URL_tfdf4esdd 5.0
余談ですが最近はこのようなシステムを導入しているところが多くて 本文に「先日viagraが・・・・」とか「http://www.2345drf.com/では・・・」 のようにNGワードがあるとspamと勘違いされてしまう可能性もあるので 注意したほうがいいですよ。特に当社あてのメールでは (^_^; こういう場合には「viagraほしいな・・」 なんて全角を使うといいかもしれません。 たまたま出てくるNGワードをひっかけないワザとしては meta という定義でNGワード1つだけではたいした点がつなかくて2つともあると高くする方法もあります。
header LOCAL_ViagrA Subject =~ /Viagr\@/i
describe LOCAL_ViagrA Fake Subject Viagr@
score LOCAL_ViagrA 4.0

とか

header LOCAL_VIagr2 Subject =~ /V\|\@gra/i
describe LOCAL_VIagr2 Fake Subject V|agr@
score LOCAL_VIagr2 4.0
なんてのも定義してあります。(NGワード逃れ対策の対策)まるでフライフィッシングの疑似餌を作るみたいで面白いですね。NGワードを定義したらその言葉を含むメールを自分に送ってみて確かに処理されていることを確認することが重要です。
SpamAssassinのベイジアンフィルタ機能を使うため今までにためてあるspamとそうでないメールを喰わせて辞書をあらかじめ作っています。これに関して詳細はTLECさんのページをどうぞ。

SpamAssassinは多くの定義があると、perlで記述されていることとあいまってCPUパワーを たくさん喰うのでメールサーバーはなるべく高速なマシンがいいと思います。
当社はPentiumIII 1GHZくらいのマシンでやっています。これくらいだと先日 二回ほどメール爆弾事件がありましたが(sendmailの設定も関係していますが)マシンは何事もなく動いていたようです。