JPドメイン名のサービス案内、ドメイン名・DNSに関連する情報提供サイト


TOPICS

BINDネームサーバの更新に関するお願い

2002/02/07

株式会社日本レジストリサービス

社団法人 日本ネットワーク
インフォメーションセンター
皆様におかれましては、平素より(株) 日本レジストリサービス (JPRS) および (社) 日本ネットワークインフォメーショ ンセンター (JPNIC) の活動にご理解とご協力を頂き誠にありがとうございます。

DNS の実装の一つである BIND の Version 8.3.0 において特定の条件下でDNS の過大な query を行う (DNS storm) という問題が確認されました。
(http://www.isc.org/products/BIND/bind8.html)

BIND Version 8.3.0 を利用している皆様には至急 BIND Version 8.3.1 へのアップグレードを行うことをお願いします。

また、あわせて DNS の運用を行っている皆様には問題を起こしうる設定の修正を行っていただけますよう、お願いします。

1. 概要

先日より、JP のネームサーバにおきまして、急激な query 数の増加が観測されております。この原因を調査した結果、ISC (Internet Software Consortium、http://www.isc.org/) が提供している Domain Name System パッケージ BIND Version 8.3.0 のネームサーバプログラム named が特定の条件において過大な DNS の query を行う場合があることが発見されました。

この問題は、該当する BIND 8.3.0 の named が、NS レコードの設定に誤りがあるドメインに対する検索要求を受けた場合などに発生することが確認されています。なお、今回の問題は、該当する BIND 8.3.0 の named の設定内容に問題がない場合でも、設定内容に誤りのある他組織の存在によって、該当の問題が発生することが確認されています。

BIND 8.3.0 によって起こる問題は以下の 2 点になります。
  • 自サイトから他サイトへの過大な DNS query が送出される
  • 他サイトから自サイトへの過大な DNS query が受信される
過大な DNS query が発生した場合、通信量の増大による通信障害、DNS サーバの過負荷による無応答などの問題が起こることが予想されます。

BIND の開発元である ISC では既にこの問題を確認しており、修正版パッケージとして BIND Version 8.3.1 がリリースされました。

2. 対象

現在のところ、この問題が存在することが確認されているバージョンとしては以下のものが報告されています。

BIND Version 8.3.0

3. 解決方法

以下の2つの対策を両方行ってください。

(1) BIND パッケージのバージョン変更

問題のあるバージョンの BIND パッケージを使用している方は、問題が修正された以下のバージョンに変更してください。

BIND Version 8.3.1
http://www.isc.org/products/BIND/bind8.html

なお、この対策により、自サイトのネームサーバが他サイトのネームサーバへ過大な負荷をかける事は抑制できますが、他サイトの同様の問題を抱えたネームサーバが自サイトのネームサーバへ過大な query を送出することは抑制できません。

(2) 問題のある DNS 設定の修正

概要でも説明しました通り、ネームサーバが管理するドメインのサブドメインにおいて問題のある NS レコードの設定があった場合にこの問題は観測されます。

例) example.jp の BIND のゾーンファイルにおいて NS レコードの最後のピリオドを忘れた場合 (lame delegations)

----- 正しい設定例 -----
@ IN  SOA ns1.example.jp. root.example.jp. (
    1 ; Serial
    3600  ; Refresh
    900 ; Retry
    604800  ; Expire
    86400 ) ; Minimum
  IN      NS      ns1.example.jp.
  IN      NS      ns2.example.jp.
----------------------
----- 間違った設定例 (NS レコードの最後のピリオドがない ) -----
@ IN  SOA ns1.example.jp. root.example.jp. (
    1 ; Serial
    3600  ; Refresh
    900 ; Retry
    604800  ; Expire
    86400 ) ; Minimum
  IN      NS      ns1.example.jp
  IN      NS      ns2.example.jp
------------------------
自サイトが管理するドメインの全てのサブドメインのゾーンファイルにこのような問題がないかどうかを確認する事を推奨します。これにより、他サイトから自サイトへの過大な query が発生しないようになります。

なお、本文書は BIND の開発に関する最新の情報を BIND の利用者に広くお知らせすることを目的としており、上述の事項の実施により予期できない事態が発生し被害が生じた場合でも、責任の所在に関しては BIND の利用条件と同じ原則が適用されるものと御理解ください。