ホワイトリストの作成と保守
ホワイトリストの作成
ブラックリストの運用を始める前に、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