BIND: включение регистрации отклоненных запросов

BIND: включение регистрации отклоненных запросов

Я пытаюсь заставить bind 9.11 (по умолчанию в CentOS 8) регистрировать запросы, на которые не удалось ответить, или выводить список клиентов, которые постоянно запрашивают сервер, но им это не разрешено.

Наконец, я хочу использовать эти данные для передачи в fail2ban и блокировки этих «идиотов».

Сервер является основным NS-сервером, отвечающим за ответы на запросы о доменах, которые он хранит, но не более того.

Сначала я попытался все записать, как описано вhttps://kb.isc.org/docs/aa-01526даже с полным уровнем отладки, но так и не нашел строку журнала, содержащую слово «отказано» или что-то подобное, за исключением случаев, когда кто-то запрашивал полную передачу зон (которая, безусловно, разрешена только со вторичного NS), например:

27-авг-2020 11:40:47.317 клиент @0x7fd284052510 94.102.208.167#51041 (somedomain.com): передача зоны 'somedomain.com/AXFR/IN' отклонена

При обращении к серверу с запросом на имя, за которое он не несет ответственности, клиент получает:

копать @ns.mydomain.com www.disney.com
Неавторитетный ответ:
*** Не могу найти www.disney.com: Нет ответа

что правильно, но bind регистрирует только что-то вроде этого:

27-авг-2020 11:43:27.741 запросов: информация: клиент @0x7fd2840bf440 1.2.3.4#34369 (www.disney.com): запрос:www.disney.comВ А + (хххх)

что не дает мне ни малейшего представления о том, какой ответ был отправлен клиенту.

Текущая конфигурация:

logging {
        channel "my_queries" {
                file "/var/log/named.queries" versions 600 size 20m;
                print-time yes;
                print-category yes;
                print-severity yes;
                severity dynamic;
        };
        channel "security_file" {
                file "/var/log/named.security";
                severity dynamic;
                print-time yes;
        };
        category "queries" { "my_queries"; };
        category client { "security_file"; };
        category security { "security_file"; };
        category lame-servers { null; };
};

Итак: как мне создать записи журнала для клиентов, которым изначально не разрешено запрашивать информацию у сервера?

решение1

В моем случае я вижу:

27-Aug-2020 13:33:17.170 security: info: client @0x7f88b57bdf90 192.168.10.165#18237 (www.google.com): view 192.168.10.0/24: query (cache) 'www.google.com/AAAA/IN' denied
27-Aug-2020 13:33:17.170 query-errors: info: client @0x7f88b57bdf90 192.168.10.165#18237 (www.google.com): view 192.168.10.0/24: query failed (REFUSED) for www.google.com/IN/AAAA at ../../../bin/named/query.c:7144

Моя конфигурация (в /etc/bind/named.conf.options):

logging {
  channel replace_syslog {
    file "/var/log/bind/named.log" versions 5 size 2m;
    severity info;
    print-time yes;
    print-category yes;
    print-severity yes;
    };
  category default { replace_syslog; default_debug; default_syslog ; };
  category lame-servers { null; };
  channel query.log {
    file "/var/log/bind/query.log" versions 2 size 2M;
    severity debug 3;
    print-time yes;
  };
  category queries { query.log; };
};

Связанный контент