Назад | Перейти на главную страницу

Запретить запросы на чужие домены с помощью bind9

У меня есть 2 сервера bind9, настроенные как авторитетные DNS-серверы. Обратил внимание, что dnstop показывает много запросов на иностранные financialresearch.gov домен (не мой). Более 50 тысяч запросов в минуту. Я не могу понять, кто и зачем присылает мне запросы и как их заблокировать?

Привязать named.conf.options config:

options {
    directory "/var/cache/bind";

    dnssec-validation auto;

    listen-on-v6 {
        any;
    };

    allow-query {
        any;
    };

    recursion no;

    allow-transfer {
        200.200.200.200;
    };
};
Query Name                Count      %   cum%
--------------------- --------- ------ ------
financialresearch.gov      3442   99.7   99.7
digitalocean.com              2    0.1   99.9

результаты раскопок:

; <<>> DiG 9.10.6 <<>> @[my-ns-server] financialresearch.gov
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 1034
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;financialresearch.gov.     IN  A

;; Query time: 67 msec
;; SERVER: [my ns server ip]
;; WHEN: Sun Sep 08 00:50:30 +04 2019
;; MSG SIZE  rcvd: 50

Я не понимаю, кто и зачем присылает мне запросы и как их заблокировать?

Ваши файлы журналов должны иметь возможность сообщать вам, кто отправляет этот запрос, но учтите, что, скорее всего, вы увидите только IP-адрес некоторого рекурсивного DNS-сервера, а не исходного клиента.

Что касается того, почему, либо кто-то просто случайным образом ковыряет ваш сайт, либо скрипт зашел с ума и пытается в цикле тот же неуместный запрос. Или ваши серверы имен используют IP-адрес, который, возможно, ранее использовался сервером имен, уполномоченным для этого домена, и некоторые кеши не обновлялись сами.

Поскольку ваш сервер имен уже отвечает REFUSED для них тебе больше нечего делать.

За исключением случаев, когда вы думаете, что этот трафик начинает наносить вред вашему серверу / сети по какой-либо причине, и в этом случае вы можете:

  • попробуйте связаться с владельцем IP-адреса (ов), запрашивающего вас об этом
  • быть более агрессивным и либо фильтровать на уровне IP этот конкретный адрес, либо этот конкретный запрос DNS; однако в целом это наносит больше вреда, чем что-либо еще, поэтому ограничение скорости на уровне DNS может быть лучше, см. функцию RRL в привязке.

Это попытка DDOS: этот хост получил большой UDP-ответ [на поддельный IP-адрес источника] на ANY уважать. Вы можете отказаться от поиска, но чтобы уменьшить нагрузку на ваш сервер имен, сделайте следующее:

iptables -m string -I INPUT -p udp --dport 53 --algo bm --icase --string FINANCIALRESEARCH -j DROP