amavis-new + spamassassin (2009/12/18)

研究室のメールサーバでは,スパム対策技術で紹介されている「選択的SMTP拒絶方式」(Selective SMTP Rejection, S25R)を利用していました.しかし,正当なメールを排除する可能性がわずれかでもあるものは利用しないという方針にし,S25R方式及びS25R方式との他の方式との組み合わせは研究室のメールサーバでは使用しないことにしました.

そこで,スパムメールのコンテンツフィルタである amavis-new + spamassassin を見直すことにしました.以前の設定は,amavis-new + spamassassin (2006/05/06) に書かれています.

amavis-new + clamav (2006/05/04) は設定済みとします.spamassassin がなければ,spamassassin をインストールします.今回は既にインストール済です.

# aptitude install spamassassin

今回は,amavis-new から直接 /usr/bin/spamassassin を呼び出すので,デーモンは不要です.従って,/etc/default/spamassassin の ENABLED は 0 のままにしておきます.

amavis-newからspamassassinを利用するために,/etc/amavis/conf.d/15-content_filter_mode内の次の行のコメントをとります.これは,Debian パッケージのアップグレード時にコメントがついたものに置き替わっていました.パッケージアップグレード時は注意しなければなりません.

@bypass_spam_checks_maps = (
   \%bypass_spam_checks, \@bypass_spam_checks_acl, \$bypass_spam_checks_re);

これで,spamassassinによるコンテンツフィルタが動作することになります.もちろん,spamassassin で判定されたスパムメールの削除はしません.そのためには,/etc/amavis/conf.d/20-debian-defaults の $final_spam_destiny を D_PASS にする必要があります.

#$final_spam_destiny = D_BOUNCE;
$final_spam_destiny = D_PASS;

また,/etc/amavis/conf.d/20-debian-defaults でスパムメールの判定やスパムメールに対するアクションを閾値で定めることができます.

$sa_tag_level_deflt  = 2.0;  # ヘッダにスパム判定の情報を追加
$sa_tag2_level_deflt = 6.31; # スパムであると判定し,ヘッダに判定結果を追加
$sa_kill_level_deflt = 20.0; # スパムメールに規定されたアクションを実行
$sa_dsn_cutoff_level = 30.0; # スパムメールを宛先に配送しない

デフォルト値は上から順に 2.0, 6.31, 6.31, 10.0 です.スパムメールへのアクションはしないようにするため,スパムメールに対する処理に関する項目は閾値を大きくしています.一方,日本語メールなどは,スコアを高く評価されてしまうので,スコアを低めに評価するようなローカルルールを設定しました.これらのルールは /etc/spamassassin/local.cf におかれます.研究室のメールサーバには,日本Linux Usersメーリングリストのローカルルールを利用しています.

$sa_tag2_level_deflt = 6.31 を越えれば,Subject の先頭に $sa_spam_subject_tag で指定した文字列がつきます.研究室のメールサーバでタグがつけられたことを明らかにするために,次のように設定しました.

$sa_spam_subject_tag = '[SPAM-IMC] ';

これで,$sa_tag2_level_deflt = 6.31 を越えたら Subject の先頭に '[SPAM-IMC] ' が追加されます.


梅原 大祐 / UMEHARA Daisuke umehara@kit.ac.jp
Last modified: 2020/05/01 15:37
Total Access Count