2009年6月21日

[postfix-jp: 3513]RBL 等 DNS 情報を使用して action を指定

荻野と申します。いつも勉強させていただいています。

現在、Postfix 2.5 を使用しています。

Postfix から spamhaus.org 等の RBL を参照する方法として、
reject_rbl_client
がありますが、これは maps_rbl_reject_code を返すことしか出来ないように見
えます。しかしサイトのポリシーにもよりますが、IP アドレスまたは IP アド

レスブロックをベースとしている以上、なかなか RBL を完全に信頼するという
わけにはいかない場合は良くあると思われます。

さて、

Postfix クライアント/サーバ/他ごとのアクセス制御
http://www.postfix-jp.info/trans-2.3/jhtml/RESTRICTION_CLASS_README.html

には

> Postfix SMTP サーバは SMTP サーバ access(5) テーブルの右側部分で
> reject_rbl_client や reject_unknown_client_hostname といったアク
> セス制限をサポートしています。

とありますが、この逆に access(5) の右側に相当する部分に RBL に掲載されて
いるクライアントを指定する方法は Postfix 標準、またはメジャーなポリシー
サーバ等の手段はありますでしょうか。もしご存知の方がいらっしゃれば教えて
ください。


実は Postfix 付属のサンプルを元に自分で書いてみてから気になって質問させ
ていただきました。

とりあえずコードだけ Web に載せてあります。
http://verama.net/rbllookup/rbllookup.pl
サンプルを参照しながら GPL として良いのかどうか良くわかりませんが…


背景:

頻繁に騙られるドメインからのメールを greylisting する
http://www.postfix-jp.info/trans-2.3/jhtml/SMTPD_POLICY_README.html#frequent

には、Greylisting の対象を check_sender_access によって部分的に適用して
副作用の範囲を抑える例が紹介されています。

これに類似して、Rgrey < http://k2net.hakuba.jp/rgrey/>; では DNS 逆引きが
S25R パターンに該当するか逆引きが出来ない場合にのみ greylisting を適用し
ています。

これらは迷惑メールの可能性が高いところに限定しようということですが、それ
をいうなら RBL に掲載された IP アドレスも迷惑メール送信の可能性が非常に
高いと言えそうです。したがって RBL に掲載されている場合に action を指定
できると、S25R と比較しても高い精度でチェックできるのではと考えた次第です。


現在私が管理しているサイト(1日あたり inboud で2万通弱)での観測によれ
ば、greylisting をすり抜ける迷惑メール送信元であっても、ほとんどが 30分
以内の再送しか行わないようです(国内の出会い系サイトは例外)。したがって
Postgrey 等で30分や 1時間のブロック期間を指定すれば、大幅に迷惑メールを
削減できそうです。が、これを全部のメールに使用すると害が大きすぎます。

一方、すり抜けたメールの送信元は zen.spamhaus.org にかなり載っているよう
です。そこで、これらを組み合わせることができないかと考えました。


この考え方についてもご意見をいただければ幸いです。

--
荻野 充 (おぎの みつる) ... 「萩(はぎ)」にあらず
Key fingerprint = 7F26 5414 1805 F31B 1617 10B7 C117 07AE 1691 9BD1

_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list


投稿者 xml-rpc : 2009年6月21日 20:02
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/86028
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。