bind9: Desativando o log de erros para consultas recursivas

4

inadvertidamente, um servidor bind9 que eu rodei era um resolvedor aberto. Ops

Agora são meses e as consultas recursivas para isc.org ainda estão chegando. Eu não me importaria se meu /var/log/syslog não fosse assim:

Jul  6 01:10:23 servername last message repeated 6 times
Jul  6 01:10:23 servername named[2580]: client YYY.YY.YYY.YYY#25345: query (cache) 'isc.org/ANY/IN' denied
Jul  6 01:10:23 servername named[2580]: client ZZZ.ZZ.ZZZ.ZZ#25345: query (cache) 'isc.org/ANY/IN' denied
Jul  6 01:10:23 servername last message repeated 7 times
Jul  6 01:10:23 servername named[2580]: client AAA.AAA.A.AAA#25345: query (cache) 'isc.org/ANY/IN' denied
Jul  6 01:10:23 servername named[2580]: client BBB.BB.BB.BBB#25345: query (cache) 'isc.org/ANY/IN' denied
Jul  6 01:10:23 servername last message repeated 6 times

(Pode-se achar engraçado que todas as mensagens acima apareçam dentro de um segundo ... eu não sei mais.)

Isso realmente dificulta a detecção de erros reais que outro serviço no sistema possa relatar.

Gostaria que o bind9 não registrasse mais essas mensagens. E eu estou cruzando meus dedos que é possível fazer somente essas mensagens desaparecerem dos logs.

De que maneira posso desabilitar mensagens que a recursão não é permitida de aparecer no syslog (ou outros logs)?

servername:/etc/bind9# named -V
BIND 9.8.4-rpz2+rl005.12-P1 built with '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc/bind' '--localstatedir=/var' '--enable-threads' '--enable-largefile' '--with-libtool' '--enable-shared' '--enable-static' '--with-openssl=/usr' '--with-gssapi=/usr' '--with-gnu-ld' '--with-geoip=/usr' '--enable-ipv6' 'CFLAGS=-fno-strict-aliasing -DDIG_SIGCHASE -O2'
using OpenSSL version: OpenSSL 1.0.1c 10 May 2012
using libxml2 version: 2.8.0

servernane:/etc/bind9# uname -a
Linux servername 3.2.0-4-686-pae #1 SMP Debian 3.2.35-2 i686 GNU/Linux

Para esclarecer:

Estou interessado no exemplo mais detalhado de como silenciar apenas as mensagens do tipo 'recursividade negada' .

    
por Ivan Vučica 06.07.2013 / 01:18

4 respostas

5

Em relação à desativação de todo o registro de erros de ligação para consultas recursivas, como "query (cache) 'theswat.net/ANY/IN' negado"

O abaixo em /etc/named.conf redireciona estes para /var/named/data/named.security com um limite de tamanho total de 15mbytes de rolando sobre logs. Observe que a segurança de categoria é apenas "Aprovação e negação de solicitações".

logging {
        channel default_debug {
                    file "data/named.run";
                severity dynamic;
        };
        // Redirect all of those 'denied' logs for non-existing domains or external ones (we are 'recursion no;')
        //   logs to /var/named/data/named.security, up to 3 files of 5mbytes each
        //   independent hack_detect processes can then scan for flooders and known abusers and block their IPs
        channel hd_security {
                file "data/named.security" versions 3 size 5m;
                print-time yes;
                print-severity yes;
                print-category yes;
        };
        category security { hd_security; };
};
    
por 22.07.2013 / 17:51
4

Veja o Manual de Referência do Administrador do BIND (também conhecido como "o ARM", que está incluído na sua distribuição de fontes, ou consulte as tabelas de links na Base de Conhecimento do ISC para encontrar a versão específica da sua versão do BIND) e vá para a seção 6.2.10, que abrange o registro em log.

Mensagens de erro BIND são emitidas em várias categorias e você pode especificar seu destino com base na categoria. Enquanto eu não sei de improviso e teria que verificar a fonte para saber exatamente em qual categoria é a mensagem de erro que você deseja suprimir, depois de ter identificado a categoria (seja verificando a fonte ou por tentativa e erro) você pode suprimir mensagens de erro para essa categoria usando a sintaxe de amostra mostrada no ARM, ou seja:

To discard all messages in a category, specify the null channel:
category xfer-out { null; };
category notify { null; };

Eu começaria com a categoria "resolver", embora seja uma mensagem de negação, pode pertencer a "segurança" - na verdade, a área que você descreveu fica entre várias categorias possíveis (é por isso que não posso dizer fora do topo da minha cabeça que está correto ..) "resolver" soa como mensagens que você não espera encontrar útil de qualquer maneira, se você não está tentando executar recursão para clientes.

    
por 07.07.2013 / 05:36
1

Sim, é possível silenciar o bind. Verifique sua configuração para definições de categorias e canais. Se isto está aparecendo em seu syslog, então encontre o (s) canal (is) mencionando o syslog. Há também um canal default_syslog embutido. Em seguida, localize as categorias de log para esses canais. Comente a categoria ou redirecione-a para um canal diferente. Você pode querer redirecionar para um log enquanto testa.

Mais detalhes podem ser encontrados aqui: link

    
por 06.07.2013 / 01:50
0

Para quem usa syslog e não quer descartar tudo. Tecnicamente você não quer enviar tudo para NULL. Aqui o AVISO e o CRÍTICO ainda estão sendo registrados.

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
        channel syslog {
                syslog;
                severity warning;
                print-severity yes;
                print-category yes;
        };
        category default{
                syslog;
        };
};
    
por 08.02.2014 / 06:26