- Linux
- 2013-12-04 - 更新:2013-12-05
今年に入って、DNSの再帰的な問い合わせを使ったDDos攻撃が報告されているようです。
DNSキャッシュサーバーとして運用している場合でも、制限を設けて適切に設定をしておかないと、
DDos攻撃の踏み台にされてしまいます。
詳しくはこちらのサイトを参考にしてください。
http://www.jpcert.or.jp/pr/2013/pr130002.html
管理しているサーバーがオープンリゾルバーになっていないかどうかを確認するサイトが開設されています。
http://www.openresolver.jp/
OSやBINDのバージョンによっても異なりますが、設定例をご紹介します。
まず、オープンリゾルバーになっていないかを確認します。
前述したオープンリゾルバー確認サイトも確認できますが、ここではコマンドラインで確認します。
$ wget -qO - http://www.openresolver.jp/cli/check.html
コマンドを実行すると結果が表示されます。
your remote ip: close 192.0.2.1(gw.example.com) your use resolver: open 192.0.2.2(ns.example.com)
この結果のどちらもcloseになっていないといけません。
どちらかがopenになっている場合は要対策です。
その他の確認方法として、実際に外部から再帰問い合わせを行っても確認することができます。
$ dig @dns.example.jp www.example.com
結果
; <<>> DiG 9.3.6-P2 <<>> @dns.example.jp www.example.com ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37859 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.example.com. IN A ;; ANSWER SECTION: www.example.com. 86400 IN A 0.0.0.0 ;; Query time: 45 msec ;; SERVER: 192.168.1.0#53(192.168.1.0) ;; WHEN: Wed Dec 4 13:52:17 2013 ;; MSG SIZE rcvd: 62
6行目のflags
に「ra
」という記述があれば再帰問い合わせが有効(recursion available)になっているということです。
BINDの設定ファイルnamed.confを編集します。
※再帰的な問い合わせに対する設定のみを記述しています。他の設定は省略しています。
options { allow-recursion { 127.0.0.1; #ローカルホスト ::1; #IPv6用ローカルホスト 192.0.2.0/24; #ローカルネットワーク } };
編集が終わったら、BINDを再起動します。
再度、確認コマンドを実行し、結果を確認します。
your remote ip: close 192.0.2.1(gw.example.com) your use resolver: close 192.0.2.2(ns.example.com)
両方の結果がcloseとなりました。
これで、許可したホストからでないとDNSの再帰的な問い合わせをすることができなくなります。
その他、ゾーン転送の許可制限なども忘れないようにしてください。
ゾーン転送の許可設定については
http://www.k-sugi.sakura.ne.jp/linux/22/