Logs de consultas do Bind

O software bind é o servidor DNS mais utilizado no mundo. Ele é desenvolvido pela Internet System Consortium (ISC), uma organização sem fins lucrativos. Criada em 1994 a ISC que possui uma bela missão: desenvolver software e oferecer serviços de suporte à infraestrutura da Internet.

Ele possui inúmeras funcionalidades diferentes. Basicamente, ele permite a construção de servidores DNS autoritativos e recursivos e tem suporte nativo ao IPv6 e ao DNSSec.

O bind também faz muito mais. Ele tem:

  • limite de velocidade de respostas: para resolver problemas de ataques de amplificação.
  • redirecionamento de domínios não existentes: para auxiliar usuários que digitam domínios errados.
  • integração com bancos de dados externos: permite integração com sistemas externos.
  • geoIP e views: respostas diferentes para origens diferentes.

Por padrão o bind registra as informações sobre as consultas realizadas. E isso não chega a ser um problema, considerando a necessidade da maioria dos usuários e o que o software foi desenvolvido para fazer.

No entanto, uma empresa que presto consultoria queria correlacionar as informações sobre quais as principais consultas realizadas aos seus servidores DNS. Isso permitirá identificar algumas informações, entre elas:

  • Quais são os servidores DNS recursivos da Internet.
  • A quais provedores esses servidores DNS pertencem.
  • Quais são os principais scanners de DNS existentes.

Além dessas informações, o log das consultas de DNS poderia algumas informações adicionais para a empresa, dentre elas:

  • Quais sites os usuários da minha rede local estão acessando.

Com esse tipo de informação, podemos estabelecer muitas correlações interessantes.

Agora, vamos ao que interessa!

No Ubuntu Server, para configurar logs de consultas no bind, basta alterar o arquivo “/etc/bind/named.conf.options” e inserir as seguintes linhas:

logging {
 channel querylog {
 file "/var/log/bind/query.log" versions 3 size 10m;
 severity debug 10;
 print-category yes;
 print-time yes;
 print-severity yes;
 };
 category queries { querylog; };
};

Estas instruções fazem bind armazenar as consultas no arquivo “/var/log/bind/query.log“, mantendo 3 arquivos de no máximo 10MB cada. Com isso você não precisa de se preocupar com o rotacionamento dos logs. Fique a vontade para alterar os parâmetros de acordo com as suas necessidades.

Antes de reiniciar o serviço, você deverá criar o diretório “/var/log/bind” e atribuir as permissões corretas. Para isso, basta executar os seguintes comandos:

mkdir /var/log/bind/
chown bind:bind /var/log/bind/

Tudo pronto. Agora é só reiniciar o serviço e verificar as consultas armazenadas!

Reencontro com princípios: A Catedral e o Bazar

Ontem tive um daqueles momentos que meu amigo Daniel chamaria de “epifania”.

Pouco antes de dormir, estava conversando com Cris, minha esposa. Ela abria seu coração, falava sobre seus sentimentos. E eu tentava compreender o que cada uma daquelas palavras…

Então que ela mencionou uma conversa nossa sobre “o bazar e o shopping”. Expliquei para ela que era a “Catedral e o Bazar”. Eu disse: “Se quiser o documento te mando amanhã”.

Talvez, para explicar o sentido da “Catedral e o Bazar”, eu tenha feito uma adaptação para que seja compreensível por pessoas que não são da área de tecnologia.  E eu nem me lembro disso…

The Cathedral and the Bazaar” é um texto do autor Eric Steven Raymond. É um documento é considerado referência sobre o modelo de desenvolvimento de software livre. A tradução para o português pode ser acessado no site da UFRGS.



Se observarmos bem, muitos dos princípios ali estabelecidos são úteis em outros contextos de nosso dia a dia. Veja alguns dos princípios estabelecidos que não estão necessariamente relacionados ao mundo do software:

Libere cedo e libere frequentemente.

O bom trabalho começa colocando o dedo na ferida.

Programadores bons sabem o que escrever; os grandes sabem escolher o que melhorar.

Planeje jogar algo fora; você irá, de qualquer maneira.

Você realmente não entende o problema da primeira vez; esteja preparado para começar tudo novamente.

Se você tem a atitude certa, bons problemas irão encontrá-lo.

Quando perder o interesse por um problema, entregue-o para um sucessor competente.

Libere cedo, libere frequentemente. E ouça seus fregueses.

A melhor coisa depois de ter boas ideias é reconhecer boas ideias dos seus usuários.

Muitas vezes as soluções mais inovadoras surgem ao perceber que o conceito sobre o problema estava errado.

Para resolver um problema interessante, comece achando um problema que é interessante para você.

Todo mundo sabe que muitas vezes não é fácil suportar a carga que cada um atribuí a si. Os últimos dias tem sido muitos difíceis. Mestrado, trabalho, trabalho, família…

Pode ser hora de reencontrar-me com esses princípios. Então, Cris, não se preocupe. Vamos em frente!