オープンソース

OSSのおすすめDNSサーバ構築「DNSサーバ選定のポイント」

DNSサーバのソフトウェアを選定する場合には、機能、セキュリティ、性能、管理性、サポートなどを考える必要があります。このうち、最近では特にセキュリティについて重要度が高くなっています。

DNSサーバソフトウェアの選定ポイント

DNSサーバのセキュリティ

最近は、DNSに対する攻撃が非常に多くなっています。主なものは、DNSサーバソフトウェアの脆弱性によるものです。また、多くのキャッシュポイズニング攻撃が観測されています。そのため、脆弱性が少なく、キャッシュポイズニング攻撃に強いソフトウェアを選択する必要があります。

以前は、DNSサーバのソフトウェアが、権威DNSサーバキャッシュDNSサーバの両方の役割を担うことが普通でした。しかし、現在では、このようなシステム構成自体が問題であると言われています。また、権威DNSサーバでは、キャッシュポイズニング攻撃の影響を受けないようにするため、キャッシュDNSサーバの機能を持たないものを利用することが推奨されています。

最近のDNSサーバは、様々な攻撃に対する対策機能を持っているものもあります。こうしたソフトウェアを利用すると、攻撃を自動的に検知し、自動的に遮断する機能を利用することができます。特に、キャッシュDNSサーバでは、こうした攻撃対策機能を持っているものを選ぶことをお勧めします。

DNSサーバの機能

DNSサーバに求める要件によって、必要とされる機能を持ったソフトウェアを選択する必要があります。権威DNSサーバでは、Dynamic DNS、view、IPSEC、IPv6への対応などの機能に注意しておく必要があります。

Dynamic DNS

Dynamic DNSは、DNSのレコードを動的にアップデートする機能です。DHCPサーバなどと連携して、動的にIPアドレスとホスト名の紐付けを行う必要がある場合には、この機能のあるDNSサーバを選ぶ必要があります。

view

viewは、1つのDNSサーバで複数のDNSデータベースを持つ機能です。多くの場合には、問い合わせ元のネットワークを識別します。例えば、組織内からの問い合わせの場合には、組織内専用で使われるサーバのアドレスを返却し、組織外からの問い合わせの場合には公開されているインターネットサーバのアドレスを返却するというように使われます。

DNSSEC

DNSSECは、DNSサーバが公開するDNSのレコードに署名を付与する機能です。問い合わせ先は、上位のDNSサーバから入手した鍵を使って、正しい情報が返却されたことを検証することができます。DNSSECは、日本では導入が進んでいません。しかし、米国などでは既に自律的に普及が進む普及率を越えてきています。そのため、これから権威DNSサーバを構築する場合には、少なくともDNSSECの機能を持ち、管理がしやすいサーバソフトウェアを選択する必要があります。

IPSec

IPv6も、組織内などではあまり意識して使われていません。しかし、Windows、iOS、Androidが標準的にIPv6を利用する状態でリリースされるようになり、一般の家庭や携帯電話のネットワークでは、私たちが知らないうちにIPv6が広く普及しています。そのため、これから権威DNSサーバを構築する場合には、IPv6への対応は必ず必要です。

DNSサーバの性能

インターネットサービスなどを提供する組織では、DNSサーバの性能にも配慮する必要があります。権威DNSサーバが、一台で扱える問い合わせの数は、DNSサーバのソフトウェアによってかなり違いがあります。特に、登録するDNSレコードが多い場合には、高速にレコードを検索できなければなりません。そのような場合には、高速に動作するDNSサーバを選択する必要があります。

DNSサーバの冗長性

権威DNSサーバが停止してしまうと、メールやWEBなどのすべてのサービスが利用できなくなってしまいます。また、キャッシュDNSサーバが停止してしまうと、すべてのネットワーク機器が動作しなくなります。そのため、DNSサーバの冗長性は、かならず考慮しておく必要があります。

権威DNSサーバでは、登録した情報を共有する必要があります。そのため、情報の登録管理を行えるマスターサーバと、複製した情報を元に動作するスレーブサーバを用意することが一般的でした。しかし、最近では、技術が進歩して、マスターサーバを複数配置することもできるようになりました。また、マスターサーバに管理性の高いDNSサーバを採用し、スレーブサーバに高速なDNSサーバを採用する構成も利用されるようになってきました。

DNSサーバの管理性

たくさんのドメインを管理していたり、複数の管理者でDNSサーバを管理する場合には、DNSサーバの管理性によって、運用コストが大きく変わってきます。情報をファイルで管理するDNSサーバでは、専門的な知識を持った管理者でなければ管理ができません。一方、WEB GUIで管理できるDNSサーバでは、ドメインごとに管理者を分けたり、管理できる権限を制限する機能をもっていたりして、非常に効率良く管理を行うことができます。

また、今後、IPv6やDNSSECの機能を利用していく場合には、管理者の行うべき操作が非常に煩雑になる可能性があります。そのため、管理GUIを持ったDNSサーバを選択することをお勧めします。

DNSサーバのサポート

DNSサーバでは、多くの脆弱性が報告されています。そのため、セキュリティの問題が発生した時に、確実にアップデートが入手できるソフトウェアを選択するべきです。また、これまでに利用したことがないソフトウェアを選択する場合には、利用方法についての問い合わせ先が確保されていると安心です。

OSSのDNSサーバ構築

権威DNSサーバ
ここでは、BINDPowerDNSNSDKnotDNSについて紹介します。
キャッシュDNSサーバ
ここでは、bindunboundRecursorDJBDNSdnsdistについて紹介します。
DNSサーバ選定のポイント
ここでは、DNSサーバを選定する場合のポイントについて紹介します。
DNSの新しい攻撃手法NXNSAttack
NXNSAttackは、DNSサービスの委任と呼ばれる機能を悪用したものです。ここでは委任の仕組みからNXNSAttackのメカニズムまでを解説します。

OSSのおすすめDNSサーバ構築「DNSサーバ選定のポイント」の先頭へ