ポイズニング

一時期、下記のような画面が、出てしまい、HPが見れない時期がありました。
おそらくIPを管理している管理組織のユーザに悪意を持った人が人為的もしくは、
スクリプトなどで定期的に調べ脆弱性のあるBINDを攻撃、もしくは設定ミスを狙った
ものだと思われます。

攻撃の種類には以下のものが存在するようです。
[当時URLをすりかえられた、画面のハードコピーです] DNSキャッシュポイズニングのハードコピー
では、どうすればよいのか?
google先生などで色々調べましたが中々解決策は出ませんでした。
私のところは、バッタ本を使って以下の部分をしっかり定義することで、このようなことは解消されました。
デフォルトで、 listen-on port 53 { any; };になっていて、すべてのクエリを受け付ける設定になってました。
ここの設定を、ローカルホストと自分のIPアドレスのみに変更しました。
vi /etc/named.conf
options {
    listen-on port 53 { 127.0.0.1;43.244.134.182(←自分のIPなどを入れる); };
    directory       "/var/named";
    dump-file       "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    recursion yes;
};

以後このような症状はなくなっています。
こういった失敗をしないためにもBINDのversionを極力最新に保つことも重要のようです。

また、 再帰問い合わせを無効化 recursion no;の設定も有効のようです。

1. 問い合わせを偽のネームサーバへ誘導する(ドメイン乗っ取り)
2. ネームサーバのゾーン情報を書き換える(ネームサーバへの不正侵入)
3. クライアントPCのhostsファイル(Windowsで静的な名前解決に使われるファイル)を書き換える
(不正プログラムへの感染)

つまり他のサーバーへ問い合わせを再帰的に行い解決できない時間を見計らって攻撃を加える方法です。
このログは、問い合わせに失敗しているログが無数に出てたものの一部を抜粋したものです。
このログが出現した直後に、TOPページ毎かわってました。
Sep  3 00:05:26 ariatown named[31840]: unexpected RCODE (SERVFAIL)
resolving '82.82.180.66.in-addr.arpa/PTR/IN': 66.35.253.12#53
Sep  3 00:05:27 ariatown named[31840]: unexpected RCODE (SERVFAIL)
resolving '82.82.180.66.in-addr.arpa/PTR/IN': 66.35.253.12#53
Sep  3 00:05:27 ariatown named[31840]: unexpected RCODE (SERVFAIL)
resolving '82.82.180.66.in-addr.arpa/PTR/IN': 66.35.255.12#53
Sep  3 00:32:07 ariatown named[31840]: unexpected RCODE (REFUSED)
resolving 'SV01.UBITEQ.CO.JP/A/IN': 211.14.19.81#53
Sep  3 00:32:07 ariatown named[31840]: unexpected RCODE (REFUSED)
resolving 'SV01.UBITEQ.CO.JP/AAAA/IN': 211.14.19.81#53
主にver 4系などで、セキュリティパッチを当てずに放置してるサーバーがかかりやすいようです。
私も含めて、ほとんどが設定のミスなどによる原因と思われますので、
listen-on portとrecursion noの箇所は確認しておいたほうがよいと思います。
私は、最新パッチを当てたので再帰を可にしていますが、同じようなことが起こったら、
再帰問い合わせを無効化も検討したいと思っています。

書籍について
オライリーのDNS & BIND(通称バッタ本)は、内容は難しいですが、よく読み返すと、すべてのことが
事細かに載っていますので、BINDで運用されている方は、お勧めです。

DNSサーバーってなに?という方には、Q&Aでわかる!BIND(イルカ本)がお勧めです。