02 - Armazenada em Name Servers
video: https://youtu.be/... no frontmatter da nota.Armazenada em Name Servers
Uma zona de DNS, embora seja um conceito lógico de autoridade, necessita de uma infraestrutura física e de software para existir e responder a consultas. Essa infraestrutura é composta pelos Name Servers (Servidores de Nomes). Armazenar uma zona em um Name Server significa que este servidor detém a "cópia autoritativa" dos registros e está configurado para responder oficialmente por qualquer busca dentro dos limites daquela zona.
1. O Name Server como Repositório Ativo
Ao contrário de um simples backup de arquivos, o armazenamento de uma zona em um Name Server transforma dados estáticos em um serviço de rede dinâmico. O servidor carrega as informações da zona (seja de um arquivo local ou de uma transferência de rede) para a sua memória RAM, permitindo respostas com latência da ordem de milissegundos.
Softwares de Gerenciamento
O armazenamento é controlado por daemons especializados. No mundo Linux, o BIND (Berkeley Internet Name Domain) é o padrão histórico (mantido pela ISC). Outros softwares amplamente utilizados em ambientes de alta performance incluem:
| Software | Foco | Linguagem | Característica |
|---|---|---|---|
| BIND9 | Recursivo + Autoritativo | C | Mais utilizado, suporta DNSSEC, IPv6, TSIG |
| NSD (Name Server Daemon) | Apenas autoritativo | C | Alta performance, usado em raiz e TLDs |
| Knot DNS | Apenas autoritativo | C | Otimizado para altíssimo volume de queries |
| PowerDNS | Autoritativo + Recursivo | C++ | Backends em MySQL, PostgreSQL, LDAP |
| Unbound | Apenas recursivo | C | Validador DNSSEC, foco em performance |
| Dnsmasq | Pequenos ambientes | C | Resolvedor + DHCP para LANs |
2. Vinculação via Registro NS (Name Server)
Para que a internet saiba que uma zona está armazenada em determinados servidores, utiliza-se o registro NS. Este registro funciona como um "ponteiro" na zona pai.
- Se a zona
exemplo.com.brestá armazenada nos servidoresns1.provedor.comens2.provedor.com, a zona pai (.br) deve conter registros NS apontando para esses nomes. - Isso estabelece a Cadeia de Confiança: a raiz aponta para o TLD, o TLD aponta para o Name Server que armazena a sua zona.
Exemplo Prático: Consulta NS
# Consulta registros NS do domínio
dig NS exemplo.com.br +short
# Consulta a origem (SOA) e servidores autoritativos
dig exemplo.com.br SOA +noall +answer
# Traça a cadeia de delegação completa
dig +trace NS exemplo.com.br
3. Persistência e Formatos de Armazenamento
Os Name Servers podem armazenar as zonas de diferentes formas técnicas, dependendo da necessidade de escalabilidade:
- Arquivos de Texto Plano (Flat Files): Formato mais comum (RFC 1035). Fácil de ler por humanos e altamente portável entre diferentes softwares. Cada arquivo contém o registro SOA e todos os registros da zona.
- Bancos de Dados Relacionais: Alguns Name Servers (como o PowerDNS) podem armazenar as zonas em MySQL ou PostgreSQL. Isso permite atualizações em tempo real via SQL e integração fácil com painéis de controle web.
- Bancos NoSQL: Para zonas massivas com milhões de registros (ex: CC-TLDs nacionais), podem ser usados backends como Redis, Cassandra ou LMDB para acelerar o lookup.
- Arquivos Binários Indexados: O servidor converte o arquivo de texto em um formato binário indexado para acelerar o carregamento e reduzir o consumo de memória (ex: BIND
named-compilezone).
Exemplo de Arquivo de Zona (BIND)
$ORIGIN exemplo.com.br.
$TTL 3600
@ IN SOA ns1.exemplo.com.br. admin.exemplo.com.br. (
2024011501 ; Serial
3600 ; Refresh
900 ; Retry
1209600 ; Expire
86400 ) ; Minimum TTL
@ IN NS ns1.exemplo.com.br.
@ IN NS ns2.exemplo.com.br.
@ IN MX 10 mail.exemplo.com.br.
@ IN A 203.0.113.10
www IN CNAME @
ns1 IN A 203.0.113.5
ns2 IN A 203.0.113.6
4. Tipos de Name Servers por Papel
| Tipo | Função | Exemplo de Uso |
|---|---|---|
| Master (Primário) | Armazena a cópia mestre editável da zona | Servidor onde o admin altera os registros |
| Slave (Secundário) | Replica a zona via AXFR/IXFR | Sobe quando master cai (alta disponibilidade) |
| Stealth (Hidden) | Master não anunciado publicamente | Defesa contra ataques diretos ao master |
| Caching-only | Não armazena zonas, apenas respostas em cache | Resolvedores locais de ISP |
| Forwarder | Encaminha recursão para outro resolvedor | Configuração de firewall corporativo |
Mecanismo de Transferência de Zona (AXFR/IXFR)
A replicação entre Master e Slave ocorre via TCP na porta 53:
- AXFR (Full Zone Transfer): Transfere a zona inteira. Custoso para zonas grandes.
- IXFR (Incremental Zone Transfer): Transfere apenas os registros alterados desde o último serial.
# Testando transferência de zona (debug)
dig @ns1.exemplo.com.br AXFR exemplo.com.br
A transferência deve ser protegida via TSIG (Transaction SIGnature, RFC 2845) com chaves HMAC-SHA256 compartilhadas entre Master e Slave, e a ACL allow-transfer deve restringir IPs autorizados.
5. Armazenamento em Cluster e Anycast
Em arquiteturas de alta disponibilidade, a zona não é armazenada em apenas um servidor físico, mas em um cluster de Name Servers.
- Replicação Master-Slave: A zona é editada no servidor primário e replicada para múltiplos secundários via IXFR.
- Anycast IP: Todos os Name Servers do cluster anunciam o mesmo endereço IP via BGP. O roteamento da internet leva a consulta do usuário para o Name Server mais próximo que armazene aquela zona. Esta técnica é usada pelos 13 root servers lógicos, que na prática são mais de 1.500 instâncias físicas distribuídas mundialmente via Anycast.
- Geographical Distribution: Zonas globais costumam ter Name Servers em continentes diferentes (América do Norte, Europa, Ásia) para reduzir a latência para usuários.
Exemplo: Cluster Anycast
Usuário no Brasil -> BGP -> nó Anycast em São Paulo (latência 5 ms)
|
(se o nó SP cair)
v
nó Anycast em Miami (latência 110 ms)
6. Segurança do Armazenamento: DNSSEC
Quando uma zona é armazenada em um Name Server, ela está sujeita a ataques de envenenamento de cache (Cache Poisoning, RFC 3833). Para garantir que os dados armazenados e entregues são legítimos, utiliza-se o DNSSEC (Domain Name System Security Extensions, RFCs 4033-4035).
- O Name Server armazena não apenas os registros (A, MX, etc.), mas também assinaturas digitais (RRSIG) para cada um deles.
- As chaves públicas são publicadas em registros DNSKEY e a cadeia de confiança vai da raiz (KSK) até o registro final.
- Adiciona o registro DS (Delegation Signer) na zona pai, conectando a cadeia criptográfica entre TLD e domínio.
Impactos do DNSSEC no Armazenamento
- Aumento do tamanho das respostas (necessita EDNS0 com UDP ≥ 1232 bytes).
- Maior consumo de CPU (validação de assinaturas em cada consulta).
- Necessidade de rotação de chaves (KSK rollover, RFC 6781).
7. Considerações sobre o TTL (Time To Live)
O armazenamento no Name Server também define por quanto tempo os outros servidores (recursivos) podem "copiar" essa informação em seus caches. O valor de TTL definido na zona no Name Server original dita a velocidade de propagação de qualquer mudança na internet.
| Cenário | TTL Recomendado | Justificativa |
|---|---|---|
| Site estável, sem migrações | 86400s (24h) | Reduz carga no servidor autoritativo |
| Migração programada | 300s (5 min) | Permite rollback rápido |
| CDN com failover | 30-60s | Muda IP rapidamente em queda |
| Registro SPF/DKIM | 3600s | Estável mas com flexibilidade |
8. Auditoria e Operação
# Verifica a versão do BIND e status
rndc status
# Recarrega uma zona específica sem reiniciar o daemon
rndc reload exemplo.com.br
# Verifica consistência entre Master e Slave
rndc zonestatus exemplo.com.br
# Audita uma zona em busca de erros
named-checkzone exemplo.com.br /etc/bind/db.exemplo
named-checkconf /etc/bind/named.conf
9. Boas Práticas de Armazenamento
- Manter pelo menos 2 Name Servers em redes/IPs distintos (recomendação RFC 2182).
- Sincronizar relógios via NTP (crítico para TSIG e IXFR).
- Monitorar a integridade entre Master e Slave com
rndc zonestatus. - Fazer backup periódico do arquivo de zona (
.jnle master). - Restringir
allow-recursioneallow-transferpor ACL. - Habilitar DNSSEC em zonas críticas.
10. Conclusão
Armazenar uma zona em Name Servers é muito mais do que "salvar um arquivo": envolve a escolha de software adequado (BIND, NSD, PowerDNS), definição de topologia (Master/Slave/Anycast), proteção criptográfica (DNSSEC, TSIG) e operação contínua (transferências de zona, monitoring, rotação de chaves). Um armazenamento bem projetado garante baixa latência, alta disponibilidade e resistência a ataques — pilares da resiliência do DNS moderno.