DNS設定で失敗した話

Windows ServerでDMZ上にDNSを建てているが、設定で失敗した話。

Windwos ServerのDNSはデフォルトで、「再帰を無効にする」がチェックされていない。

この状態だと、自身のドメイン以外のクエリ要求に対しても検索を行なってしまう。
つまり、オープンリゾルバ状態となってしまう。

今までは、この状態でも特に問題は無かったのだが、ある日突然、インターネット回線が輻輳状態になってしまった。

WireSharkでパケットキャプチャし、解析を行なったところ、上記のオープンリゾルバ状態を狙った攻撃であった。

1秒間に多数のDNSクエリが複数IP(多分、偽装)から要求され、それぞれの要求に対して検索,回答を行なっていたため、回線が輻輳した模様。

DNS設定を見直し、「再帰を無効にする」にチェックをいれ、かつ、DNSにフィルタを付与して余計な回答を返さないようにした所、輻輳は止まった。

フィルタは以下のような感じ。

# Query Type ANYを無視
Add-DNSServerQueryResolutionpolicy -Name "IgnoreANY" -Action Ignore -QType "EQ,ANY" -PassThru

# Query Type TXTを無視(自ドメイン除く)
Add-DNSServerQueryResolutionpolicy -Name "IgnoreTXT" -Action Ignore -QType "EQ,TXT" -FQDN "NE,<MyDomain>" -PassThru

皆さんもDMZ等にWindows Server DNS設定する場合は、気を付けてね。

たけぞう について

ソフトウェア開発会社(ITと言う言葉は大嫌い)で働く、元技術者。 未だに、社内システム位は作ってますが・・・ プログラミング言語はC#が好き。 好きなことだけ拾って投稿しているので、内容にはあまり期待しないでねw
カテゴリー: Windows, 保守・運用, 技術系 パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください