DNSの転換期? BIND -> NSD&Unbound

BIND Open Source DNS Server | Internet Systems Consortium


ITpro 2017/01/06の記事

itpro.nikkeibp.co.jp

記事公開から少し日数が経ってしまいましたが、紹介します。
そこに以下の様に記載されています。

2014年から2016年の3年間だけでも、日本レジストリサービス(JPRS)が「緊急」と題して報告した深刻な脆弱性は12件にも上る。
〜〜中略〜〜
実際、この脆弱性を悪用した攻撃が確認されている。

BINDの脆弱性については噂程度にしか耳にしたことなかったのですが、悪用までされている現状なのですね。
BINDが駄目なら何を使うべきかというところですが、

移行先としては、「Unbound」や「NSD」などが有力だ。

とあります。

Unbound? NSD?

私はDNSに明るくないため、BIND以外のDNSはWindowsサーバのDNS Serverくらいしか触ったことがありません。
まず、BIND以外のDNSサーバソフトについてどんなものがあるか調べてみました。

BIND以外のDNS

Open-source software
ソフトウェア名 Wikipedia記事 ライセンス種別
NSD (Name Server Daemon) あり(英語) BSD License
Unbound あり BSD License
djbdns あり PDS License
Dnsmasq あり GNU General Public License
PowerDNS あり(英語) GNU General Public License v2
Knot DNS あり(英語) GPL license
YADIFA あり(英語) BSD license
Deadwood(MaraDNS) なし BSD license
Proprietary Software

結構たくさんあるんですね。
と、調べていたら、英語版Wikipediaにもっと細かい比較ページが有りました。。

www.wikiwand.com

上記DNS名でQiitaで検索してみたところ、ストック数の比較をしてみると、

  • NSD
  • Unbound
  • PowerDNS
  • Dnsmasq

あたりが最近使われているDNSのようですね。

UnboundとNSD

さて、冒頭の記事ではこの中でUnboundやNSDへ移行する可能性が高い、ということでした。
今度はこの2つについて調べていきましょう。


NSD

nlnetlabs.nl :: Name Server Daemon (NSD) ::

  • NLnet Labsが開発した権威DNSサーバ専用ソフトウェア
  • ルートサーバ運用実績あり
  • BIND9と比べて脆弱性が少ない
  • BIND9と比べて処理速度が早い
  • Master/Slave間のゾーン転送手順が難あり(シンプルだが高負荷になり得る)

Unbound

Unbound

  • NLnet Labsが開発したキャッシュサーバ専用ソフトウェア
  • キャッシュサーバ専用だが、ローカルデータは定義可能
  • BIND9と比べて脆弱性が少ない
  • BIND9と比べて処理速度が早い

まとめ

NSD、Unbound共にBIND9の代替になり得る情報が得られました。

また、NSDのゾーン転送の問題というのは、NSDをSlaveサーバにした場合、
シリアルをチェックせずに毎回マスターサーバのゾーン情報を取得する。
ので、ゾーン情報が多い場合に高負荷になり得るということです。
これは環境によっては、運用方法等で回避策を講じる必要がありそうですね。

DNSといえばBINDくらいしか知らなかったので、今回選択肢を増やすことが出来ました。
今の職場では直接DNSを弄ることは少ないのですが、インフラの基本的な部分なので今後の動向を見守る予定です。