DNSBLクライアントのライブラリdnsbl_clientをGithubに置きました。

komagata’s dnsbl_client at master ? GitHub

Install:

% sudo gem install komagata-dnsbl_client -s http://gems.github.com

Usage:

require 'dnsbl_client'
DNSBL::Client.new('list.dsbl.org', 'niku.2ch.net').listed? '61.211.32.39' # safe ip
=> false
DNSBL::Client.new('list.dsbl.org', 'niku.2ch.net').listed? '78.157.143.202' # spam ip
=> true

2chのDNSBL、BBQ用のライブラリも同梱してます。

require 'dnsbl_client'
DNSBL::BBQ.listed? '61.211.32.39' # safe ip
=> false
DNSBL::BBQ.listed? '78.157.143.202' # spam ip
=> true

何で作ったのか

人への嫌がらせ方法も進化したのか、「玄関前に猫の死体」から「ピザの大量注文」になり、最近では「お墓の資料の大量注文」というのもあるようです。

仕事で霊園(お墓)のサイトをやっています。そこでは、お墓を買う予定のある方が興味のある霊園(を運営する石材店)にフォームから資料請求できるようになっています。

この資料請求はお墓の購入にほとんど直結するといってもいいような確度を持つ大事なものです。(お墓は高いすからね)

普通は特定の市、区全体にカラーの広告を配布してやっと1件、2件獲得できる。それがお墓の資料請求なのです。

で、やられました。お墓の資料の大量注文。オープンプロクシ経由でゲイバーに。

そのプロクシ:

% nmap xxx.xxx.xxx.xxx
Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2008-09-20 20:41 JST
Interesting ports on xxx.xxx.xxx.xxx:
Not shown: 1655 closed ports
PORT     STATE    SERVICE
21/tcp   open     ftp
53/tcp   open     domain
80/tcp   open     http
88/tcp   open     kerberos-sec
135/tcp  open     msrpc
139/tcp  open     netbios-ssn
157/tcp  open     knet-cmp
179/tcp  filtered bgp
389/tcp  open     ldap
445/tcp  open     microsoft-ds
464/tcp  open     kpasswd5
554/tcp  filtered rtsp
593/tcp  open     http-rpc-epmap
636/tcp  open     ldapssl
1026/tcp open     LSA-or-nterm
1027/tcp open     IIS
1050/tcp open     java-or-OTGfileshare
1720/tcp filtered H.323/Q.931
1723/tcp open     pptp
1755/tcp filtered wms
3268/tcp open     globalcatLDAP
3269/tcp open     globalcatLDAPssl
7070/tcp filtered realserver
8080/tcp open     http-proxy
8443/tcp open     https-alt
Nmap finished: 1 IP address (1 host up) scanned in 65.058 seconds

Windowsなのでスパムメールより主にプロクシとして日本から便利に活用されてるホストみたいです。

追跡を断念して今後の予防策を調べてみたところ、知ったのが2chで使っているDNS BlacklistのBBQです。

DNSBLはスパムメール対策としてよく使われるみたいですが、スパムメール対策としては効果は微妙なようです。ですが、BBSやコメントスパム対策にはかなり効果がありそうです。

荒らしの総本山といえる2chのデータを元にメンテナンスされているBBQのブラックリストは日本で使うには一番の品質なんじゃないでしょうか。実際、上記のプロクシのIPも登録されています。

実装の方は、Apacheで直接DNSBLを使えるモジュールもありますが、完全に弾くだけでなく、どこかに退避させたりしたいのでアプリの中から使いたいところです。PHPではPEARにNet_DNSBLというライブラリがあるみたいです。Rubyで見当たらなかったので作ってみたというわけです。

まだテストもなくしょぼいコードなので何かあったらご指摘(もしくはpush)いただければと思います。

参照:

Comments


Option