Я пытаюсь заставить 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; };
};