|
サーバーを立ち上げて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 |