Djbdns
djbdnsはダニエル・バーンスタインにより開発されたDNSサーバ用ソフトウェア。
概要
DNSキャッシュサーバのdnscacheとDNSコンテンツサーバのtinydnsを2つの柱として構成されている。BINDとは違い非常にシンプルかつ堅牢な構造をしており、バーンスタインは djbdns のセキュリティホールの第一発見者へ1000ドルの懸賞金を与えることを発表していた。2009年2月に Matthew Dempsky によりキャッシュ汚染攻撃が可能であることが発見され、Dempsky は懸賞金を獲得した。2009年3月現在、発見されたセキュリティホールはこの1個のみである。
2007年冬、パブリックドメインとなる。
特徴
キャッシュサーバとコンテンツサーバの分離が djbdns の大きな特徴である。BIND では、このふたつのサーバ機能を単一の named と呼ばれるデーモンで管理していた。キャッシュサーバである dnscache の機能は、クライアントからのクエリを受付けて再帰検索を行い、名前解決を行い、得た情報をキャッシュすること、コンテンツサーバである tinydns の機能は、回答すべきゾーン情報を管理し、問い合わせに答えるという機能をもつ。コンテンツサーバはあくまでも自ゾーン情報を公開するためのもので、DNS情報のキャッシュや再帰検索は行わない。キャッシュサーバとコンテンツサーバの機能はまったく別であり、同一サーバでこのふたつのデーモンを稼働させることは推奨されていない。また、組織外に公開すべきではないキャッシュサーバをうっかり公開してしまうミスを防ぐこともできる。
djbdns は、デーモンだけでなく、各種のツールも単機能のプログラムが協調して動く設定になっている。また、可能な限り root 権限を使用せず、デーモンは、chroot して動作する。設定ファイルも簡素である。djbdns はその管理に、daemontools と呼ばれるミドルウェアを使用する。tinydns の DNSデータベースの格納には、cdbと呼ばれる高速なハッシュ化データベースが使用される。
djbdns では、CNAME の使用は可能だが推奨されてはいない。Aレコードを使用することが推奨されている。