2014年5月11日日曜日

DNSキャッシュポイズニング

DNSキャッシュポイズニングに関する話題です。

なぜ、DNSはキャッシュポイズニング攻撃の危険に(まだ)さらされるのか

以前、対外接続環境の構築・保守をしていたことがあり、Firewall, メール, プロキシ, 社外向けDNSの設計に携わっていました。
その頃は、やっとセキュリティの重要性が認識され始めた頃で、Sendmail より qmail の方がセキュリティが高いとかやっていた頃です。
その後、別システムの設計のため対外接続環境を引き継いだのですが、社内でFirewall などを見ていくのは困難なため、社外にアウトソーシングしたそうです。

記事中に紹介されている Web-based DNS Randomness Test で、自宅と会社のDNS を調べてみましたが、GREAT ということで一安心。

そこで、DNSキャッシュポイズニングを調査。

DNSキャッシュポイズニングの影響と対策
カミンスキー氏が発表したDNSアタック手法と対策例
  • キャッシュDNSサーバが本来得られる正しい検索結果は、UDPを使っているため攻撃者による詐称が可能。
  • 攻撃により、メールが正常に届けられない、Webサイトを正常に閲覧できない、Webサービスの危険性が一層高まる、SSLの意味がなくなる、などのリスクがある。

DNSキャッシュポイズニングの原因・対策・その理由
対策として色々あるが、主に以下の対策が有効(その他は記事参照)。
  • UDPによるDNSクエリを行う場合に利用するSourceポート番号を適切にランダム化する。
  • 外部DNSサーバの再帰問い合わせ機能を無効化あるいは制限する。
  • 外部向けDNSサーバと内部向けキャッシュDNSサーバを分ける。
  • 外部向けDNSサーバを増やす。


久々に DNS の設定の話を読んで懐かしく。
本当にセキュアな状態を保つのは難しい時代になってますね。