DNSサーバ
■ DNSサーバ。 DNSにおけるネームサーバのこと。 ホスト名を元に、ホストのIPアドレスを教えてくれる機能を持つ。 代表的なソフトウェアとしてはBINDがある。 ■ BIND。バインド。Berkeley Internet Name Domain。 DNSを司る代表的なアプリケーション。 カリフォルニア大学バークレー校が最初に開発し、配布したDNS実装。 世界に13箇所のルートネームサーバはBINDで運用されている(RFC2010)。 ほとんどのUNIXに標準でインストールされているほか、 WindowsNT/2000用のものも用意されている(BIND NT)。 BINDはソースコードが公開されているため、現在3つの系統に分かれている。 最新バージョンはそれぞれ、9.2.1、8.3.4、4.9.9(2002年11月現在)。 次々と露呈するセキュリティホールを埋めるため、 アップデートは頻繁に行われている。 ネームサーバの対抗馬としては、 バインドの問題点を解決した djbdns というソフトがあり、 こちらも広く知られている。 ■ 基本的な設定。 named.confで行なう。 named.confはBINDが起動時に最初に読み込む設定ファイルである。 ただしnamed.confに全ての情報を記述するのではない。 BINDでは機能別に設定ファイルが分かれているので、 これらを個々に設定し、named.conf内から参照しておく。 そうすれば、起動時にあわせて読み込まれる仕組みになっている。 具体的には、以下の4種類である。 (1) 正引きゾーンファイル ***.zone。 (2) 逆引きゾーンファイル ***.rev。 (3) ループバックファイル local.zone/local.rev。 (4) ルートキャッシュファイル named.ca。 ■ 正引きゾーンファイル。 ホスト名からIPアドレスを解決するためのデータベース。 正引きゾーンファイルでは、下記のレコードを設定する。 (1) SOAレコード。 自身のゾーン全体に関する基本的な項目を設定する。後述。 (2) NSレコード。Name Server Record。 自分が管理するドメインのネームサーバをホスト名で指定する。 (3) MXレコード。Mail Exchange Record。 自分が管理するドメインのメールサーバをホスト名で指定する。 (4) Aレコード。Address Record。 ホスト名のIPアドレスへの変換を記述する。DBの本体。 (5) CNAMEレコード。Canonical Name Record。 ホストに別名がある場合にここで指定する。 ■ 逆引きゾーンファイル。 IPアドレスからホスト名を解決するためのデータベース。 逆引きゾーンファイルでは下記のレコードを設定する。 (1) SOAレコード。Start of Authority Record。 自身のゾーン全体に関する基本的な項目を設定する。後述。 (2) NSレコード。Name Server Record。 自分が管理するドメインのネームサーバをホスト名で指定。 (3) PTRレコード。Pointer Record。 IPアドレスのホスト名への変換を記述する。 IPアドレスは逆順で記載することに注意する。 ■ ループバックファイル。 ローカルホストのループバックアドレスの設定を行う。 ■ ルートキャッシュファイル。 ルートネームサーバのIPアドレスを記述する。 ■ SOAレコード。Start of Authority Record。 自身のゾーン全体に関する基本的な項目を設定する。 (1) ホスト名/管理者のメールアドレス (2) シリアル番号 ゾーン情報ファイルの新しさを示す数値。 一般的には、設定日時と連番から作成。 情報を更新するたびに数字を増やす。 (3) リフレッシュ期間 セカンダリDNSがゾーン情報を更新する間隔。 (4) TTL 外部のサーバがゾーン情報をキャッシュする際の有効期間。 (5) ネガティブキャッシュ ドメインがないという情報の有効期間。 ■ セキュリティ対策。 (1) 専用のユーザ権限の作成。 BINDを特権ユーザで実行すると、 BINDのセキュリティホールに攻撃を受けた場合、 その権限を奪取される可能性がある。 これを防ぐために、named専用のユーザを作成し、 そのユーザ権限でBINDを実行する必要がある。 (2) チェンジルート。chroot。 BINDから参照できる最上位のパスを、 より下位のパス(etc/namedb等)に変更しておく。 こうすることで、BIND経由でのシステムへの攻撃を防ぐ。 [ つづきはこちら ] 2004/03/16 pm