TCP_Wrappers with RBL

おなじみ tcp_wrappers に RBL を使ってアクセス可否を決められるようにするパッチを作ってみた。いや、そういうパッチは以前から存在してたけど、MAPS (の古いやつ)しか使えないので。

今どきの PC-UNIX だと tcp_wrappers を自力で make する機会なんて皆無だけど、がんばってコンパイルしてくださいまし。STYLE=-DPROCESS_OPTIONS が有効になってないとダメ。このパッチが当たっていると、hosts.allow で allow, deny のかわりに

sendmail : ALL : rbl example.com examle.net

のような記述ができるようになる。この場合 10.1.2.3 からの接続に対して 3.2.1.10.example.com か 3.2.1.10.example.net が存在すればアクセスを拒否し、いずれも存在しなければ許可される。接続元が IPv6 なホストだった場合は許可される(はず。動作未確認)。必ず行末に最後の条件として記述すること。

なお、C の読み書きができないやつが作ったパッチなので注意。


で、使い道なんだけど…。

存在意義ないよなぁ(ぉぃ)。tcp_wrapper を使うものって、広く世界中に公開する性格のものって少ないから。inetd から起動される各種サービスだけでなく、OpenSSH や NetSNMP あたりも libwrap を組み込むことが可能だけど、どれもこれも RBL に頼らず許可するネットワークを明示できるものばかりでしょ。

不特定のホストからアクセスされる可能性のあるものとしては、上の例で挙げたように libwrap つきでビルドした sendmail があるけど、これはこれでこのパッチがなくたって cf をいじれば自力で RBL に対応できるし。cf を作りなおして kill -HUP しなくてもよくなるけど、それほどメリットというほどじゃないし。

あとは mod_hosts_access を組み込んだ Apache で使うといった程度か? でも mod_access_rbl(1.3.x, 2.0.x)があるし。

ま、そんなわけで、パッチを作った本人もまったく使ってません。自分の書いた C のコードなんて自分自身が信用してないし。


もどる
<y@maya.st>