Мой DNS-сервер загружает 20 Мбит / с, почему?

22

Я использую DNS-сервер в EC2, и он вчера работал со скоростью около 20 Мбит / с, когда я проверил свою панель биллинга и обнаружил 1,86 ТБ использованных данных в этом месяце. Это большой счет для моей маленькой проектной лаборатории. Я никогда не замечал снижения производительности и не удосужился настроить пороговые значения трафика раньше, но сейчас я так и сделал, поскольку это обошлось мне в 200 долларов за трафик.

Кажется, кто-то использовал мой DNS-сервер как часть усиления атаки, но я не знаю, как.

Конфиг ниже.

// BBB.BBB.BBB.BBB = ns2.mydomain.com ip address

options {
        listen-on port 53 { any; };
//      listen-on-v6 port 53 { ::1; };
        directory "/var/named";
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-transfer { BBB.BBB.BBB.BBB; };
        allow-query-cache { BBB.BBB.BBB.BBB; };
        allow-query { any; };
        allow-recursion { none; };

        empty-zones-enable no;
        forwarders { 8.8.8.8; 8.8.4.4; };

        fetch-glue no;
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "mydomain.com" IN {
        type master;
        file "zones/mydomain.com";
        allow-transfer { BBB.BBB.BBB.BBB; localhost; };
};

Учитывая эту конфигурацию, я НЕ должен отвечать на любые запросы для зон, которые я не размещаю локально, верно? Этот сервер является SOA для нескольких доменов, но не используется для поиска других моих серверов (все решают против OpenDNS или Google). Какую директиву я здесь ошибаюсь или я забыл? Мои журналы (63MB +) полны этого:

client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 58.215.173.155#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 218.93.206.228#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 50.19.220.154#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
client 123.207.161.124#4444: query (cache) 'cpsc.gov/ANY/IN' denied
Рассел Энтони
источник
9
Это не отвечает на ваш вопрос, но вы должны настроить оповещения о выставлении счетов docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/…
Тим
Было бы приемлемо для вас принудительно использовать откат к TCP для всех клиентов без поддержки RFC 7873?
kasperd
1
ограничение скорости в BIND
Rui F Ribeiro
@RuiFRibeiro Может быть полезно ограничение скорости на официальных DNS-серверах. Но ограничение скорости само по себе может быть слабым местом, которое может быть использовано при DoS-атаках. Если злоумышленник затопляет рекурсор запросами для домена, размещенного на официальном сервере с ограничением скорости, законные пользователи этого рекурсора могут больше не иметь возможности разрешать записи в атакованном домене. Эту атаку можно смягчить с помощью агрессивного использования NSEC / NSEC3, который не получил широкого распространения.
kasperd

Ответы:

19

Даже если ваш сервер настроен на то, чтобы отвечать только на авторитетные запросы, как у вас, его все равно можно использовать для усиления атаки - ANYзапросы к корню зоны могут вызвать довольно тяжелый ответ UDP, поскольку корень зоны имеет тенденцию иметь ряд записей, особенно с SPF / DKIM / DNSSEC.

Это, вероятно, то, что происходит в вашей системе - используйте tcpdumpдля подтверждения. Если они используют ваши авторитетные записи в атаке амплификации, вам лучше всего просто перейти на новый IP и надеяться, что они не последуют, изменить корневые записи вашей зоны, чтобы сделать ее менее эффективным вектором усиления, или реализовать ограничение скорости отклика (если ваш BIND это поддерживает).

Шейн Мэдден
источник
Они не запрашивают мои зоны, хотя ... разве мой сервер не должен отбрасывать их, а не отвечать вообще?
Рассел Энтони
4
@RussellAnthony Для записей журнала, которые вы видите, да, я считаю, что они отбрасывают их, но для успешного трафика атаки не будет создано никаких записей журнала, поэтому с точки зрения журналов использование полосы пропускания невидимо. Если атака все еще продолжается (все еще получают новые записи в журнале?), Держу пари, что есть множество успешных ANYзапросов наряду с этими неудачными.
Шейн Мэдден
2
Добавил, rate-limit { responses-per-second 1; };и, кажется, потерял довольно много трафика. Я не знал, что связать может RRL изнутри себя.
Рассел Энтони
1
Если они действительно отправляли запросы на достоверные записи, это означает, что они должны знать доменное имя. В этом случае маловероятно, что переход на новый IP-адрес поможет, так как они смогут найти новый IP-адрес так же быстро, как законные пользователи.
kasperd
6
Просто убедитесь, что ограничение скорости не превращается в вектор атаки DoS: если злоумышленник исчерпает лимит ответов, законные кэши (такие как OpenDNS и google) могут также не разрешить ваше имя.
Йонас Шефер