サーバーを立ち上げてDNSサーバーをプライマリーにて運用していたところ、ある日『あなたのサーバーから大量のデータ送信が送られ、攻撃を受けた』とお叱りを受けました。 どうやらDNSのキャッシュ機能を悪用したDDoS攻撃の踏み台にされていたようです。 攻撃名は「DNSamp」や「DNSリフレクション攻撃」と呼ばれたりするようです。 DNSにはBIND9をしており、以下のような対策をしたので、メモしておきます。 BINDを最新バージョンにする †# yum update bind 問い合わせを受け付けるネットワークを制限する †条件
# vi /etc/named.conf // 許可するネットワークを定義 acl my-network { 192.168.0.2/32; 192.168.0.3/32; }; options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; //fetch-glue no; // BIND9の場合は不要 recursion yes; // キャッシュサーバーの場合 yes // 問い合わせを許可するネットワーク allow-query { localhost; my-network; }; allow-transfer { none; }; // 転送は全部拒否 }; zone "example.com" IN { type master; file "example.com"; allow-query { any; }; // 公開するゾーンなのでどこからでも問い合わせOK allow-transfer { 192.168.0.3; // セカンダリに転送許可 }; }; zone "example2.com" { type slave; file "example2.com"; masters { 192.168.0.2; }; allow-query { any; }; // 公開するゾーンなのでどこからでも問い合わせOK }; これでexample.comとexample2.com以外についての問い合わせは応答しなくなるので、踏み台にされることは無くなるはずです。 確認方法 †$ dig @192.168.0.2 yahoo.co.jp any status: REFUSED などと出て、IPアドレスを引くことができなければ成功です。たぶん 参考資料 †警視庁資料 JPRS資料 Web担当者Forum |