DNSキャッシュサーバUnboundの紹介

オープンソースカンファレンス2009 Tokyo/Spring 02/20
DNSキャッシュ汚染による攻撃方法と、Unboundについての紹介。
by 日本Unboundユーザ会
私的、OSC2009 Tokyo/Spring 20日のメイン。

DNSキャッシュ汚染攻撃

  • BINDは情報をキャッシュしている。
  • UDPは、IPアドレス、ポート番号が一致すれば正当と見なす。
  • DNSは、IPアドレス、ポート番号、DNSクエリのトランザクションIDが一致すれば、正当と見なす。
  • 攻撃者は、正当と見なされる偽の応答を返すことで、正しくない情報を登録させることが可能。

  • ただし、攻撃失敗もキャッシュされる。
  • よって、TLSのキャッシュ時間が長ければ問題ない、攻撃機会は充分少ない、と考えられていた。

  • ところが、DNSクエリを毎回変更すれば、失敗のキャッシュが使われない。
  • ブルートフォースアタックが成立。はやければ数秒で乗っ取りに成功する。
  • これをKaminskyアタックと呼ぶ。


あるURLを叩いた時に、別の情報を表示させられる。
注意しても見破ることのできないフィッシング詐欺ができてしまう、ID、パスワードも盗める、というお話でした。
これは恐ろしい話ですね。やりたい放題できてしまいます。
Unboundは、このDNS汚染攻撃への対応と、BINDの代替を目標としているそうです。

Unboundの紹介

  • フルスペックDNSサーバ
  • 限定的なコンテンツサーバ
  • BSDライセンス
  • 2008/05/20に、バージョン1.0登場。
  • DNSSECなしでも、DNS汚染攻撃に強い耐性を持つ。
  • パフォーマンスが良い。ただし、メモリは多めに必要。
  • 設定が容易。最小限の設定で動作する。
  • 最小の規模で動かすための設定の資料も探せば出てくる。


BINDの後から出ただけあって、いろいろ設定を省略できる印象。
ローカルDNSとして使う場合は、最小の規模用の設定を行えば良いのだろう。

注意しなければならない、と思った点

  • DNSラウンドロビンには非対応
  • 同時クエリ1000までは最初の設定で対応。つまり、それ以上の場合は、設定を変えなければならない。

コミュニティ

日本Unboundユーザ会
各ディストリごとのインストール方法の説明がある。
MacPortsは、登録依頼中だった。


Windowsでは動作させるにはCygwinか?
自宅のMacは全てノートだから、ローカルDNSとしては使いづらいかも。