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