トップページ >玄箱> 玄箱メール環境さらに整備中(procmail + SpamAssassin)

« 玄箱メール環境整備中(fetchmail) | トップページ | iNTERNET magazineのPDF公開 »

2005/01/31

玄箱メール環境さらに整備中(procmail + SpamAssassin)


SpamAssassin_logo

fetchmailの導入が無事に終わったので、次はprocmail + SpamAssassinの導入を行います。

今回おもに参考にしたのは以下のサイトです。助かりました!

そして以下が作業記録です。



今回はちょっと難しかったです。

1. procmail、SpamAssassinの導入
$ sudo apt-get install procmail spamassassin webmin-spamassassin ← apt-getで一度に導入します
SpamAssasinwebminのモジュールもついでに入れておきます(使うかどうかは置いておいて)

2. procmailを使うための設定
$ cd ← ホームディレクトリに移動します
$ vi .forward ← procmailを起動するために .forwardファイルを設定します
参考サイトの情報を真似て、以下のように設定しました。
"|IFS=' ' && exec /usr/bin/procmail -f- || exit 75 #kazz7"
ポイントは、procmailのフルパスと、転送先のアカウントの指定です。
その他の記述や正確な内容については他のちゃんとしたサイト等で調べてください。
$ sudo addgroup kazz7 mail ← メールを受け取るアカウントを、mailグループに追加しておきます。
こうしておかないと、procmailのロックファイルの作成に失敗するようです。

3. SpamAssassinの初回起動確認
$ spamassassin -t < /usr/share/doc/spamassassin/examples/sample-spam.txt ← SpamAssassinを起動し、サンプルのSPAMメールを読み込ませて関連ファイルの作成を行います
--> Created user preferences file: /home/kazz7/.spamassassin/user_prefs
ホームディレクトリの下にSpamAssassinのディレクトリ、設定ファイル(user_prefs)が作成されますが……
このuser_prefsファイルは、後ほど丸ごと入れ替えることになります。

4. procmailからSpamAssassinを呼び出すための設定
$ cd ← ホームディレクトリに移動します
$ vi .procmailrc ← いわゆるprocmailのレシピを設定します
いろいろなところを参考にして、以下のように設定することにしました。
#Courier-IMAPを使っている関係で、メールファイルはMaildir形式になっています。
PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir ← Mailディレクトリへのパス
DEFAULT=$MAILDIR/ ← 振分ルールに当てはまらない時(デフォルト)のメール配送先(標準の配送先)
LOGFILE=$MAILDIR/procmail.`date +%y%m%d`.log ← procmailの動作時のログファイルの作成(1日単位で作成)
LOCKFILE=$HOME/.lockmail ← procmailのロックファイルのパス
SPAM=$MAILDIR/.spam.spam/ ← SPAM判定したメールの配送先(完全なSPAM用) IMAPフォルダとしては”spam/spam”と見える
DOUBT=$MAILDIR/.spam.doubt/ ← SPAMかな?判定したメールの配送先(SPAMかも?メール用) IMAPフォルダとしては”spam/doubt”と見える

:0fw: spamassassin.lock
* < 600000
| spamc
600000バイトより小さなメールをSpamAssassinに引き渡す
(大きなサイズのメールは、別途アンチウィルス対策も含めて検討する)

:0H:
* X-Spam-Flag: YES
* X-Spam-Status:.*autolearn=spam
$SPAM
SpamAssasinによってX-Spam-Statusフラグがセットされ、かつSPAM学習されたパターンと合致するもの?を、SPAM扱いとする

:0H:
* X-Spam-Flag: YES
$DOUBT
SpamAssasinによってX-Spam-Statusフラグがセットされたものを、SPAMかも?として、DOUBT扱いとする

5. SpamAssassinをデーモンとして起動
$ sudo vi /etc/default/spamassassin ← SpamAssasinの設定ファイルを修正する
以下の1カ所を修正します
ENABLED=0

ENABLED=1

$ sudo /etc/init.d/spamassassin start ← まずは手動でSpamAssasinを起動します。apt-getでインストールしたところ、次回のサーバ起動時には自動で実行される設定になっています。

6. SpamAssassinを更に設定する
$ cd ← ホームディレクトリに移動します
$ cd .spamassassin ← SpamAssassinの設定ファイルがあるディレクトリに移動します
$ wget -O user_prefs http://tlec.linux.or.jp/docs/user_prefsTLE様謹製の設定ファイルをダウンロードして、デフォルトの設定ファイルを置き換えます

$ cd ← ホームディレクトリに移動します
$ mkdir tmp ← 作業用ディレクトリを作って(別に何処で作業しても良いのですが…)
$ cd tmp ← 作業用ディレクトリに移動します
$ wget http://www.flcl.org/~yoh/yoh_spam_050102.tar.bz2 ← 松田陽一@三鷹様提供のSPAMメールをダウンロードします。個人で沢山SPAMメールがあれば、それを持ってきても良いと思います。
$ tar jxvf yoh_spam_050102.tar.bz2 ← SPAMメールのアーカイブを展開します
$ sa-learn --spam home/yoh/spam/spam/* ← 展開したSPAMメールを使って、SpamAssassinにSPAM学習をさせます
#実際にやったところ、私の玄箱HGでは約45分かかりました。これでSPAM判定のレベルが向上しているはず……

調べながらだったので、結構時間がかかりました。
そもそも手順や設定ファイルの中身もコレでいいのかもちょっと自身がない。

で、Becky2のゴミ箱にあるSPAMメールをいくつかピックアップして、自分のメールアカウント宛に送ってみると、いくつかはSPAM判定され、いくつかはDOUBT判定されて振り分けられることを確認できました。

なんとか形になりましたが、procmailもSpamAssasinも非常に多機能であり、運用の仕方次第では、もっともっと強力なツールとなります。
私の設定はまだまだ改善の余地ありなので、少しずつ強化していこうと思います。
あと、ここまで設定できたので、fetchmailの自動実行も設定しておきます。

7. fetchmailをcronで自動実行する
$ crontab -e ← ルートではなくて、メールアカウントのユーザでcrontabを編集します
私は以下のように設定して、5分間隔でfetchmailを起動してメールを取りに行くようにしたつもりです。
0-59/5 * * * * /usr/bin/fetchmail > /dev/null 2>&1

ここまですると、結構なメール環境が出来てきたような気がします。
後は、アンチウィルス対策としてClamAV + AMaViSの導入、Webメール環境のSquirrelMail、そしてケータイへの転送用にubiqunを導入してみたいと考えています。
まだまだ先は長いな……

ClamAVAMaViS - A Mail Virus Scanner
SquirrelMail

「玄箱」カテゴリの記事

2005 01 31 [玄箱] | 固定リンク はてなブックマーク このエントリーを含むはてなブックマーク del.icio.us テクノラティ・リンク検索結果 |



参考になる本があるかも


参考になりそうなものをGoogleで調べてみる

Google

ウェブ全体から検索
ココログ全体から検索

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/26616/2758570

この記事へのトラックバック一覧です: 玄箱メール環境さらに整備中(procmail + SpamAssassin):

コメント

コメントを書く







dellcampaign3_468x60


Apple Store(Japan)
blogランキング


あわせて読みたい