サーバーを立ち上げてDNSサーバーをプライマリーにて運用していたところ、ある日あなたのサーバーから大量のデータ送信が送られ、攻撃を受けたとお叱りを受けました。

どうやらDNSのキャッシュ機能を悪用したDDoS攻撃の踏み台にされていたようです。

DNSにはBIND9をしており、以下のような対策をしたので、メモしておきます。

BINDを最新バージョンにする

# yum update bind

問い合わせを受け付けるネットワークを制限する

条件

# vi /etc/named.conf
// 許可するネットワークを定義
acl my-network {
    192.168.0.2/32;
};

options {
    directory "/var/named";
    dump-file "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    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; };
};

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS