O que é transferência de zona DNS?
Transferência de zona DNS, também conhecida como DNS query type AXFR, é um processo pelo qual um servidor DNS passa uma cópia de parte da sua base de dados para outro servidor DNS. A parte da base de dados que é replicada é conhecida como zona.
Uma transferência de zona usa o Protocolo de Controle de Transmissão (TCP) e toma a forma de uma transação cliente-servidor.
O cliente que solicita uma transferência de zona pode ser um servidor escravo ou servidor secundário, solicitando dados de um servidor mestre ou de um servidor primário.
Quando ocorre normalmente uma transferência de zona DNS?
Ocorre normalmente uma transferência de zona quando se apresenta um novo servidor DNS como um servidor DNS secundário.
Ocorre uma transferência completa de toda a informação da zona de forma a replicar os registos já existentes para essa zona. Este é um processo demorado e que consome muitos recursos. Assim, transferências DNS incrementais foram desenvolvidas.
Na Transferência incremental, o servidor recupera apenas os registros de recursos que foram alterados dentro de uma zona, para que ela permaneça sincronizada com o servidor DNS primário.
Ao utilizar a transferência incremental, o registro SOA é comparado para ver se alguma alteração foi feita. Se o servidor de nome primário tiver um número de versão SOA maior que o servidor de nome secundário, então uma transferência de zona será iniciada.
Se o número de versão dos registros SOA for o mesmo, uma transferência de zona não será iniciada.
Quando forem feitas alterações no arquivo de zona no servidor de nome primário e houver uma lista de notificação DNS, o servidor de nome primário notifica imediatamente o servidor de nome secundário que o arquivo de zona foi modificado. Ele então instrui-o a iniciar uma transferência de zona sem esperar que o intervalo de atualização expire.
A lista de notificação é uma lista de endereços IP que especifica quais servidores de nomes secundários estão autorizados a acessar informações de zona no servidor de nomes primário para fins de transferência de zona.
Aqui está um exemplo mostrando como realizar uma transferência de zona DNS usando dig:
Command:
Aqui, nsztm1.digi.ninja é o servidor de nomes e zonetransferência.me é o nome de domínio.
Estes registos DNS são explicados mais abaixo.
Registo SOA
Informação armazenada numa zona DNS começa com um registo SOA (Start Of Authority).
Este registo contém informações sobre:
-
o nome do servidor
-
nome do administrador da zona
-
a versão atual do registro SOA
-
o número de segundos que um servidor de nomes secundários deve esperar antes de verificar qualquer atualização
>
-
o número de segundos a esperar antes de tentar novamente uma transferência de zona falhada
-
o número máximo de segundos que um servidor de nomes secundário pode usar os dados antes de ser atualizado ou expirar
-
o número padrão de segundos para o tempoto-live (TTL) nos registos de recursos.
Aqui:
-
zonetransfer.me é o nome do domínio
-
nsztm1.digi.ninja.é o servidor de nome primário
-
robin.digi.ninja. representa a pessoa responsável pelo domínio
-
o endereço de e-mail (swap primeiro . para um @)
-
2014101601- O número de série SOA actual para o domínio
-
172800- número de segundos que um servidor de nomes secundário deve esperar entre fazer pedidos de alterações
-
900- Número de segundos que um servidor de nomes primário deve esperar se não actualizar correctamente
>
-
1209600- Número de segundos que um servidor de nome secundário pode alegar ter informação autorizada
-
3600- TTL mínimo
MX record
A Mail eXchange record (MX record) especifica o servidor de e-mail responsável por aceitar mensagens de e-mail em nome de um nome de domínio. Aqui a vítima usa o serviço de e-mail do Google. Esta é uma informação útil ao realizar qualquer ataque de engenharia social.
TXT record
A Text record (TXT) é um tipo de registo de recurso no Sistema de Nomes de Domínio (DNS) usado para fornecer a capacidade de associar texto arbitrário com um host ou nomes, tais como informações legíveis por humanos, rede, centro de dados ou outras informações contábeis.
TXT records podem conter informações valiosas. A partir deste registro TXT, obtivemos uma identificação de e-mail e um número de telefone.
SRV record
Um registro SRV (Service) mostra a localização do servidor SIP, identifica um serviço mostrando o protocolo, o host e a porta em que ele está rodando.
Este ponto aponta para um servidor chamado _sip._tcp.zonetransfer.me escutando na porta TCP 5060 para Session Initiation Protocol (SIP) e www.zonetransfer.me é o host que está fornecendo o serviço. A prioridade dada aqui é 0, e o peso é 0.
Um registro
Um registro mapeia um nome de domínio para o seu endereço IP correspondente. De um registro temos três IPs de centro de dados e três IPs de escritório o que dá um total de 6 alvos.
CNAME
Um registro Canonical Name (CNAME) é usado para mapear um alias de um nome de domínio para outro nome de domínio. A partir disto, podemos ver um servidor de teste e encenação.
Impacto da Vulnerabilidade de Transferência de Zona DNS
A transferência de zona DNS não oferece autenticação. Assim, qualquer cliente ou alguém fazendo-se passar por cliente pode pedir a um servidor DNS uma cópia da zona inteira.
Isso significa que a menos que algum tipo de proteção seja introduzida, qualquer um é capaz de obter uma lista de todos os hosts para o domínio particular, o que lhe dá um monte de vetores de ataque em potencial.
Como Impedir a Vulnerabilidade de Transferência de Zona DNS?
- Apenas permitir uma transferência de zona a partir de IPs confiáveis. O seguinte é um exemplo de como corrigir isso no servidor DNS BIND.
Navigate to /etc/named.conf e adicionar estes:
- Usar Assinaturas de Transacção (TSIG) para transferências de zona
identificar vulnerabilidades antes que os hackers as explorem.