概要

メールサーバにSPAM Filterを入れました。 入れたのはSpamAssassin 3.0.4 です。
基本的にメールサーバにメールが着信した時点で「広告メールであるか否か」の評価をし、 メールのヘッダにその評価結果を数値として付加します。 その数値が大きければ広告メールである可能性がおおきいので、各人の好みで可能性の 大きさに応じてメールを除去すればよいわけです。
ただし、判定は統計的に行っている(ベイジアンフィルターによる学習を使っている)ため、 誤判定もありえます。判定の精度を上げるには、取りこぼした広告メールを学習させること で対応できますが、使いこなしが必要なので自力で作業のできる人向けに説明します。 以下では、自分宛に届いたメイルにSpamAssasinを適用する手順を述べます。 これ以上の詳しい説明は、The Apache SpamAssassin Projectまで。

目次

  • 方針
  • SPAM Filterが稼働するまでの「最低限の」手順
  • メイリングリストに対するフィルターの仕方

方針

  • なるべくProcmailだとかのややこしいツールを使わない
    つかうと、そのツールの設定がまた必要になるから。
  • パソコンが苦労せずに済むように、着信したときに振り分ける。
    それゆえIMAP4を使っていることが前提。
    〔使ってなくても振り分けはできるが、振り分けた結果を確認するにはUnixにログインする必要あり)
    SPAMメールをよりわける箱の名前は、SPAMとする。
    もちろん、この箱は、IMAP4なクライアントから見える。
  • できなくてもよいことは極力しない。

SPAM Filterが稼働するまでの「最低限の」手順

1. mail.econ.fukuoka-u.ac.jpにログインする。telnetやらsshを使うこと。
2.SPAMの箱を作成する。
 

/usr/local/bin/maildirmake Maildir/.SPAM/

3. ~/.qmail
を作成する。 .qmail の内容は以下。

| /usr/local/bin/condtomaildir ./Maildir/ /usr/local/bin/spamassassin -e
./Maildir/.SPAM/

~/.qmail というファイルに、以上の内容を張り込めば良い。FTPで送っても可。

4.SPAMのパターンを学習させる。やらなくても動作するけど、賢さが増す。 

/usr/local/bin/sa-learn --spam  SPAMファイル

とすればよい。SPAMファイルは、これまでうけとった自分のコレクションから見繕えば良い。
五十嵐の場合、SPAMをあつめたメール箱があるので、そのメール箱を指定した。
メール箱がある場合は、

/usr/local/bin/sa-learn --spam メール箱のディレクトリ

5.ためしにSPAMを自分におくってみる。

cat SPAMなメール | /var/qmail/bin/qmail-inject 自分のメールアドレス

メイリングリストに対するフィルターの仕方

同様にメイリングリスト(以下、MLと略)に着信するメイルを、フィルターする方法を示します。
先と同様に、MLを管理する設定ファイルにSpamAssassinを組み込みます。
SPAM Filterが稼働するまでの「最低限の」手順は、
1.mail.econ.fukuoka-u.ac.jpにログインする。telnetやらsshを使うこと。
2.SPAMの箱を作成する。(すでにあれば作る必要なし)

 /usr/local/bin/maildirmake Maildir/.SPAM/

3.メイリングリストの設定ファイルを編集する。ここでは、
yigarash-test@econ.fukuoka-u.ac.jp
というアドレスで届くMLを例として示す。
その場合の、設定ファイルの名前は
/home/yigarash/.qmail-test
である, とする。
このファイルをviなどのエディタで開く。内容は次のようになっているはずである。  

|/usr/local/bin/ezmlm/ezmlm-reject '/home/yigarash/ML/test'
|/usr/local/bin/ezmlm/ezmlm-send '/home/yigarash/ML/test'
|/usr/local/bin/ezmlm/ezmlm-warn '/home/yigarash/ML/test' || exit 0 

これにSPAMフィルターを作動させる行を加えて以下のようにする。
 

|/usr/local/bin/condtomaildir ./Maildir/.SPAM/ /var/qmail/bin/except /usr/local/bin/spamassassin -e
|/usr/local/bin/ezmlm/ezmlm-reject '/home/yigarash/ML/test'
|/usr/local/bin/ezmlm/ezmlm-send '/home/yigarash/ML/test'  
|/usr/local/bin/ezmlm/ezmlm-warn '/home/yigarash/ML/test' || exit 0

もちろん自分の管理するMLに組み込む際には、「/home/yigarash/ML/test」の部分は違うわけだが、上記の一行目はそのまま張り込めばOK
4.SPAMのパターンを学習させる。やらなくても動作するけど、賢さが増す。

/usr/local/bin/sa-learn --spam  SPAMファイル

とすればよい。SPAMファイルは、これまでうけとった自分のコレクションから見繕えば良い。
五十嵐の場合、SPAMをあつめたメール箱があるので、そのメール箱を指定した。
メール箱がある場合は、

/usr/local/bin/sa-learn --spam メール箱のディレクトリ

とすると学習する。
5.ためしにSPAMをMLにおくってみる。

cat SPAMなメール | /var/qmail/bin/qmail-inject MLのメールアドレス

以上


なお、電子メールの高度な使い方については、
yigarash-email@econ.fukuoka-u.ac.jp
というMLでアナウンスしています。興味があればご参加ください。
参加方法は、 yigarash-email-help@econ.fukuoka-u.ac.jp にメイルを投げると返送されてきます。


utida kenitirou (EI032186)
Last modified: Tue Oct 4 14:57:15 JST 2005
2010/04/20 東 移植開始

LDAP user to find: maru [auth.php:186]
LDAP Server: ldap://133.100.109.234:389 [auth.php:189]
LDAP Filter: (&(uid=maru)(objectClass=posixAccount)) [auth.php:200]
LDAP user search: Success [auth.php:202]
LDAP search at: ou=People,dc=econ,dc=fukuoka-u,dc=ac,dc=jp (&(uid=maru)(objectClass=posixAccount)) [auth.php:203]
LDAP search found single result ! [auth.php:225]
LDAP group search: Success [auth.php:266]
LDAP search at: ou=Group,dc=econ,dc=fukuoka-u,dc=ac,dc=jp (&(objectClass=posixGroup)(|(gidNumber=1125)(memberUID=maru))) [auth.php:267]
LDAP usergroup: yigarash [auth.php:286]
spam_filter.txt · Last modified: 2010/06/01 18:54 by maru
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0