構築事例:マルチDNS環境
BINDに脆弱性が多く発見され、DNSサーバのバージョンアップなどの対策が頻繁に必要になっています。マルチDNS環境は、複数のDNSサーバソフトウェアを使ってDNSサーバを構成することで、特定のソフトウェアの脆弱性によって外部から攻撃を受けてDNSサービスが停止することがないようにするのが目的です。本事例は、このようなマルチDNS環境を構築したものです。
- お客様が悩まれていた課題
- BINDの脆弱性が多く発見され、バージョンアップに手間がかかっている
- バージョンアップが遅れた場合、外部から攻撃されてBINDが停止してしまわないか不安
- +導入企業プロフィール
- ★
導入企業業種
情報・通信(愛知県名古屋市)
ユーザー規模
50万人
利用OS
CentOS 6
Debian
FreeBSD導入月
2016年8月頃
デージーネットが提案した「マルチDNS環境」
権威DNSサーバを複数のDNSサーバソフトウェアを組み合わせて実現
2015年12月頃、DNSキャッシュサーバの水責め攻撃が発生し、DNSサーバのセキュリティについて見直しをしたいという要望を受けて、システムの入れ替えを検討されていました。特に、BINDに多くの脆弱性が発見されていることから、権威DNSサーバを攻撃されてもシステムが停止しないようにしたいというご要望でした。また、この機会に管理性も見直すことになりました。
マスタサーバにPowerDNSを採用
管理性を向上するため、マスタサーバにはPowerDNSを採用しました。また、PowerDNSの管理GUIであるPowerAdminを導入しました。これにより、DNSのレコードの管理がGUIで行えるようになりました。そして、管理者の負荷を下げるため、ドメイン毎に管理者を分けることにしました。
PowerDNSは、マスタサーバとして構成しますが、通常はインターネットには公開しないことにしました。他のすべての権威DNSサーバが利用不能になった場合のみ、ネットワークの構成を変更することで外部へ公開することになりました。
スレーブサーバに3種類のDNSソフトウェアを採用
スレーブサーバとしては、BIND、NSD、knotDNSの3種類のサーバを構築することになりました。BINDで運用するサーバを減らすことで、脆弱性への対応のためにバージョンアップを行う頻度を減らすことができると期待できます。また、ソフトウェアの種類を分けることで、一つのソフトウェアに脆弱性があっても、攻撃などで停止するリスクを最小にすることができます。
複数のOSを採用
さらに、各スレーブサーバのOSもCentOS、Debian、FreeBSDと3つの種類を使うことになりました。これによって、OSの脆弱性を攻撃された場合でも、権威DNSサーバに対する被害を最小限に留めることができるようになりました。
導入後の結果
【Webセミナー】Rocket.Chatだけじゃない!OSSビジネスチャットの最新情報
日程: | 12月19日(木)Webセミナー「BigBlueButton」を使用します。 |
内容: | Rocket.Chatの機能制限でお困りの方も必見!ライセンスフリーで利用できるOSSのビジネスチャットを紹介します。 |
ご興味のあるかたはぜひご参加ください。 |
PowerDNS
PowerDNSは、オランダのPowerDNS.COM BVが開発を行った、オープンソースソフトウェアのDNSサーバです。LDAP、MySQL、PostgreSQL、Oracle、BINDのゾーンファイルなど、様々なバックエンドを使用できます。この事例では、MySQLをバックエンドとして利用しています。
PowerDNSと連携するMySQLでは、権威DNSサーバとして管理するドメインやゾーンの情報、各レコードデータなどを管理します。これらの情報は、PowerAdminを使ってWEBから管理することができます。PowerDNSでは、BINDのゾーンファイルのような特殊な設定方法を覚える必要がないため、システム管理者以外も管理ができるようになります。さらに、ドメイン毎に管理者を分けることもできます。
BINDに比べて、脆弱性が少なく、性能が良いのも特徴です。
NSD
NSDとは、(Name Server Daemon)の略で、NLnet LabsとPIPE NCCが共同で開発を行い、保守を行っている権威DNSサーバのオープンソースソフトウェアです。DNSルートサーバの一部を担っており、十分な動作実績があります。残念ながら、マスタサーバとして大規模なドメインを管理するために必要なIXFR(差分ゾーン転送)をサポートしていません。しかし、スレーブサーバとしてIXFRを受けとることは可能です。
デージーネットのベンチマークでも、NSDは非常に軽量で、BINDに比べてかなり多くのリクエストを処理できることが分かっています。本事例では、こうしたことを考慮してスレーブサーバとして採用しました。
knotDNS
knotDNSとは、CZ NIC社が開発した権威DNSサーバのオープンソースソフトウェアです。knotDNSは、非常にシンプルな作りになっていて、高速に動作します。さらに、マルチスレッドに対応し、マルチコア環境では非常に高い性能を発揮することができます。
マルチDNS環境の関連ページ
- 権威DNSサーバに関する情報・用語まとめ
- キャッシュDNSサーバに関する情報・用語まとめ
- PowerDNSの構成例
- BIND〜DNSサーバの特徴と弱点〜
- DNSサーバのおすすめOSS比較9選!選定ポイントも解説