ただの雑記

おっさんエンジニアが適当に書き散らかしてます。

オープンリゾルバ状態のWindows Server

仕事がら、ちょいちょい目に付くのがオープンリゾルバ状態のWindows Server

ActiveDirectoryなんかを入れてそのままだったりするパターンが多い感じ。

オープンリゾルバ状態なので、対応してと伝えて対応して頂ける場合はまだ良い方で、中には対応の仕方が分からないという方も。
簡単にインストールできるだけに、設定方法はよく知らないという人も多そうですよね。

というわけで文字だけですが、簡単に対応方法を。

Windows Serverのオープンリゾルバ対策。

  1. DNSを削除する
  2. 再帰問い合わせを無効にする。
  3. ファイアウォールで接続先を制限する

1. DNSを削除する

DNSの役割を削除してしまえば確実です。
OSのバージョンによって若干アクセスが異なりますが、役割の削除から削除ができます。

とはいえ、DNSは必要なのでインストールされているはずなので、DNSを削除出来ないよと言う方は以下の対応を。

2. 再帰問い合わせを無効にする。

取りあえずこちらをご覧頂ければ良いと思います。
http://technet.microsoft.com/ja-jp/library/cc771738.aspx

DNSマネージャから、再帰を無効にすればOK

3. ファイアウォールで接続先を制限する

さらに言えば、DNSを参照するクライアントのIPが分かっているのであれば、ファイアウォールでアクセス元のIPアドレスにの接続を許可するようにされるとなお安心です。

ところで、Windowsのnslookup答え返さないとこんな感じで表示するんだけど、普通にno answerじゃ駄目なんだろうか。

nslookup yahoo.co.jp xxx.xxx.xxx.xxx
(root) nameserver = a.root-servers.net
(root) nameserver = f.root-servers.net
(root) nameserver = i.root-servers.net
(root) nameserver = j.root-servers.net
(root) nameserver = l.root-servers.net
(root) nameserver = m.root-servers.net
(root) nameserver = h.root-servers.net
(root) nameserver = b.root-servers.net
(root) nameserver = g.root-servers.net
(root) nameserver = c.root-servers.net
(root) nameserver = k.root-servers.net
(root) nameserver = d.root-servers.net
(root) nameserver = e.root-servers.net
a.root-servers.net internet address = 198.41.0.4
f.root-servers.net internet address = 192.5.5.241
i.root-servers.net internet address = 192.36.148.17
サーバー: UnKnown
Address: XXX.XXX.XXX.XXX

名前: yahoo.co.jp
Served by:
- l.root-servers.ne t 199.7.83.42

- m.root-servers.net
202.12.27.33

- h.root-servers.net
128.63.2.53

- b.root-servers.net
192.228.79.201

- g.root-servers.net

- c.root-servers.net

- k.root-servers.net

- d.root-servers.net

- e.root-servers.net

- a.root-servers.net