Created: 2023-03-19 00:11 | Updated: 2023-03-19 00:11 |
Em algumas situações, pode ser interessante obter as requisições recebidas pelo serviço de DNS. No Bind, um dos mais utilizados serviços de DNS, Edite o arquivo named.conf.options e adicione:
channel queries_log {
file "/var/log/named-queries.log";
print-time yes;
};
category queries { queries_log; };
Crie o arquivo e ajuste as permissões:
touch named-queries.log
chown bind:bind named-queries.log
Isso habilitará o log das requisições de DNS. O arquivo de log deve crescer bastante, então, configure o logrotate. Crie o arquivo /etc/logrotate.d/bind com o seguinte conteúdo:
/var/log/named/query.log {
weekly
missingok
rotate 8
compress
delaycompress
notifempty
create 644 bind bind
#postrotate
# if [ -e /var/log/named/query.log.1 ]; then
# exec su - YOUR_USER -c '/usr/local/bin/update_bind_log_analyzer.sh /var/log/named/query.log.1'
# fi
#endscript
}
Reinicie o Bind:
systemctl restart bind
Para poder habilitar e desabilitar o log das requisições dinamicamente, edite o arquivo named.conf.options e adicione o seguinte:
options {
// ... conteúdo omitido
querylog no;
}
Esta configuração não iniciará o registro de log das queries quando o Bind for iniciado. Para habilitar o log das requisições, execute o comando:
rndc querylog start
E, para desabilitar:
rndc querylog stop
Agora basta obter um analisador de requisições DNS e extrair as informações desejadas.
Fui!