
第13回 次世代のセキュリティ拡張DNSSECをBIND 9で実現
鶴長 鎮一
2004/2/24
VIEWによるスプリットDNS
第9回において、セキュリティ対策の一環としてキャッシュサーバとゾーンサーバの分離運用法を紹介しました。問い合わせ元ごとにDNSサーバに求められる機能が違うため、機能ごとにDNSサーバを分けて運用しようというものでした。こうした手法は「スプリットDNS」として広く運用されています。
では、機能ごとにサーバを用意しなければならないのでしょうか。その必要はありません。例えば、ネットワークカードを複数装着してDNSサーバをマルチホームやIPエイリアス化し、それぞれのインターフェイスでDNSを立ち上げるなどの手法があります。
しかし、BIND 9ではもっと簡単に、要求元IPアドレスごとにゾーン情報やBIND 9の振る舞いを変化させることが可能です。
■VIEWを使ったスプリットDNSの例
図5のような例を検証します。
![]() |
| 図5 想定環境 注:第9回図1も参照。 |
内部(192.168.10.0/24)に対してはプライベートアドレスで正引き/逆引きができ、キャッシュサーバ機能を有効にします。外部(内部以外のネットワーク)に対してはグローバルアドレスで正引き/逆引きができ、キャッシュサーバ機能を無効にします。このような場合、通常は次のように2つのDNSサーバを設定する必要があります。
options { |
| 内部向けnamed.conf 注:それぞれのゾーンファイルの記述については、第2回を参照してください。 |
options { |
| 外部向けnamed.conf |
VIEWを用いれば、1つのnamed.confに集約することができます。view{};ステートメントは、match-clientsオプションを使用して、IPアドレスまたは特定のネットワークに合致したものにのみ、指定のオプションとゾーン情報を適用します。
options { |
| VIEWを用いたnamed.conf 注:view名"internal"、"external"には運用しやすい任意の名前を指定します。 |
view{};セクションを使う場合、match-clientsで指定するIPアドレスやネットワークは先頭のview{};セクションから順に評価されます。VIEWを用いたnamed.confでは、まず192.168.10.0/24に合致しているかが評価され(2)、それに漏れたものが次のview{};セクション(3)の評価対象になります。(4)では「any」となっているものの、すでに192.168.10.0/24が評価されているため、192.168.10.0/24以外の要求元IPが評価対象となります。
view{};セクションにはoptions{};セクションに指定できるものがそのまま使用できますが、(5)、(6)、(7)のような、どのview{};にも共通のゾーン情報でも、view{};セクションの数だけ記述する必要があります。
match-clients{};が複数のIPやネットワークで複雑になる場合は、ACL(アクセスコントロールリスト)を用いることができます。
acl "example-net" { |
options{};とview{};では、view{};での指定が優先されます。以下の例では、192.168.10.0/24からアクセスした場合、BINDは(A)ではなく(B)として振る舞います。
options { |
■VIEW使用時の注意
非常に便利なVIEWですが、スレーブサーバの運用には多少難儀します。
スレーブサーバでも同様にVIEWを使う場合、view{};で使用するゾーン情報をマスターサーバから取得する必要があります。しかし、VIEWを用いたnamed.confのような場合でスレーブサーバのアドレスが192.168.10.203の場合、2番目のview{};セクション(3)にたどり着くことができません。先に紹介したように、view{};の評価は先頭から行われ、合致した時点で終了するため、(8)や(9)のゾーンファイルを見つけることができません。このような場合は、ゾーン転送ではなくrsyncや手動でゾーンファイルの同期を行うなどの運用が必要になります。
|
3/3
|
|
|
||||||
|
||||||
| 連載 実用 BIND 9で作るDNSサーバ |
| Linux Squareフォーラム サーバ構築・運用関連記事 |
| 連載:Heartbeatでかんたんクラスタリング(連載中) オープンソースソフトウェアの「Heartbeat」を使ってHAクラスタを実現し、サービスを「落とさない」仕組みを実現します |
|
| 特集:Apache 2.2でWebサイトをパフォーマンスアップ! 最新安定版Apache 2.2は、何が変わったのか? 最新のApacheを新機能の使い方とともに解説する |
|
| 連載:実用 Apache 2.0運用・管理術(全8回) 本連載では、Apache 2.0の運用や管理方法を解説する。まず必須設定と基本的なセキュリティ対策を行い今後の運用に備える |
|
| 連載:実用
BIND 9で作るDNSサーバ(全15回) 本連載では、BIND 9の構築/運用方法を解説していく。実際に役立つことを目的に、セキュリティや大規模運用などのテーマを取り上げていく |
|
| 連載:実用qmailサーバ運用・管理術(全14回) 本連載を通して、qmailによるメールサーバの高度な構築・運用・管理術を紹介。SPAM対策やML管理からサーバでのウイルスチェックなどまで |
|
| 特集:Samba
3.0の全貌 改訂版 Samba 3.0リリースから8カ月。ここであらためて、Samba 3.0系列の新機能、インストール方法、国際化の現状を解説する |
|
|
TechTargetジャパン
- 新しい記事も入っていて安心しました (2012/2/7)
Linux Squareのアクセスランキングを公開します。定番の記事ばかりでなく、連載中の記事もよろしくお願いいたします - エラーメッセージをどう扱うか? (2012/2/2)
今回は、スクリプト実行時にエラーが発生したことを知らせるメッセージの扱い方を説明します - ファイルのアップロードを制限する (2012/1/30)
HTTPクライアントがアップロードしてくるファイルの扱いについて解説します。そもそも受け入れる必要があるのか? ということのほかにも、いろいろ設定が必要です - OSに付属するシェルスクリプトを読んで技術を盗む (2012/1/27)
シェルスクリプトマスターに近づくには、他人から技術を盗まなければならない。OS付属のスクリプトから技術を盗もう
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

