SpamAssassin日本語パッチ版のインストールも完了したので、まず、ルール設定。
ルール設定だが、サンプルとして、配布されているルールでとても参考になると思われるものは2つ。
一つは松田氏が公開しているuser_prefs。
もう一つは、日本語対応パッチに対応したルールセットのサンプル。
http://spamassassin.jp/download/rules/jp_rules-20060729.cf
まずは、松田氏のuser_prefsを基本に、日本語ルールセットを追加していくことにした。
今回は、サーバに到着したすべてのメールをPostfix内から呼び出したSpamAssassinで処理することを考えているので、すべての設定は/etc/mail/spamassassinに集約する。
local.cf
最終行以下に追加。 sa-upateでルールを上書きされないように、アップデート用のファイルを最初に読み込むようにする(4/20追加)。include /var/lib/spamassassin/3.002005/updates_spamassassin_org.cf
NFSを使っていないので、パフォーマンスを上げるために追加。
lock_method flock
出力において、本文を加工せず、SPAMかどうかに限らず、SpamAssassinのへッダをつけるために以下を指定。
report_safe 0
add_header spam Flag _YESNOCAPS_
日本語化を有効にするために、(すでに)追加。
normalize_charset 1
ベイズデータは、全ユーザ共通のものとするために以下を指定。
bayes_path /var/spool/spamassassin/bayes
bayes_file_mode 0700
ただし、実際に読むのはユーザmail(もしくはroot)だけなので、ファイルモードは600でよい。
ここで気をつけるのは、bayes_pathにはパスだけでなく、ファイル名のベースになる部分を書くと言うこと。
この結果/var/spool/spamassassinの下にbayes_with_toksとbayes_seenが作成される。
まず、事前に、
# mkdir /var/spool/spamassassin
# chown mail:mail /var/spool/spamassassin
作成されたら、
# chown mail:mail /var/spool/spamassassin/bays*
# chmod 600 /var/spool/spamassassin/bays*
松田氏作のuser_prefsを読み込むために。
include user_prefs
v310.pre
松田氏によると、Auto White Listは、結局From、Toの詐称が多いSpamの現状から、無意味。 同感するので、Auto White Listは切る。# AWL - do auto-whitelist checks
#
#loadplugin Mail::SpamAssassin::Plugin::AWL
user_prefsのok_languages ja enを有効にするために、以下の行のコメントアウトを解除。
# TextCat - language guesser
#
loadplugin Mail::SpamAssassin::Plugin::TextCat
さらに、松田氏のuser_prefs向けドキュメントにあるように、以下のコメントアウトも解除。
# MIMEHeader - apply regexp rules against MIME headers in the message
#
loadplugin Mail::SpamAssassin::Plugin::MIMEHeader
# ReplaceTags
#
loadplugin Mail::SpamAssassin::Plugin::ReplaceTags
user_prefs
松田氏のuser_prefをそのまま使う。 $ wget http://tlec.linux.or.jp/docs/user_prefs ただし、更新をチェックして、最新版を常に使うようにする。 wgetを利用した自動更新も考えたが、手動でルールを入れ替えて動作を確認しての方が良いので、別途大元の更新チェックのみ行うことにする。private_prefs
user_prefsから呼ばれるprivate_prefsを作成。 MYMTAは不要になったと最新のuser_prefに記載がある。 ドキュメントには、trusted_networksに127.0.0.1/8があるが、これを書いてしまうと、lintで以下のような警告が出るので外す。 [6096] warn: netset: cannot include 127.0.0.1/8 as it has already been includedtrusted_networks 192.168.0.1/16 10.0.0.1/8 172.16.0.1/12 219.117.204.128
internal_networks 192.168.0.1/16 10.0.0.1/8 172.16.0.1/12 219.117.204.128
# replace_tag MYMTA (mail\.rally\.or\.jp|rally\.jp)
とりあえず以上の設定が完了したら、"spamassassin --lint"で設定を確認。
本来なら、sa-updateでルールセットの更新を行うべきなのであろうが、本家のsa-qupdateで提供されるルールセットではspamの閾値が5、松田氏のuser_prefでは閾値が13に設定されているので、同時に使うことはあまり意味がない。
そこで、sa-updateはあえて無視することにする。
また、今後の使用の中で、日本語版用ルールセットの内容は、private_prefに徐々に追加していくことにする。