D. J. Bernstein
TCP/IP
ucspi-tcp

rblsmtpd プログラム

rblsmtpd は RBL に登録されているサイトからのメイルを拒否します。 tcpserver の下で動いている SMTP サーバで動かせます。

使い方

     rblsmtpd opts prog
optsgetopt 形式のオプション郡です。 prog は一つ以上の引数から成ります。

通常、rblsmtpdprog を起動します。 prog はメイルを受け取るために SMTP 交信を受け持ちます。

ただし、クライアントからのメイルを拒否するように指定されていれば、rblsmtpdprog を呼び出しません。 代わりに、メッセージの送信の試みを一時的に全て拒否する内蔵の限定された SMTP 交信を行います。一方、記述子 2 にその動作記録を一行書き出します。

クライアントからの接続断が無い場合でも、rblsmtpd は60秒後に限定された SMTP 交信を打ち切ります。

オプション:

拒否されるクライアント

環境変数 $RBLSMTPD が設定されていてかつ空でないとき、 rblsmtpd はメイルを拒否します。 $RBLSMTPD をクライアントに対するエラーメッセージとして使います。 通常、rblsmtpdtcpserver の下で動きます。 tcprules を使って、選択したクライアントに $RBLSMTPD を設定することができます。

$RBLSMTPD が空に設定されているとき、rblsmtpd はメイルを拒否しません。

$RBLSMTPD が設定されていないとき、rblsmtpd は RBL で $TCPREMOTEIP を検索し、$TCPREMOTEIP が登録されていれば、メイルを拒否します。 tcpserver はリモートホストの IP アドレスとして $TCPREMOTEIP を設定します。

オプション:

いくつでも -r-a オプションを付けることができます。 rblsmtpd$TCPREMOTEIP を登録しているソースが見つかるまで各ソースを順番に試します。 -r オプションを付けなければ、rbl.maps.vix.com という RBL ソースを試します。

RBL sources

rblsmtpd 用に自分で RBL ソースや anti-RBL ソースを動かしたいのであれば、djbdns パッケージの rbldns を使うことができます。

以下のような公開 RBL ソースを聞いたことがあります:

relays.mail-abuse.orgrss.maps.vix.com は2000年8月に rblsmtpd で動かすのをやめました。全ての TXT レコードが削除されたためです。 「ゾーンファイルが大きくなっているためそれらが除去された。」とメンテナーは言いました。 rbldns データベースがゾーンファイルより遥かに小さいので、この問題は rbldns では起こらないでしょう。 しかし、MAPS を動かしている人々は BIND に金銭的利害(financial interests)も持っていて、rbldns を使うのを拒否します。

一時エラー

通常、$RBLSMTPD が設定されていれば、rblsmtpd はその限定された SMTP 交信でエラーコード 451 を使います。 これは、まともなクライアントに後で再び接続を試みるように伝えます。 これにより、問題に気づいていない管理者に問題を認識して、中継を禁止し、RBLの登録を取消し、メイルを配送できるようにする機会を与えます。

だたし、$RBLSMTPD がハイフンで始まっていれば、rblsmtpd はハイフンを取り除き、エラーコード 553 を使います。 これは、まともなクライアントにすぐにメッセージを送り返すように伝えます。

RBL 検索においていくつかのエラー処理オプションがあります:


訳:滝澤 隆史(rblsmtpd-0.70 における 前野 年紀 訳を基にしている)
Last modified: Mon Apr 16 20:27:37 2001