BIND: habilitar el registro de consultas denegadas

BIND: habilitar el registro de consultas denegadas

Estoy intentando obtener bind 9.11 (predeterminado en CentOS 8) para registrar consultas que no se pudieron responder o que enumeran clientes que consultan constantemente el servidor, pero no tienen permiso para hacerlo.

Finalmente quiero usar este registro para enviarlo a fail2ban y bloquear a esos "idiotas".

El servidor es el NS principal responsable de responder consultas sobre los dominios que posee, pero nada más.

Primero intenté registrar todo, como se describe enhttps://kb.isc.org/docs/aa-01526incluso con el nivel de depuración completo, pero nunca encontré una línea de registro que incluyera la palabra "denegada" o similar, excepto cuando alguien solicitó transferencias de zona completas (que seguramente solo están permitidas desde el NS secundario) como esta:

27 de agosto de 2020 11:40:47.317 cliente @ 0x7fd284052510 94.102.208.167#51041 (somedomain.com): transferencia de zona 'somedomain.com/AXFR/IN' denegada

Al solicitar al servidor una consulta sobre un nombre del que no es responsable, el cliente obtiene un:

excavar @ns.midominio.com www.disney.com
Respuesta no autorizada:
*** No puedo encontrar www.disney.com: No hay respuesta

lo que es correcto, pero vincular sólo registra algo como esto:

27 de agosto de 2020 11:43:27.741 consultas: información: cliente @ 0x7fd2840bf440 1.2.3.4#34369 (www.disney.com): consulta:www.disney.comEN A + (xxxx)

lo que no me da idea de qué tipo de respuesta se envió al cliente.

La configuración actual es:

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; };
};

Entonces: ¿cómo puedo crear registros para clientes a los que no se les permitía preguntar al servidor en primer lugar?

Respuesta1

En mi caso veo:

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

Mi configuración es (en /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; };
};

información relacionada