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