Мій сервер 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). З якою директивою я тут помиляюся чи забуваю? Мої журнали (63 Мб +) наповнені цим:

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) можуть також не вдатися до вирішення вашого імені.
Йонас Шефер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.