Registros DNS. O que um desenvolvedor WEB precisa saber

Quando estamos trabalhando com o desenvolvimento de aplicações WEB, cedo ou tarde vamos nos deparar com os registros DNS. Em muitos casos um desenvolvedor WEB, ao criar uma nova aplicação precisa configurar a mesma no ambiente de produção. Com isso pode haver a necessidade de realizar configurações nos registros DNS. Outro cenário em que se pode requisitar configuração nos registros DNS, seria uma mudança do servidor de hospedagem ou mesmo em algum teste de propriedade do domínio, em que no teste é solicitado a inserção de um registro DNS específico para a verificação. Podem aparecer vários outros cenários em que se faz útil o conhecimento mínimo sobre DNS.

DNS

O DNS (Domain Name System), é um sistema de informações hierárquico e descentralizado, que contém informações de endereços IP, nomes de domínio entre outras informações referentes a todos os sites da internet. Sua principal função é resolver nomes de domínios na internet. Em outras palavras o DNS realiza a tradução de um nome de domínio, para um endereço IP específico. Antes da criação do DNS, o modo de se acessar um site era digitando o seu endereço IP diretamente. Assim o DNS é um componente fundamental para o funcionamento da internet assim como a conhecemos.

Registros DNS

Os registros DNS funcionam como instruções para o servidor DNS. Os registros de DNS possuem vários comandos e sintaxes diferentes. Neste artigo vou abordar os tipos de registros DNS mais comuns quais podemos nos deparar no dia a dia. 

Tipos de registros

A

O registro do tipo A é utilizado para apontar para qual IPv4 um determinado hostname deve direcionar. Ou seja ele traduz um nome diretamente para um endereço IPv4. 

Consultando o registro:

No terminal do Linux utilize o comando: “host -t a dominio.com” para visualizar o IPv4 destino, que está configurado no registro do tipo A do nome informado.

$ host -t a irias.com.br
irias.com.br has address 149.56.175.201

Para visualizar no windows, pode ser utilizado o comando: “nslookup dominio.com”.

AAAA

O registro do tipo AAAA é semelhante ao registro do tipo A e executa a mesma função. A diferença é que ele traduz para um endereço do tipo IPv6.

CNAME

O registro do tipo CNAME (canonical Name), é utilizado para indicar para qual hostname um determinado hostname deve direcionar. Ou seja ele traduz um nome para outro nome. Este registro pode ser interessante, quando temos de realizar mais de um apontamento para o mesmo endereço IP. Sendo assim elimina a necessidade de alterar todos os registros caso tenha uma alteração do endereço IP. 

Cenário exemplo:

Temos o site irias.com.br que aponta para o IP 149.56.175.201, que é o servidor onde este site está hospedado. Temos também o site intranet.irias.com.br, que é outro site que está no mesmo servidor mas utiliza um subdomínio. Assim podemos criar um registro CNAME apontando o nome intranet.irias.com.br para o irias.com.br. Caso ocorra uma alteração do IP do servidor, somente é necessário modificar o apontamento do tipo A do nome irias.com.br. 

NS

O registro do tipo NS (Name Server), é utilizado para indicar quais são os servidores de DNS do domínio. É recomendado a utilização de no mínimo dois registros NS, sendo que um aponta para o servidor de DNS primário e outro para o secundário.

Consultando o registro:

No terminal do Linux utilize o comando: “host -t ns dominio.com” para visualizar o registro NS que está configurado no domínio.

$ host -t ns irias.com.br
irias.com.br name server c.sec.dns.br.
irias.com.br name server b.sec.dns.br

Para visualizar no windows, pode ser utilizado o comando: “nslookup dominio.com”.

MX

O registro do tipo MX (Exchange Mail), é utilizado para indicar qual é o servidor de emails do domínio. 

SOA

O registro do tipo SOA ( Start Of Authority), é utilizado para fornecer informações sobre o domínio.

TXT

O registro do tipo TXT ( TeXT),  é utilizado para incluir um texto curto a um nome de domínio. Este registro é comumente utilizado, para implementar  o SPF, que é uma técnica utilizada em servidores de e-mail para evitar o envio de spam e fraudes. Para mais informações, leia a documentação do SPF. Este registro também é bastante utilizado em teste de autoridade sobre o domínio.

Cenário exemplo:

Temos o certificado SSL/TLS de um site.

Um certificado SSL/TLS é utilizado para verificar e validar, a identidade de um domínio na internet. Os protocolos SSL e TLS são protocolos desenvolvidos para garantir a segurança de comunicações em redes de computadores. Para mais informações sobre os protocolos, leia a documentação oficial do SSL e TLS. O Let’s Encrypt é um projeto que fornece certificados gratuitos para domínios. Para mais informações sobre o projeto Let’s Encrypt, veja no site oficial.

Ao criarmos um certificado digital no Let’s Encrypt, ele solicita que façamos alguns desafios, para provar que realmente somos proprietários de um domínio. Um dos testes que podem ser solicitados, consiste em criar um novo registro TXT no DNS do nosso domínio, com uma chave específica informada por eles. Assim eles podem consultar os registros TXT do nosso domínio, e verificar se algum deles contém a chave. Com isso se prova que a administração do DNS do domínio está em nosso controle.

Consultando o registro:

No terminal do Linux utilize o comando: “host -t txt dominio.com” para visualizar o registro TXT que está configurado no domínio.

$ host -t txt google.com
google.com descriptive text "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"
google.com descriptive text "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95"
google.com descriptive text "globalsign-smime-dv=CDYX+XFHUw2wml6/Gb8+59BsH31KzUr6c1l2BPvqKX8="
google.com descriptive text "v=spf1 include:_spf.google.com ~all"
google.com descriptive text "docusign=1b0a6754-49b1-4db5-8540-d2c12664b289"

Existem outros tipos de registros DNS, que podem ser empregados em diversas situações específicas. Caso queira se aprofundar no assunto, verifique a RFC do protocolo DNS.

Um comentário em “Registros DNS. O que um desenvolvedor WEB precisa saber”

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *