DNSリゾルバのニューフェイス「Unbound」
DNSキャッシュ汚染に対する防御力強化も株式会社 サードウェア
岩崎 登f
2008/10/17
Unboundの基本的な設定
Unboundは高機能ではあるものの、基本的な設定は至ってシンプルに設計されている。通常のDNSキャッシュサーバとして動かすだけであれば、デフォルトの設定値で動作させることができ、動作設定からレコードの設定までをunbound.confという1つのファイルのみで行うことができる。
デフォルト設定であっても、DNSキャッシュ汚染の攻撃を受けにくい動作になっているのがUnboundの利点である。
1. アクセス制限の設定
unbound.confのデフォルト設定値では、ローカルエリアネットワーク内からのアクセスを許可する設定となっている。ローカルエリアネットワーク内でさらにセグメントを制限したい場合や特定のクライアントのみで動作させたい場合などは、143行目付近にある[access-control]を設定する。
以下の設定は「ローカルエリアネットワーク内、192.168.11.0/24のセグメントのみ」のアクセスを許可する設定である。
/etc/unbound/unbound.conf 136行目から |
Unboundはこれだけの設定で、DNSキャッシュサーバとして動作してしまう。簡易なDNSコンテンツサーバとしての機能を利用する場合は、さらに以下のレコード設定を追加する。
2. レコードの設定
レコードの設定は、334行目付近に以下のように追加する。レコードの追加は、/etc/hostsと同様に、[local-data]の設定を列挙すればいい。
/etc/unbound/unbound.conf 334行目から |
起動と動作確認
ソースコンパイルされたUnboundには起動スクリプトが含まれていない。Unbound本体は、[/sbin/unbound]としてインストールされているので、直接コマンドを指定して起動する。起動の際、設定ファイルを読み込むオプションを指定する。
# /sbin/unbound -c /etc/unbound/unbound.conf |
Unboundの起動を確認する手段として、プロセスの確認、リッスンポートの確認をする。
# ps ax | grep unbound |
■リゾルバの設定
Unboundが起動したら、名前の解決をUnboundで行うため、クライアントのリゾルバを設定する。リゾルバの設定は、/etc/resolv.confの[nameserver]の項目を編集する。以下の例は、Unboundが起動しているサーバのIPアドレスが192.168.11.10の場合のresolv.confの設定例である。
nameserver 192.168.11.10 |
■名前解決の確認
正常に名前の解決が行われているかを確認するために、digコマンドを使用する。digコマンドはBINDとともに提供されているユーティリティであるため、BIND関連のパッケージをインストールしていない場合は使用できない。この場合は、Unbound開発元のNLnet LabsからNSDとともに提供されているツール「drill」を使用する。
# dig host-a.localnet.jp |
そのほかにも豊富な機能が
Unboundで名前解決を行うための基本的な導入は、以上のように簡単な設定で実現できる。Unboundにはさらに、IPv6やDNSSECといった機能も搭載されている。こうした細かい機能については、Unboundとともにインストールされているマニュアル(英語)に記載されているので、興味がある方は参照してほしい。
このようにUnboundは、BINDに比べて非常に簡単な設定で外部からのアクセスを制限し、DNSキャッシュポイズニングの攻撃を受けにくい状態で動作する。これは、高性能であるがゆえに複雑になったBINDの設定項目が原因となり、ユーザーが自らセキュリティホールを発生させてしまう現象を解決してくれる。特に、外部に公開せず、ローカルエリア内でのみ名前の解決をする環境であれば、無理にBINDを使うよりも、シンプルなUnboundの利用を検討してみてはどうだろうか。
2/2 |
|
||||
|
Linux Square全記事インデックス |
Linux Squareフォーラム 仮想化技術関連記事 |
連載:実践! Xenで実現するサーバ統合 有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します |
|
特集:サーバの仮想化技術とビジネス展開の可能性 jailからUML/VMwareまで 1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった |
|
特集:仮想化技術のアプローチと実装 VMwareから要注目技術Xenまで 1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう |
|
特集:仮想OS「User Mode Linux」活用法 技術解説からカーネルカスタマイズまで Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説 |
|
特集:仮想化技術の大本命「Xen」を使ってみよう インストール & Debian環境構築編 高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう |
|
特集:仮想化技術の大本命「Xen」を使ってみよう Xen対応カスタムカーネル構築編 Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる |
|
特集:IPv6、UML、セキュリティ機能の統合 全貌を現したLinuxカーネル2.6[第4章] 今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう |
|
Linux Squareプロダクトレビュー VMware Workstation 4 PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう |
|
古くて新しい「サーバ仮想化技術」の行方 サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する |
|
Linux Squareフォーラム全記事インデックス |
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|