Postgrey は ISG.EE の Devid Schweikert 氏によって開発された greylisting(SPAMを防御するための一種の方法)を実装するPostfix ポリシーサーバです。
メールの配送を求める要求がSMTPを通してPostfixによって受け取られるとき、この三つ、CLIENT_IP・SENDER・RECIPIENTが組立てられます。
この三つが見られるのが1回目のとき、もしくはこの三つの組が最初に見られたら、5分未満前にメールは一時的エラーで拒否されます。うまくいけば、この仕組みがRFCで必要なので、スパマーもしくはウイルスはメール送信を再トライしないでしょう。つまり、機械的にプログラムを組んで送信してるスパムのほとんどは、一回目に目的のサーバに拒否されると、その場であきらめてしまうものが多いのです。なぜなら、より多くの宛先へSPAMMERはSPAMメールを送信しなければならないため、2回目以降は再送しないのです。
ただし、Postgreyによって大きな効果は得られますが、完全な防御とは言えません(なぜなら、hotmailや踏み台にされた正規のメールサーバのようなアカウントから配信されるスパムは一回目拒否されてもリトライするからです)。SPAMに対して完全に近い防御をするには、ベイジリアン型のSPAMフィルターとの併用をお勧めします。SPAMフィルターとの併用で約90%近いSPAMブロックが実現できると思います。例えば、私は
bogofilter + Postgrey
あるいは、 bsfilter + Postgrey
でSPAMブロックの効果を上げています。是非、試してみてください。
S25R(Selective SMTP rejection) + Postgrey
:
S25R + Postgrey な方法も最近多くなりました。S25Rは、SMTPサーバへコネクトしてきたホストをDNSで逆引きして、そのホストの正当性を評価して可否を判断する仕組みです。確かに理にかなってる判定手段だと思います、ですから私は否定はしません。しかし、過去にこれを私は設定していたがために、友人のDynamicDNSメールサーバから送られてきていたメールを拒否してしまいました。S25Rは、場合によっては全てのメールサーバの柔軟性を欠いてしまう手段だと思うのです。S25Rは、Postfixで言うとmain.cfファイルの設定パラメータ、smtpd_client_restrictions
= reject_unknown_client のように設定すれば実現できます。しかし、私はあえてS25Rは使わないで、 SPAM常習サーバDB(spamcop.net、opm.blitzed.org他)からホストの正当性を評価
して Postgrey でさらに判断を加えています。ホワイトリストを使うという手段は有りますが、S25Rは一部の正規なメールサーバを遮断してしまう行為です。
S25R + greylisting
とは言うものの、世の中SPAMを飛ばす馬鹿たれが多いので「Outbound Port 25 Blocking」とか、前述した「S25R」の対応策が今後珍重されていくことは目に見えています。そこで、S25Rで誤検出された正当なメールサーバを救済するためのチェック方法を
Rgrey という名前で佐藤 潔さんが提唱しています。これは、S25Rでしょっぱな
reject されたが、その後改めて再送してきメールを正当なメールとしてホワイトリストへ登録する自動化スクリプトの事です。つまり、その動きが Greylisting
だったりします。スパムの検出効率ももちろんですが、何よりS25Rの欠点を補う解決策だと私的には注目しています。
また、Postfixポリシーサーバがどう動作するかに関しての記述は ここ
を見てください。
Greylisting:
確かに、SPAMを防御するための一手法。
メールの受信時に、SPAMを送信してくる疑いの濃いいサーバ(例えば、数字の羅列で命名されてるホスト名や頻繁に変わる可能性があるホスト名)からのメールを一回目拒否します。正当なサーバであれば、メールが一回目拒否されてもリトライして送信を完了させるが、SPAMを送信するサーバは、拒否された時点で送信をあきらめるため、SPAMの量を著しく減らすことが期待できます。ただし、受信を一回目拒否するため、メールの配送遅延が発生します。
Whitelisting:
Greylistingによって正当なメールが永続的に受信拒否されるのを防ぐため、明らかに正当なメールのみを送信してくるメールサーバをホワイトリストに登録して、以降、そのサーバが正当であるかぎり無条件でメールを受信を許可します。このとき、Greylistingは動作しません。
Postfix2.1.1にgreylist.plを含んでいるケースを例にとると、Postgreyは以下の付加的な機能を持っています:
これは、greylistingの有効性を示したグラフです:

Download it here Now Release postgrey-1.32.tar.gz testing SQLite postgrey-2.0alpha1.tar.gz
インストールに必要なPerlモジュール:Postgreyのソースインストールに関しては、 SPAM撃退モジュール postgrey
を Postfix で使用する! を参考にしてください。
FreeBSDへのインストールは、 ゆみどんサイト の FreeBSD4.8
postgrey導入 や FreeBSD
6.2 postgrey-1-27導入 を参考にしてください。
CentOSへのインストールに関しては、 CentOSでPostgreyを動かす!
もしくは、 CentOS5.0でpostfix+amavisd-new+clamd+postgreyのインスコ!
を参考にしてください。
検討中
Postgreyの本(リファレンス)は、Postfix Buch(ドイツ語で書かれている)でRalf Hildebrandt氏とPatrick Ben Koetter氏が説明しています。
以上
postgrey was made by DevidSchweikert
.
As for the Japanese site of Postgrey
made it.
Copyright 2007 Kozupon.com. ![]()