DNSBLTool

DNSBLTool ってなに?

DNSBLTool は plone サイト上で 任意のIPをDNSBLサービスへ問い合わせてブラックリスト登録済かをチェックする機能を提供するツールです。

インストール

  1. DNSBLTool を zope の Products ディレクトリに配置して zope を再起動します。
  2. 'サイト設定' → 'プロダクトを追加・削除' からインストールします。

条件

DNSBLTools は下記のプロダクトに依存しています:

  • Zope >= 2.9.x or 2.10.x
  • Plone >= 2.5.x or 3.0.x
  • ATContentTypes >= 1.1.4 or 1.5.3

多分、2.x以降のPloneであれば動くと思います(未確認)

ライセンス

GPL version 2 です。

動作環境(テスト済環境)

  • Plone 2.5.3-final (Zope 2.9.7-final, python 2.4.4, win32)
  • Plone 2.5.3-final (Zope 2.9.7-final, python 2.4.4, linux2)
  • Plone 3.0.2 (Zope 2.10.4-final, python 2.4.4, win32)

使い方

DNSBLTool の設定

サイト設定DNSBLTool の設定 で(↓)の画面にて各種設定を行って下さい。

DNSBLToolの設定画面

DNSサーバーリスト
DNSBLサービスを提供しているDNS名を指定して下さい。換えたい場合に指定するDNS名は各人でググって下さいね。
初期値は ['niku.2ch.net','all.rbl.jp','bsb.spamlookup.net','sbl-xbl.spamhaus.org','bl.spamcop.net']
(config.py の DEF_DNS_LIST にて設定)

ホワイトリスト
DNSBLサービスに問い合わせずに無条件でBlackList?未登録とするIPや、HOST名を指定します。指定方法は以下の通りです。

  • 1 IP : xxx.xxx.xxx.xxx で
  • IP範囲指定 : '1.1.1.1'から'1.1.1.255'を範囲指定する場合は「1.1.1.1 1.1.1.255」です(半角スペースでセパレート)。
  • HOST名 : 一部でも指定可能です。「hoge.jp」とした場合は、この文字列が含まれるすべてが対象となります。
初期値はローカルネットワークIP(192.168.0.0~192.168.255.255と127.0.0.1)
(config.py の DEF_WHITE_LIST にて設定)

ブラックリスト
DNSBLサービスに問い合わせずに無条件でBlackList?登録済みとするIPや、HOST名を指定します。指定方法はホワイトリストと同様です。
初期値はなしです。

DNSBLTool テスト

ZMIの/portal_dnsbltool にIPアドレスがBlackList?に登録されているかテストする機能を搭載してます。
また、このテストではDNSBLTool の設定 画面で設定されている値が反映された結果を出力します。
テストする場合は、テキストボックスに調べたいIPを入力して「inquiry」ボタンを押下して下さい。

DNSBLToolテスト画面

DNSBL問い合わせ関数の使用

DNSBLToolには以下の関数が存在します。

def isDNSBLRegisteredIP(self, ipaddr):

本関数は、IPアドレス(str)を引数とし、BlackList?に登録されている場合は True 、登録されていない場合(error時含む)は False を返すようになっています。
COREBlog2 の コメントやトラックバック受信処理でこの関数を使用して受信を弾くなど・・・あとはお好みで。

ex) Python script

from Products.CMFCore.utils import getToolByName

dnsbltool = getToolByName(context,'portal_dnsbltool')
client_ip = context.REQUEST.getClientAddr()

# check BlackList IP
if dnsbltool.isDNSBLRegisteredIP( client_ip ) :
    # Client IP is resistered BlackList!!
    (受信拒否処理など)
else :
    (受信処理など)

添付ファイル