ホワイトリストの作成と保守


ホワイトリストの作成

ブラックリストの運用を始める前に、MTAのログから接続回数の多い IPアドレスを拾いホワイトリストとして使います。

qmail-smtpdのログなら

#!/bin/sh
cat  /var/log/smtpd/current /var/log/smtpd/@* \
| awk '$5 == "from" {print $6}' | sort | uniq -c | sort -n \
| awk '$1 > 10 {print $2,$1}' | dnsfilter

こういったものを元にして作ります。そのほかに、絶対に拒否などが 起きては困る相手(たとえばco.jpやac.jpでgrep)なども拾っておくと良いかと思います。

ホワイトリスト作成後の保守

ホワイトリストを作成したあとは、前記の方法ではすでに登録してある ものかどうかを判定しないとならず面倒ですし、複数のMTAに適用し た場合にも集計しないとならず不便です。

それでdnsを使います。楽な方法としては、rbldnsを動かしておき rbl-smtpdのひとつめの-rで指定しておき、rbldnsのログから拾うと いうやりかたがあります。
これですと、すでにホワイトリストに登録してあるものはクエリを してこないので、実際にブラックリストを参照しているものだけを 集計できます。もちろん、rbldnsは空である必要はありません。

IPアドレスに余裕が無い場合などは、常にnxdomainが返る適当なゾー ンを指定して、tinydnsにクエリをかけさせ、ログからそのゾーンの ものだけを拾うという方法を取ることもできます。

rbldnsを使ったほうが良いのは、rbldnsがnxdomainにSOAを付加さ せないためにネガティブキャッシュが働かず、実接続数を把握で きるからです。


BACK INDEX
Hiroshi Tsukamoto
Last modified: Thu Jan 29 21:43:39 JST 2004