white listとローカルなblack list


white list

rblsmtpdなどを使ってスパム対策を行なう際には、 white listも作っておくのが安定運用のカギになります。

理由

ブラックリストやenvelope senderのチェック(qmail-1.03-mfcheck.3.patch)は、 ネットワークや問いあわせ先の状態によっては、ちょっとした遅延を発生させます。 また、時にはブラックリストがおかしなリスティングしたり、ダウンしたりすることもあります。
まったくチェックの必要がないことがわかっている相手までチェックするのは、 キャッシュが効くとはいえリソースの浪費でしかありませんし、運用の不安定要素を増やすことになります。
smtpdのログなどから頻度の多いものを拾って、 ホワイトリストに入れておくと、 半分以上の不要なチェックが減らせるかもしれません。(ホワイトリストの作成と保守)
もちろん、スパムチェックに引っかかるが、 例外として通したいサーバも同様に設定をします。

設定

tcpserverを使っていれば、qmail-smtpdのrelay制限にcdbを使っていると思いますので、 それを利用してチェックをスキップするための環境変数を設定します。 (tcp_wrapperは省略)

チェック dnsbl envelope sender
環境変数名 RBLSMTPD MFCHECK

(例:RELAYCLIENTなどを設定しているファイルに追加)

# mailing list
203.139.121.131:allow,RBLSMTPD="",MFCHECK=""
# mail magazine
203.174.64-79.:allow,RBLSMTPD="",MFCHECK=""

ローカルなblack list

同様にrblsmtpdが参照する環境変数の設定で、 特定のサーバを拒否することができます。
また、rblsmtpdでヒットした場合は、 一時エラーで受け取りを保留するように設定する(-bを指定しない)ことが多いと思いますが、 対策を行なわないまま繰り返し送信を試みてくるサーバを一発拒否することもできます。


(例:RELAYCLIENTなどを設定しているファイルに追加)


# 受け取り保留(451)
111.xxx.222.333:allow,RBLSMTPD="you relayed many spams to me, fix it ASAP!"
# 一発拒否(553)
111.yyy.333.:allow,RBLSMTPD="-I am a fervid hater of korian laver!"

というようにRBLSMTPDに拒否理由を書いておきます。 この文字列を"-"で始めると、パーマネントエラー(553)になります。(下の例)

複数のサーバで同じローカルブラックリストを使う場合は、 メンテナンスの方法を考えておかないと運用が大変です。 素直にrbldns(rbldnsの設定例)を動かすか、 既存DNSでの設定を行うほうが良いかと思います

INDEX
Hiroshi Tsukamoto
Last modified: Thu Jan 29 21:44:31 JST 2004