Bind (consultas recursivas externas) [RESOLVIDO]

1. Bind (consultas recursivas externas) [RESOLVIDO]

Sérgio Ricardo Dutra
Sérgio Dutra

(usa Debian)

Enviado em 23/10/2009 - 10:00h

Olá pessoal...sou mais um novato aki no VOL como membro, porém um frequentador e admirador acíduo do mesmo.
E hoje venho aki para pedir um help a vcs profissionais féras de DNS.
Uso Debian 5 com Squid, IPTables,Bind, Samba, LAMP td funcionando blz, porém no meu DNS, o BIND versions 8.2.1, não consigo bloquear as consultas recursivas externas, ou seja, qq um que tiver o meu IP válido aki, pode setálo em sua NIC que navegará e até poderá usalo para coisas ilícitas que vai na bôa, e com uma velocidade incrível por sinal...RSRSRRSSRSRS.
Enfim...um problema pra minha rede aki na empresa, isso se a Registro BR não me contactar logo-logo por isso.
Jah tentei de td, refiz, troquei de ordem as ACL's e Views que peguei em foruns e afins....mas nada...algo que está me escapando aos olhos no meu named.conf.
Se eu alguém puder me ajudar ...ficaria muito grato...vou colocar abaixo o meu arq. pra alguma alma boa dar uma olhada e me ajudar...
Desde já agradeço a tds...
Abraços.

*****************************************************************************
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind/README.Debian for information on the
// structure of BIND configuration files in Debian for BIND versions 8.2.1
// and later, *BEFORE* you customize this configuration file.
//

include "/etc/bind/named.conf.options";


// lista de redes ou maquinas que podem fazer consultas recursivas
acl clientes {
localhost;
192.168.0.0/24;

};

// definicao da view interna
// esta view permite recursao para as redes da acl clientes
view "interna" {
match-clients { clientes; };
recursion yes;

// dentro desta view sao colocadas as zonas padrao:
// ".", localhost, etc, e qualquer outra zona que
// seja somente interna para a rede em questao

};

// reduce log verbosity on issues outside our control
logging {
category lame-servers { null; };
category cname { null; };
};

// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
type master;
file "/etc/bind/db.local";
};


zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

zone "xxx.xxx.xxx.in-addr.arpa" IN {
type master;
file "/etc/bind/db.empresa.rev";
};


// definicao da view externa
// esta view permite consultas de qualquer rede mas
// nao permite consultas recursivas

view "externa" {
match-clients { any; };
recursion no;
// additional-from-auth no;
// additional-from-cache no;
};

zone "empresa.com.br" {
type master;
file "/etc/bind/db.empresa";
allow-transfer { xxx.xxx.xxx.xxx; };

};
};

// add local zone definitions here
include "/etc/bind/named.conf.local";



  


2. MELHOR RESPOSTA

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 25/10/2009 - 15:04h

Acho q vc num leu tudo... se vc não percebeu, o CERT.br fala, além da config das "views" (eu já havia visto na sua conf), vc deve efetuar regras d iptables q permita q apenas as máquinas responsáveis possam fazer tais pesquisas. Veja:

Servidor Recursivo
Para o servidor recursivo é necessário combinar regras de filtragem em um firewall, idealmente stateful, com configurações no arquivo named.conf.

* Configuração do Firewall:
Para garantir que sejam atendidos apenas clientes de redes permitidas e que o servidor recursivo possa fazer as consultas aos servidores DNS externos, é necessário ter o seguinte conjunto de regras no firewall:
1. Permissão de consultas ao servidor recursivo somente para os clientes autorizados:
Tráfego vindo dos clientes autorizados, com destino às portas 53/UDP e 53/TCP do servidor recursivo, deve ser liberado;
2. Permissão para o servidor recursivo consultar servidores DNS externos e receber as respostas:
Permitir tráfego originado do servidor recursivo com destino às portas 53/UDP e 53/TCP de qualquer máquina, permitindo também o retorno das respostas. Nesse caso a melhor solução é a utilização de um firewall stateful.
3. Bloquear quaisquer outras conexões externas ao servidor DNS recursivo.

* Configuração do named.conf:
As opções abaixo devem ser colocadas no arquivo named.conf do servidor DNS recursivo:

// colocar a seguinte diretiva na clausula options
// permitindo recursao
// IMPORTANTE: Esta opcao deve ser usada em conjunto com
// regras de firewall
options {
recursion yes;
};

3. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 23/10/2009 - 23:25h

Mano... procurando no oráculo, achei essa config no site da cert.br. Confira ae e me fala o resultado:

http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/#2.1


4. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Sérgio Ricardo Dutra
Sérgio Dutra

(usa Debian)

Enviado em 25/10/2009 - 00:58h

Então Renato...
Na verdade eu utilizei essa mesma config. se reparar no meu named vai ver que ela consta lá, idêntica, até com os coments, porém não obtive sucesso, não sei se é a ordem em que elas estão ou coisa do tipo.
Se descobrir algo ou ver oq está errado no meu named me dá um toque.
Abç.


5. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Sérgio Ricardo Dutra
Sérgio Dutra

(usa Debian)

Enviado em 26/10/2009 - 08:14h

Opa Renato...
Mais uma vez, obrigado pela atenção ai.
Bom cara...como disse anteriormente, eu peguei toda a conf de lá da CERT.BR, e lí e relí várias vezes para ver se não estava comendo bola nas conf. ví sim a parte que se referi ao iptables, não só lá como em outros lugares, e apliquei as regras de várias formas, para efeito de teste bloquei total a UPD pra ver oq ocorria, e ví q ai sim bloqueava o acesso ao meu DNS, tanto que quando utilizava o IPOK por exemplo, para fazer testes no meu DNS via browser, ele dizia que estava off e tal, claro que não estava, pois eu até tinha acesso as minhas páginas hospedadas etc...porém não posso deixar assim pois acredito que teria problemas no registroBR.
Bom ...se puder me dar uma luz quanto as regras do firewall, quem sabe as minhas estejam erradas ou sei lá.
Mais uma vez obrigado.
Abç.


6. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/10/2009 - 09:58h

Kra, quando vc diz: "qq um que tiver o meu IP válido aki, pode setálo em sua NIC que navegará e até poderá usalo para coisas ilícitas que vai na bôa" esse IP é externo ou interno? Só pra eu entender melhor...


7. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Sérgio Ricardo Dutra
Sérgio Dutra

(usa Debian)

Enviado em 26/10/2009 - 10:37h

Então Renato, quis dizer o seguinte:
Se vc pegar o meu IP válido, ou seja, o de internet (externo) e coloca-lo na sua placa de rede como seu DNS primário, com certeza vc navegará numa bôa, não precisa nem colocar um secundário, verá que ele responde as suas consultas normalmente, podendo assim causar LOAD, ser usado para realizar ataques etc...como vc bem sabe.
É isso que gostaria de restringir à minha rede local, por questão de segurança, para garantir o bom desenpenho do meu servidor e até antes que receba notificação dos orgãos responsáveis e tal, registroBR, FAPESP, sei lá qual deles, como aconteceu com um amigo que resolveu usando essas mesmas VIEWS e ACL´s porém no Suse (Red Hat).
Abç.


8. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 26/10/2009 - 12:34h

Aaaahhh... agora saquei. Bom, vc pode restringir msm pelo iptables. Um exemplo, considerando q ninguém d fora possa utilizar do seu servidor:

# iptables -A INPUT -i eth0 -p tcp --dport 53 -j DROP
# iptables -A INPUT -i eth0 -p udp --dport 53 -j DROP

Assim... não sei qual é a condição da sua rede, mas acho q por essas regras vc possa ter um bom começo. Vamos discutindo e testando isso ae até a gente achar uma solução e, quem sabe, vc faça um artigo sobre isso.


9. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Sérgio Ricardo Dutra
Sérgio Dutra

(usa Debian)

Enviado em 28/10/2009 - 10:43h

Então Renato...
Apliquei as regras que vc me passou, eu até tinha usado esse recurso jah, coisa parecida na verdade mas sem especificar a interface, mas o resultado foi o mesmo cara...até impede recursiva, mas ela é muito mais ignorante, ela da status de que meu servidor está off.
Utilizando uns sites de testes de DNS, ele mostra que meu NS está fora, porém se eu tentar acessar a minha página aki está no ar.....e o próprio teste mostra que o meu WWW no DNS tá on.
Ai fiquei na dúvida cara...tipo de deixar assim mesmo....pq se está respondendo o www, a fapesp não vai me encher, por outro lado, dá pra ver que não é o jeito certo, até pq o site me devolve o status de off line, coisa que não acontece com o meu secundário, que é o servidor de um amigo com Suse, usando akelas mesmas VIEWS e ACL´s, porém apesar de não aceitar recursiva externa, não dá o status de off line pro site de testes...ou seja, com essa regra até resolve meu problema, posso não sofrer com envenenamento de caching etc...mas queria saber oq ocorre...conhecimento, aprendizado mesmo entende Renato.
Bom cara...mais uma vez obrigado ai pela atenção, qq novidade me dá um toque.
me ajudeeeeeeee !!! RSRSRSRSRSSR
Abraços.


10. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Sérgio Ricardo Dutra
Sérgio Dutra

(usa Debian)

Enviado em 29/10/2009 - 13:40h

Renato...Consegui resolver o problema da recursiva cara.
Revi os meus arq. de conf... o named.conf e o named.conf.options e ai acertei algumas coisas, como a ordem das acls e views e declaração dakela variável "OPTIONS", tinha uma outra lá de forward para direcionar pro meu servidor, mas no meu firewall eu estava bloqueando forwarders.
Não precisei mexer em nada no firewall além disso, foi só acertar as coisas cada uma em seu devido lugar e td funcionou.
Só ficou um probleminha... que é qdo eu starto a regra pra bloquear a recursiva, minha net dá uma relojáda sabe....fica meio lenta...ai qdo comento a regra ela volta ao normal.
bom....mas isso jah é um outro problema, pra um outro tópico...rsrsrsrsrs...
Quero agradecer ai a atenção cara...valew mesmo.
Abraços.


Sérgio Dutra


11. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 29/10/2009 - 13:42h

ACL's são fodas por causa disso: o tal da ordem! Mas é assim msm... tamo ae pra qq coisa e tb aprendi com vc, não tiro dúvidas apenas, blz? Precisando...


12. Re: Bind (consultas recursivas externas) [RESOLVIDO]

Cristiano
cpa83

(usa Debian)

Enviado em 02/01/2012 - 08:54h

Sérgio, tem como passar seu conf para dar uma olhada, não conseguindo bloquear as pesquisar recursivas.



01 02