Ir para conteúdo

Featured Replies

Postado

Bom dia!

Estou com uma dúvida na configuração do Bind DNS.

O que devo colocar nos parametros allow-transfer, allow-query, allow-notify e allow-recursion?

Estou com receio de deixar o servidor DNS aberto demais ou fechado demais e ocorrer erros na propagação. Alguém teria alguma dica sobre isso:

Atualmente meu named.conf está assim:

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

controls {
inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
};

acl "trusted" { 127.0.0.1; };

options {
	listen-on port 53 { any; };
	#listen-on-v6 port 53 { any; };
	listen-on-v6 { none; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
	recursion yes;

	dnssec-enable yes;
	dnssec-validation yes;
	dnssec-lookaside auto;

	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";

	managed-keys-directory "/var/named/dynamic";

	allow-recursion { trusted; };
	allow-notify { trusted; };
	allow-transfer {
		any;
		};
	forwarders { 127.0.0.1; };
	also-notify {
		};
	version "None";
	allow-query {
		any;
		};
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
	type hint;
	file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/rndc.key";

zone "domain1.com.br" {
	type master;
	file "/var/named/domain1.com.br.hosts";
	allow-transfer {
		127.0.0.1;
		localnets;
		};
	allow-query {
		any;
		};
	};
zone "domain2.com.br" {
	type master;
	file "/var/named/domain2.com.br.hosts";
	allow-transfer {
		127.0.0.1;
		localnets;
		};
	allow-query {
		any;
		};
	};

 

Postado

allow-query e allow-recursion: apenas 127.0.0.1. No momento está aberto para o mundo e você é um potencial amplificador de ataques. 

allow-notify, allow-transfer e also-notify: apenas 127.0.0.1 e o IP do servidor secundário.

 

 

 

 

Postado
  • Autor

Ficaria assim? Você mudaria algo a mais ai? Para aumentar a segurança? Ou está ótimo assim?

#EDIT

Eu testei com essas configurações e as ferramentas de Checagem de DNS, exemplo da PingDom não funcionaram. Ai eu tive que colocar o parâmetro allow-query { any; }; para funcionar, por que? E também aparece esse erro:

Citar

The name server failed to answer queries sent over TCP. This is probably due to the name server not correctly set up or due to misconfgured filtering in a firewall. It is a rather common misconception that DNS does not need TCP unless they provide zone transfers - perhaps the name server administrator is not aware that TCP usually is a requirement.

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

controls {
inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
};

acl "trusted" { 127.0.0.1;  };

options {
	listen-on port 53 { any; };
	#listen-on-v6 port 53 { any; };
	listen-on-v6 { none; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
	recursion yes;

	dnssec-enable yes;
	dnssec-validation yes;
	dnssec-lookaside auto;

	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";

	managed-keys-directory "/var/named/dynamic";

	allow-recursion { 127.0.0.1; };
	allow-query { 127.0.0.1; };
	allow-notify { 127.0.0.1; 201.131.144.20; };
	allow-transfer { 127.0.0.1; 201.131.144.20; };
	also-notify { 127.0.0.1; 201.131.144.20; };
	forwarders { 127.0.0.1; };
	version "None";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
	type hint;
	file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/rndc.key";

zone "domain1.com.br" {
	type master;
	file "/var/named/domain1.com.br.hosts";
	allow-transfer {
		127.0.0.1;
		localnets;
		201.131.144.20;
		};
	};
zone "domain2.com.br" {
	type master;
	file "/var/named/domain2.com.br.hosts";
	allow-transfer {
		127.0.0.1;
		localnets;
		201.131.144.20;
		};
	};

 

Postado

Forwarders não é para ter nada. 

O allow-query eu tinha eu confundido com o allow-query-cache, que está faltando na sua configuração. 

allow-query-cache { trusted } ;

allow-query { any } ;

 

 

Postado
  • Autor

Vou adicionar isso então.

Em mais algum lugar eu uso o 'trusted' ou só ai?

Obrigado pela ajuda.

Postado
13 hours ago, marcelorp said:

Vou adicionar isso então.

Em mais algum lugar eu uso o 'trusted' ou só ai?

Obrigado pela ajuda.

Eu usaria em todos ao invés de só ali, pois se torna mais simples ter um único lugar só para alterar. trusted não é uma variável default, está definida mais acima:

acl "trusted" { 127.0.0.1; };

Se você mudasse para 

acl "trusted" { 127.0.0.1; 201.131.144.20; };

Poderia usar trusted em todos esses lugares ao invés de, se um dia precisar alterar, ter que caçar todas as ocorrências. 

201.131.144.20
Postado
  • Autor

Obrigado novamente. Ficou assim:

Agora está correto? Engraçado que quando eu salvo os dados via Virtualmin ele limpa os dados e deixa o 'also-notify' limpo, sem eu pedir isso. Sabe o por que?

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

controls {
inet 127.0.0.1 allow { localhost; } keys { rndc-key; };
};

acl "trusted" { 127.0.0.1; 201.231.144.19; 201.231.144.20; localnets; };

options {
	listen-on port 53 { any; };
	#listen-on-v6 port 53 { any; };
	listen-on-v6 { none; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
	recursion no;

	dnssec-enable yes;
	dnssec-validation yes;
	dnssec-lookaside auto;

	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";

	managed-keys-directory "/var/named/dynamic";

	allow-recursion { trusted; };
	allow-query { any; };
	allow-query-cache { trusted; };
	allow-notify { trusted; };
	allow-transfer { trusted; };
	also-notify { trusted; };
	forwarders { };
	version "None";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
	type hint;
	file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/rndc.key";

zone "domain1.com.br" {
	type master;
	file "/var/named/domain1.com.br.hosts";
	allow-transfer { trusted; };
	};
zone "domain2.com.br" {
	type master;
	file "/var/named/domain2.com.br.hosts";
	allow-transfer { trusted; };
	};

 

Postado
1 hour ago, marcelorp said:

Agora está correto? Engraçado que quando eu salvo os dados via Virtualmin ele limpa os dados e deixa o 'also-notify' limpo, sem eu pedir isso. Sabe o por que?

Para mim parece correto. Não uso via painéis então não sei porque ele está implicando... 

 

 

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.
Nota: Sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Informação Importante

Concorda com os nossos termos?