Mailman + SpamBayes
Mailman 運用しているメーリングリストに大量の SPAM メールがくるので、対策をしようと思いました。
参考にさせていただいたのは ウノウラボ Unoh Labs: ベンチャー流のスパムメール対策術(後編) のエントリ。
ただ、ここの例ではスパムフィルタに SpamAssassin を使用しています。
私は(一応) Pythonista なので、スパムフィルタに SpamBayes を普段使っています。
この学習した内容を使わないのはもったいないので、 SpamBayes で同じようにやってみました。
mailman の aliases は /usr/local/mailman/data/aliases にあるので、スパムフィルタを通したいメーリングリスト(この場合は test)について以下のように書き換えます。
test: "|/usr/bin/procmail -m /etc/postfix/ml_procmailrc" #test: "|/usr/local/mailman/mail/mailman post mailman"
で、次に procmail の振り分けルール /etc/postfix/ml_procmailrc を、以下のように記述しました。
# SPAM メールの転送先 SPAM_TO=spam@takanory.net # フィルタコマンド FILTER=/usr/bin/sb_filter.py # フィルタが使用するデータベース DB=/home/takanori/.hammiedb # ログの出力先 LOGFILE=/tmp/procmaillog :0 fw:hamlock | $FILTER -d $DB :0 * ^X-Spambayes-Classification: spam ! $SPAM_TO :0 * ^.*test |/usr/local/mailman/mail/mailman post test
参考にした Blog と違うのは当然ですがフィルタのかけ方です。
フィルタとして SpamBayes のフィルタコマンド sb_filter.py を呼んでいます。SPAM のデータとしては私が蓄積しているデータを -d オプションで指定しています。
それから、SPAM と判断された場合のヘッダにつく文字列が違うので、そこも書き換えています。
それから、動作がうまくいっているか確認するために、procmail のログを出力するようにしておきました。動作が安定したら LOGFILE=/tmp/procmaillog の行はコメントアウトしていいと思います。
で、フィルタを通すようにしてみて、以前は保存書庫がひどいことになっていたんですが、だいぶフィルタにひっかかってくれるようになりました。満足満足。
-
- ¦
- 固定リンク
- ¦
- コメント (0)
- ¦
- トラックバック (0)
- トラックバック用URL:
- http://takanory.net/takalog/739/tbping