前からのことだけど、迷惑メール(SPAM)がとても多い。5分に1通ぐらいくる。
自分宛てのメールはThunderbirdの迷惑メールフィルタにかけているから問題ない。しかし、他の人にもアカウントを発行していたりして、しかもその人たちはWebメールしか使わない状態なので迷惑メールをサーバー側でフィルタリングしないと大変なことになる。
で、今までは面倒だったので放置だったのだけれど、さすがに耐えられない状況らしいので迷惑メールのフィルタリング(+ウイルススキャン)をサーバ側でかけることにした。
サーバサイドで迷惑メール処理をするにはSpamassassinなどのツールを用いる。
今回はamavisd-new + Spamassassin + clamAV という組み合わせで行った。
amavisd-newはPostfixからメールを受け取り、SpamassassinやclamAVとメールのやり取りを行うラッパーのようなもの。
clamAVはフリーで利用できるウイルススキャナである。アップデートは1日1回の設定にした。標準では1時間に1回なのだが、サーバの負荷とかを考えて回数を減らした。
現在のところ、迷惑メールがいくつかフィルタを通過してしまうが、必要なメールが迷惑メールとして処理されてしまったことはない。
Spamassassinは、基本的に迷惑メールに特有の文字列パターンマッチを行い、点数が一定以上のものをSPAMと判定する。最近のバージョンではベイジアンフィルタなども利用できるようになって、より効率的にSPAM判定が行えるようになっている。
判定には基準となる文字列が必要となる。TLECで公開されていた設定ファイルがなかなか優れているので利用させてもらった。
[参考文献]
1. TLEC user_prefs
2. ベイジアンフィルタ解説 (ITmedia)
3. Spamassassin
4. clamAV