Por padrão, o BIND9 não gera muitos logs interessantes para uma depuração mais rebuscada das consultas ao servidor DNS. Isso é um grande problema para quem quer cuidar de seus próprios NS e não deixar na mão de provedor nenhum (se você fez isso, tem o meu respeito, se não, faça! É libertador!).
Vamos partir do princípio que o seu bind9 já está instalado, suas zonas direta e reversa criadas e seus arquivos de registros (SOA, NS, A, AAAA…..) também.
Então ok. Vamos por partes:
Habilitando a geração de estatísticas no BIND:
#vim /etc/bind/named.conf.options
;Insira estas 2 linhas neste arquivo:
zone-statistics yes;
statistics-file “/var/log/named/learnflix_stats.log”;
Criando o log de consultas do BIND:
Até por uma questão de ‘higiene’ de espaço em disco, o BIND por padrão não faz log de cada consulta mas entende-se que para um embiente de depuração de possíveis ataques de Cache Poisoning ou até a título de quantificar os tipos de consultas, é um grande recurso.
Como a configuração é extensa, vale mais a pena criar um novo arquivo. A grande boa prática é sempre fazer include para o seu arquivo de dentro do named.conf, como abaixo:
#vim /etc/bind/named.conf
#include /etc/bind/named.conf.log
;;se você reparar legal, no caso do named.conf, o # funciona para preceder o caminho do arquivo que você quer dar ‘include’
Então, vamos à criação do arquivo:
#vim /etc/bind/named.conf.log
logging{
channel simple_log {
file “/var/log/named/bind.log” versions 3 size 5m;
severity warning;
print-time yes;
print-severity yes;
print-category yes;
};
category default {
simple_log;
};
channel query_log {
file “/var/log/named/bind-queries.log”;
print-category yes;
print-time yes;
};
category queries {
query_log;
};
};
Eita! Muita coisa….vamos lá explicar o que acabou de acontecer aí:
Foram criados 2 canais de log: um para operações de rotina do daemon do BIND (restart, reload, stop, falhas no serviço em si) e outro para as consultas ao servidor (queries), consultas estas que podem ser tipo SOA, A, AAAA, NS, MX, etc…..ou até um tipo de consulta encaminhada para outro servidor DNS (forward).
Para ficar bem mais organizado e não no ‘bolo’ com os outros logs , vamos criar um diretório para armazená-los e, em seguida, criar os arquivos de log, atribuindo como dono e grupo BIND:
#mkdir /var/log/named
#touch /var/log/named/bind-queries.log
#touch /var/log/named/bind.log
#chown -Rv bind:bind /var/log/named
Perfeito! Agora podemos reiniciar o bind e aproveitar essa maravilha de ferramenta:
#service bind9 restart
#tail -f /var/log/named/bind-queries.log
Criando estatísticas consolidadas
E quanto de consulta a host você teve em um determinado período? Quantas consultas SOA? Quantas consultas foram negadas? Vamos usar o poderoso rndc para nos dar esta resposta e gerar as estatísticas:
#rndc stats /var/log/named/learnflix_stats.log
Lendo o arquivo de estatísticas:
#less /var/log/named/learnflix_stats.log
‘Arredondando’ o meio de campo
Então, já que você gostou das estatísticas do rndc (que eu sei), vamos agendar pra ser executado de…sei lá, 5 em 5 minutos (você escolhe seu período conforme sua necessidade, blz?):
#crontab -u root -e
E quanto aos logs de consulta? Enchem até ‘estourar’ o espaço em disco? Claro que não, jovem!! Vamos usar o logrotate como (sempre) melhor prática para deixar uma semana de logs antigos compactados e excluir os que passarem deste período:
#vim /etc/logrotate.d/bind
/var/log/named/bind-queries.log {
weekly
missingok
rotate 7
postrotate
/etc/init.d/bind reload > /dev/null
endscript
compress
notifempty
}
Reinicie o BIND:
#service bind restart
Espero ter ajudado.
Grande abraço e sucesso a todxs!!
Olá achie interessante esse tutorial porem ao tentar implementa-lo aqui obitve esse problema ao usar sudo rndc stats /var/log/named/learnflix_stats.log aparece isso
WARNING: key file (/etc/bind/rndc.key) exists, but using default configuration file (/etc/bind/rndc.conf)
e nos arquivo de log o learnflix_stats.log em cliente aparece o ip do meu gateway e não o dos clientes
se vc puder dar uma luz agradeço
OLÁ GALERA, EU ESTOU SE DEPARANDO COM O SEQUINTE ERRO NOS ENVIOS DE EMAILS.
EU FIZ A CONFIGURAÇÃO DO REVERSE PELO BIND9 E O MEU DOMINIO ESTÁ TUDO OK
JÁ FIZ TODAS AS CONFIGURAÇÕES NECESSÁRIA NO DOMINIO PRA ENVIAR E RECEBER E-MAILS ATÉ AI TUDO OK.
MAIS SÓ NAS CONFIGURAÇÕES DO DNS REVERSE PELO BIND9 QUE TA DANDO ESSE ERRO AI ABAIXO.
ALGUÉM PODE MIM AJUNDAR?
postfix / smtp [1174]: CDFDB900603: para = , relé = nenhum, atraso = 1, atrasos = 0.01 / 0/1/0, dsn = 4.4.1, status = diferido (conectar para mx3.globo.locaweb.com.br [200.234.204.130]: 25: Conexão recusada)