«前の日記(2004-08-01) 最新 次の日記(2004-08-08)» 編集

しにふぃえの雑記、或いはネタ。


2004-08-07 SpamAssassin様が見てる

SPAM対策について友人の日記でつっこみを入れたので、ちょっと補完

※うちはSpamAssassinを使ってますが、無論これ以外にも色々あるので、googleとかで調べてみるのも良いでしょう(苦笑)

先ず、うちの今の環境を示すと

ISP-----[fetchmail]--[procmail]--[qpoper]-----[client]
              ↓↑
           [SpamAssassin]
といった感じになっており、この内のfetchmailからqpoperまでの行程をサーバ上で行ってます。

動作を順序立てて書くと、先ずプロバイダ(ISP)からfetchmailがメールを取ってきてprocmailに渡して、渡させたprocmailは一旦spamassasinにメールを渡します。
SpamAssassinはメールをSPAMの特徴を基に点数評価(例えば特定の単語が入っていれば+1点であるとか、htmlメールであれば+1点であるとか)し、この合計点が予め定めた値を超えていれば、SPAMであると判断します。

無論、ネット上で公開されているフィルタ(ブラック)リストを参照する設定もあるのですが、何故かcompile中にエラーが出るので、うちでは使用しておりません(^^;

そして、SPAMであると判断された場合は、メールヘッダにX-Spam-Flag: YES というflagを立て、メール本文を添付ファイル化して、本文にSPAM判定と本来のメールの冒頭部分を抜粋記述した後に、procmailに返します。
(spamと判断されない場合は、NOのFlagを立てる以外は特に何もしないです)
procmailはこれらの後に、ローカルのメールサーバとして動作しているqpoper(qmail)へメールを渡すので、後はclientからqmailへアクセスして取り出せばOK

このようにSpamAssassinがやってくれるのは、判断と印(Flag)付けだけです。

市販されているツールみたいにVirusをcutしたり、SPAMそのものを削除したりはしないので、 そのあたりはメールを受け取るclient側で行うことになります。
具体的には、メールソフトにある振り分け機能でSPAM-Flagが立っているメールを特定のフォルダ (まあ、ゴミ箱でも良いのですが)へ振り分けるのが妥当な線だと思います。
無論、procmailの設定でSPAM-Flagが立ってるメールを削除することも可能なのですが、これは 機械処理による誤判断の可能性を排除出来ないので、お勧め出来ません。

実際の運用では、企業からの(有用な)メールなどがSPAMと判断される例が希にありますので、 SPAM用のフォルダを作り、SPAMと判断されたメールは一度そのフォルダに入れて、その後に削除 するのが妥当な運用かもしれません。

この運用が出来る条件として、local(net)に配信用のメールサーバが在ることが条件になるのですが、 OSX(Macintosh)なら、それ自身の上でメールサーバを走らせて自分に配信する方法で実現出来るかも?

まあ、これ用にlocalに汎用サーバを立てるのも色々と役に立つかも?
サーバが手元にあると色々と利用価値がありますよ(笑)

なお、SpamAssassinは結構重いので、そこそこのCPUを積んでいる計算機じゃないと荷が重いかもしれません。
まあ、うちのalto(P3-866MHz RAM:512MB)で問題ないので、そんな感じですが(^^;;


Copyright © 2004-2013 By Signifie. All rights reserved.
(A part of photograph,data,poem and etc. are excluded.)