BIND
DNSサーバとして最もよく利用されているのが BIND らしい
ちょっと調べてみたら日本にあるルートサーバも BIND らしいですね
BIND を利用するために必要なパッケージ
- bind
- bind-utils
- bind-libs
- caching-nameserver
※ caching-nameserver は CentOS6 以降、BIND に統合されたみたい。
Package 32:bind-9.8.2-0.17.rc1.el6_4.4.x86_64 already installed and latest
CentOS6以降の場合
この2種類のパッケージを用意すればよさそうな感じ
yum install bind bind-chroot
BIND の設定
デフォルトの設定では、キャッシュ専用サーバとして利用できる
BIND の設定は、2種類から構成されている
- /etc/named.conf
- DNSデータベースであるゾーンファイル
/etc/named.conf
- ゾーンファイルを格納するディレクトリ
13 directory "/var/named";
※ chroot によって、実際に格納されているディレクトリは /var/named/chroot/var/named
- キャッシュダンプファイルの指定
14 dump-file "/var/named/data/cache_dump.db";
- 統計を保存するファイルの指定
15 statistics-file "/var/named/data/named_stats.txt";
- バージョンの隠蔽
16 version "Unknown";
デフォルトでは、問い合わせに対してBINDはソフトウェア名やバージョン番号を出力する。
これをヒントに的確な攻撃を受けるのを回避するために、ソフトウェアやバージョンが特定できない文字列を指定すると安心感アップ。
- ルートゾーンの設定
38 zone "." IN { 39 type hint; # ルート検索のヒントに利用する 40 file "named.ca"; # ヒントファイルの指定(ルートネームサーバの一覧が記述されたファイルのこと) 41 };
- localdomainゾーンの設定
zone "localdomain" IN { type master; # このサーバがマスターDNSサーバであるという指定 file "localdomain.zone"; # ゾーンファイルの指定 allow-update { none }; # ゾーン内の情報を動的に更新することを禁止 };