Я использую 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
источник
Ответы:
Даже если ваш сервер настроен на то, чтобы отвечать только на авторитетные запросы, как у вас, его все равно можно использовать для усиления атаки -
ANY
запросы к корню зоны могут вызвать довольно тяжелый ответ UDP, поскольку корень зоны имеет тенденцию иметь ряд записей, особенно с SPF / DKIM / DNSSEC.Это, вероятно, то, что происходит в вашей системе - используйте
tcpdump
для подтверждения. Если они используют ваши авторитетные записи в атаке амплификации, вам лучше всего просто перейти на новый IP и надеяться, что они не последуют, изменить корневые записи вашей зоны, чтобы сделать ее менее эффективным вектором усиления, или реализовать ограничение скорости отклика (если ваш BIND это поддерживает).источник
ANY
запросов наряду с этими неудачными.rate-limit { responses-per-second 1; };
и, кажется, потерял довольно много трафика. Я не знал, что связать может RRL изнутри себя.