Teoría sobre o Servizo de nomes de dominio

De MediaWiki
Ir a la navegación Ir a la búsqueda

Introducción

Cada vez son máis os equipos conectados á rede que ofrecen algún tipo de servicio ou recurso e, por tanto, tamén é maior a necesidade de coñecer como acceder a eles.

Coñecer o enderezo lóxico do equipo que ofrece o servizo permite prescindir de coñecer o seu nome asociado; mais para os humanos é moito máis sinxelo recordar nomes que combinacións de números. Internet non sería o mesmo se tiveramos que introducir a ip 216.58.215.131 no canto de www.google.es

Porén, xa sexa nunha rede privada local ou internet, os servizos de resolución de nomes xogan un importante papel para facilitar o acceso ós recursos. Veremos pois a continuación cómo traducir enderezos ip a nomes e viceversa.

Sistemas de nomes planos e xerárquicos

Nos inicios da informática e das redes os servidores eran tan poucos que TODOS os host tiñan a lista de nomes de dominio completa e a actualizaban diariamente. Esa lista de nomes estaba no ficheiro hosts.

Hoxe todavía se usa a nivel local (LAN) atopándose en C:\windows\system32\drivers\etc\hosts.txt en entornos Windows ou en /etc/hosts en Linux. Hoy todavía podemos usarlo a nivel local (LAN).

Un exemplo de hosts é:
127.0.0.1     localhost
192.168.0.3   meu-servidor.lan
192.168.0.4   outro-pc.lan
Un exemplo de host en linux cunha terceira columna cos alias:
192.168.0.3   meu-servidor.lan servidor

Pronto co rápido crecemento das redes se detectou que era preciso un sistema mellor.

Sistemas de nomes planos

O emprego de nomes planos fai posible identificar e acceder a equipos que están dentro dunha rede pero non permite coñecer a estrutura lóxica da mesma. Estes sistemas poden implementar sobre arquitecturas cliente/servidor ou estar distribuídos.

NetBios (Network Basic Input-Output System) é un destes sistemas de nomes planos que fai de enlace entre a capa de rede e as aplicacións que desexan facer uso dela; permite coñecer o enderezo lóxico (IP) asignado a un dispositivo dentro dunha rede a partir dun nome plano de xeito distribuido (e por tanto sen necesidade dun servidor central).

WINS (Windows Internet Naming Service) é unha alternativa centralizada. Este servizo implementado por Microsoft controla as solicitudes de rexistro, renovación e liberación que recibe por parte dos clientes, e responde as consultas por enderezo IP.

Sistemas de nomes xerárquicos

Os sistemas de nomes planos están caendo en desuso por esa limitación de non poder ofrecer información relativa a estrutura xerárquica da rede na que se atopan os dispositivos.

O uso destes sistemas non se limita á simple tradución de enderezos lóxicos a nomes e viceversa; permite tamén coñecer a ubicación e forma de acceso a determinados servizos dentro dun dominio.

O término dominio define o conxunto de recursos que comparten parte do seu identificador e que son controlados pola mesma entidade.

DNS é on dos sistema de nomes xerárquicos máis importantes.

Integración

É posible integrar o uso de servidores de nomes planos e xerárquicos.

Por exemplo, o servidor DNS de Microsft pode apoiarse en servidores WINS para realizar búsquedas de nomes que non se atopen no seu espazo nomes e dar así un servizo máis completo; con todo, como dicíamos, o uso de WINS xa non esta aconsellado na actualidade polas vantaxes de DNS.

DNS

O protocolo DNS (Domain Name System) apareceu en 1984 para dar resposta as necesidades palpables ante o emerxente surximento de Internet.

Traballa no porto 53 e na capa de transporte de xeito habitual sobre UDP; máis soporta conexións TCP cando o tamaño dos datos sobrepasa os 512 bytes (como sucede por exemplo nas transferencias de zona).

Características e funcionamento

Un servidor DNS permanece a escoita ante posibles peticións de clientes que deba atender.

Eses clientes implementarás nos seus sistemas operativos o DNS resolver que é o encargado de:

  • realizar consultas os servidores DNS correspondentes
  • interpretas as respostas recibidas
  • devolver o resultado ó programa que desencadenou a consulta
NOTA. Hai alternativas que residen en cada cliente e permiten coñecer esta información sen necesidade de realizar unha consulta contra un servidor DNS
Ficheiro Hosts, que xa foi descrito
Caché DNS. 
En windows:
ipconfig /displaydns --> amosa o seu contido
ipconfig /flushdns   --> vacía o seu contido
En linux:
Non todos os sistemas fan uso de caché DNS, sendo preciso instalar o seu demo ncsd
De estar instalado a caché reside e pódese consultar en /var/cache/ncsd/hosts
E para vaciar a caché e preciso reiniciar o servizo con sudo /etc/init.d/nscd restart

O número de nomes para traducir é elevado e en constante aumento polo aparición de novos dominios. Porén, non é posible realizar a xestión de todos os nomes de dominio de forma centralizada desde un único servidor DNS.

Por iso DNS foi diseñado para traballar de forma xerárquica e distribuída. Cada servidor únicamente é responsable de pequenas parcelas de nomes coñecidas como zonas.

Zona é unha base de datos completa para un subárbol podado do espacio de dominios.

O protocolo DNS:

  • empregra nomes articulados xerárquicos que permiten realizar a traducción:enderezo ip <--> nome
  • permite coñecer servicios de rede asociados a cada nome
  • permite coñecer a estrutura xerárquica do dominio no cal se atopa ubicado o dispositivo

O servizo DNS:

  • Implántase en redes locáis corporativas como traductor para os clientes que necesitan acceder a un determinado dispositivo
  • É menos relevante para entornos domésticos (máis alá da configuración para resolver enderezos en Internet, obviamente).

Espacio de nomes e administración

Os organismos que alquilan os nombres de dominio son:

  • Internet Corporation for Assigned Names and Numbers (ICANN) a nivel internacional
  • nic.es, que forma parte de red.es e este, a súa vez, do Goberno de España, no caso dos .es

Debemos recordar que:

  • un nome de dominio solo apuntará a un enderezo IP nun momento concreto, aínda que este pode variar no futuro.
  • varios nomes poden marcar a misma IP.

Dominios xenéricos

Ata 1985 ninguen podía obter un nome de dominio. Existía só .arpa (dominio de infraestrutura) que pertencía aos militares de Estados Unidos. Entre 1985 y 2006 crearonse unos 280.

Tipos

  • gTLD: son os dominios xenéricos de primeiro nivel, son os chamados globais ou internacionales.
    • Alquilables por todo el mundo:
      • .com (compañías)
      • .net (telecomunicaciones)
      • .org (organizaciones)
      • .info (información).
    • Alquilables cumplindo unhas restriccións:
      • .biz (para empresas)
      • .name (para nomes propios jose.lopez.name)
      • .pro (destinados a profesionais de diferentes sectores)
      • .int (organizacións con tratados internacionais e organizacións non gubernamentales co estatus de observadores das Nacións Unidas)
      • .edu (universidades e institutos, educación)
      • .mil (para o departamento de defensa dos Estados Unidos)
      • .gov (organismos gubernamentais de Estados Unidos)
    • sTLD: patrocinados promovidos por unha fundación independente
      • .aero (aeroportos)
      • .coop (sociedades cooperativas)
      • .museum (museos)
      • .travel (axencias de viaxes)
    • mTLD: patrocinados para móbiles
      • .mobi
    • lTLD: patrocinados para unha lingua
      • .cat para o catalán
      • .gal para o galego.
    • ccTLD: dominios regulados pola norma ISO-3166 por países ou territorios. Formados por dous caracteres (.es -> España, .fr -> Francia, etc.)
  • SLD: algunhas autoridades crean un segundo nivel xenérico, coma Reino Unido ou Colombia: .org.uk.
  • IDN: son conversións de linguas non latinas a ASCII.
  • Dominios de terceiro nivel: son os subdominios que alquila una empresa, por exemplo: cocacola.com.uk.
Os 13 root name servers son operados por 12 organizacións independentes
Podes atopar información actualizada en https://root-servers.org/

Un servidor DNS manexa nomes articulados coñecidos coma Full Qualified Domain Name (FQDN). Cada FQDN consta de nomes de host e nome de dominio internacionalizado no que se atopa ese host. Por exemplo en.wikipedia.org. ou www.google.es

IMAXE

O proceso polo que un cliente (particular ou empresa) aluga un dominio para o seu uso á empresa ou organismo autorizado para tal efecto demonínase rexistro de dominio. Non se pode realizar sobre os servidores raíz e debe facerse contra un servidor TLD ou de niveles inferiores

Consultas e respostas

O servicio DNS baséaase nunha consulta do cliente a un servidor DNS. O sistema operativo adoita ter configurados os enderezos ip de dous servidores DNS (e pode ser obitda esta opción de xeito automático mediante configuración DHCP, como así fan moitos dos ISP).

A consulta envíase o servidor DNS primario, e se este non contesta ou se demora en exceso, úsase o secundario.

Pero, cómo é esa comunicación? Habitualmente realízase a través do porto 53 a través de UDP. A consulta realizada polo DNS resolver (cliente) pode preguntar:

  • por un enderezo correspondente a un equipo cun nome determinado
  • por un nome asociado a un enderezo concreto (coñecido como resolución inversa)
  • por servizos para un determinado nome de dominio
  • ...

Consultas recursivas e iterativas

As consultas poden ser de tipo recursivas ou iterativas.

As consultas recursivas solicítanlle o servidor DNS que conteste directamente co resultado ou cun erro en caso de non existir resposta. Subdividense en:

  • Resposta autoritativa se a resposta do servidor contrúese con base a información contida dentro das zonas que él xestiona e que coñece por tanto de primeira man.
  • Resposta non autoritativa cando o servidor actúa como intermediario e a resposta constrúese segundo a información contida na súa caché tras consultar ó servidor que ten autoridade para responder sobre a mesma.

A resposta a este tipo de consultas pode ser de tres tipos:

  • Un erro NXDOMAIN, que significa que o dominio ou o equipo non existen.
  • Un erro temporal, que non permite acceder ó servidor DNS por problemas de conectividade.
  • A resposta á petición co enderezo do rexistro A acompañada do rexistro CNAME de existir.

Como dicíamos, na resposta sempre se indica se é autoritaria (dada por él mesmo) ou non (dada por servidor exterior).

As consultas iterativas solicítaselle o servidor que conteste:

  • co resultado se o coñece
  • cun erro no caso deque o recurso solicitado non exista nas zonas que xestiona dndoirectamente
  • cun referral, lanzando unha consulta a un nivel superior ata obter unha resposta

A resposta a este tipo de consultas pode ser de tamén de catro tipos:

  • Un erro NXDOMAIN, que significa que o dominio ou o equipo non existen.
  • Un erro temporal, que non permite acceder ó servidor DNS por problemas de conectividade.
  • A resposta á petición co enderezo do rexistro A acompañada do rexistro CNAME de existir.
  • Unha lista de servidores para preguntar pola petición do PC ou dispositivo para que se poida avanzar na busca da IP solicitada. Esta resposta é habitual nos servidores raíz ou TLD (Top Level Domain), o tipo de servidores que só soporta consultas iterativas.

Tipos de servidores

Un servidor DNS pode estar inoperativo durante un período de tempo. Por iso e convinte que exista máis dun servidor DNS que conteña unha réplica da información das zonas ofrecendo deste xeito:

  • tolerancia ante posibles caídas
  • balanceo de carga en condicións de funcioamento normal

Existen distintos roles destes servidores:

  • Servidor primario ou maestro. Os rexistros contidos na zona que manexa xestiónanse directamente en él
  • Servidor secundario ou escravo. Os rexistros contidos na zona que manexa obteñense a través dunha sincronización co servidor primario
  • Servidor caché. A información que coñece é por ter preguntado a outro servidor para resolver unha consulta que descoñecía e que almacenou na súa caché por un tempo determinado.
Todo servidor DNS ten a súa propia configuración DNS e o seu propio resolver para que as aplicacións que sobre el se executan en modo cliente poidan coñecer as traducións correspondentes; ben porque a configuración DNS o establece a el mesmo coma servidor principal (claro exemplo de controlador de dominio); ben por establecer a outro diferente.

Zonas primarias e secundarias

As zonas primarias son as que temos cando nos delegaron unha zona ou dominio, e son as únicas que se poden editar e modificar.

As zonas secundarias dependen dunha zona primaria e só son de lectura.

Transferencia de zonas

As transferencia de zonas:

  • é o proceso polo que servidores dunha zona sincronizan a información desta; faise dun servidor primario a outro non primario.
  • lévanse a cabo mediante o establecemento dunha conexión TCP desde o servidor secundario/escravo que actúa coma cliente e o servidor primario/maestro.
  • realizanse cando:
    • se inicia o servizo DNS no servidor DNS secundario.
    • caduca o tempo de actualización, coa periodicidade declarada no campo Intervalo de actuación do rexistro SOA
    • a configuración do servidor primario requira que se notifique cada cambio producido na zona facendo uso de mensaxes notify.
  • poden ser:
    • completas (consultas AXFR)
    • incrementáis (consultas IXFR), sendo estas máis seguras e lixeiras por transferirse únicamente os cambios producidos desde a última versión da zona cargada.

Zonas de resolución directa e inversa

Delegacións, reenvíos e suxerencias de raíz DNS

Tipos de rexistros

Nas bases de datos de nomes de dominio distribuidas o máis importante son os registros que son quenes conteñen a configuración para traducir tanto os nomes de dominio a enderezos IP, coma os pseudónimos, direccionamientos inversos, servicios distintos nun mesmo servidor, etc.

A continuación explícanse os máis importantes,podéndose consultar máis información do resto no enlace.

Na táboa poderas ver un rápido resumo dos rexistros de coñecemento imprescindible:

+ Rexistros DNS
Tipo de rexistro Descripción Sintaxe
A (Address). Traduce nomes de dominio en enderezos IP. new.com A xxx.xxx.xxx.xxx
PTR (Pointer). Traduce enderezos IP en nomes de dominio. 13.0.0.20.in-addr.arpa PTR host.new.om
MX (Mail Exchanger). Asocia un nome de dominio a un servidor de correo. O número 20 indica preferencia; a menor número, maior preferencia. new.com MX 20 correo.new.com
CNAME (Canonical name). É un alias que se lle asigna a un host que ten un enderezo IP. Alias.new.com CNAME nombre.new.com
NS (Name Server). Define os servidores principais dun dominio; debe haber cando menos un. new.com IN NS servidor1.new.com
SOA (Start of Authority). É o primeiro rexistro da zona; só pode haber un configurado. Especifica o servidor DNS primario do dominio. Peza principal do archivo de zona. É un tipo de rexistro que especifica información do DNS. Os campos definense máis adiante.
TXT (TXT record). Ofrece información adicional a un dominio. Úsase tamén coma almacenamento en chaves de cifrado. new.com TXT “Informacion adicional”
SPF (Sender Policy Framework). É un rexistro de tipo texto que se crea na zona directa do DNS. Úsase principalmente para evitar a suplantación de identidade. new.com IN SPF “v=spf1 a:exchange.new.com –all”

A (enderezo)

Úsase para traducir nomes de dominio a enderezos IPv4.

EXEMPLO
google.es   A   216.239.39.104

AAAA (enderezo IPv6)

Permite redireccionar un dominio a un enderezo IPv6. Funciona igual que o rexistro A pero en lugar de redireccionar a un enderezo IPv4 faino a un IPv6.

Tamén funcionou como A6, pero xa é histórico.

CNAME (nome canónico)

Úsase para crear nombres de hosts adicionales, alias.

Non é aconsellable utilizar CNAME cando un mesmo servidor o é de distintos protocolos coa mesma IP Sí cando temos que poñer un alias a un servidor externo. Por exemplo, non o usaremos para crear www.udc.es nin ftp.udc.es, pero si cando queramos redirixir o noso servidor de correo smtp.udc.es a smtp1.google.com, para usar os nosos correos udc.es con Gmail.

NS (servidor de nomes)

Define a asociación que existe entre un nome de dominio e os servidores de nomes que almacenan a información do devandito dominio.

EXEMPLO
@   IN   NS   google.es

MX (rexistro de intercambio de correo)

Asocia un nome de dominio a un servidor de intercambio de correo (SMTP, SSMTP, etc.).

PTR (puntero ou rexistro inverso)

Traduce direcciones IP a nombres de dominio.

SOA (autoridade da zona)

Proporciona información sobre la zona.

SRV (servizos)

Permite indicar os servizos que ofrece o dominio (FTP, HTTP, etc.)

EXEMPLO
http.tcp.www.google.es.   SRV   0   1   80   ns1.google.es

SPF (política de envío)

Para combatir o spam especifícase qué host está autorizado para enviar correo desde o dominio dado.

Outros

Existen máis tipos de rexistros: HINFO, TXT, LOC, etc., que son meramente informativos; e moitos outros que se poden extender conforme a norma RFC 3597.

Para usar os servicios necesitamos coñecer os seus portos. Consulta os 65.536 portos no RFC 1700.

Actualizacións dinámicas (DDNS)

Ata o momento presumimos que cada servicio alóxase sobre un equipo que ten unha ip fixa que non cambia co tempo e que está vinculada cun nome de dominio.

Esta é a norma xeral pero existen situacións nas que os servidores poden ter enderezos dinámicos ou nos que é desexable manter actualizada a correspondencia entre un nome de dominio e unha ip.

DDNS permite actualizar automáticamente a información relativa a un nome de dominio en un DNS de xeito que sempre será posible obter o enderezo IP asociado a ese nome aínda que este enderezo cambie.

Un escenario é o de un servidor en entorno doméstico para ofrecer servicio a internet. Os servidores atoparanse tras un router que terá un enderezo ip público dinámico (salvo que se contrate co ISP unha ip pública fixa). Isto dificulta o acceso que deberá realizarse a través de esa ip cambiante ou a través dun nome que deberá estar actualizado en todo momento. Ahí é onde a configuración DDNS do router cun proveedor entraría en xogo.

Outro escenario é o de un dominio no que os clientes, que teñen un nome de dominio, obteñen os seus enderezos IP desde un servidor DHCP da organización. A actualización da información no DNS poderá realizarse:

  • de xeito manual desde cada cliente (co comando ipconfig /registerdns en Windows e nsupdate en linux)
  • de xeito automático desde o propio servidor DNS
O protocolo de actualización de DNS desde o servidor DHCP recóllese no RFC 2136.

DNS Seguro

Tres son as posibilidades principais, das que podes atopar unha comparativa máis detalladaa aquí.

DNSSEC

O servizo DNSSEC engade unha capa extra de seguridade os servidores DNS dun dominio coa finalidade de evitar que un atacante poida falsificar datos DNS mediante DNS poisoning (envenenamento de caché DNS).

Os datos que obterá un cliente mediante este servizo serán auténticos e íntegros porque utiliza un mecanismo de cifrado asimétrico de chave pública.

Require que os servidores DNS autoritativos teñan versión firmada do dominio; e non todos os servidores DNS soportan DNSSEC.

DNS over HTTPS (DoH)

No lado do cliente, Mozilla e Google implementaron este protocolo definido na IETF RFC 8484. Con DoH as solicitudes e respostas envíanse a través dunha conexión HTTPS cifrada a nivel de aplicación, e non de sistema operativo utilizando UDP como na versión tradional de DNS.

Así o navegar usando Firefox estaranse usando os de Mozilla e Google redundando nunha diminución do tempo empregado no proceso de consulta, e en seguridade e integridade ó non poder ser interceptado o tráfico (utiliza o porto 443 coma as conexións HTTPS polo que é complicado distinguir o tráfico de ámbos).

Os inconvintes poden recaer en que a privacidade dependerá deses terceiros, xa que nin o ISP coñece as solicitudes realizadas a través do navegador.

DNS over TLS (DoT)

Existe outra versión definida no IETF RFC 7858. O DoT realiza directamente o cifrado sobre TLS conectando contra o porto 853. Aínda que engade menos sobrecarga as comunicacións, os principales proveedores de navegadores elixen implementar DoH.

Resumo

  • Existen varios mecanismos que permiten levar a cabo a traducción de nomes a enderezos IP e viceversa.
    • hai sistemas baseados en nomes planos coma NetBios e Wins
    • hai sistemas baseados en nomes xerárquicos coma DNS
    • ambos poden intergrarse
  • DNS organízase
    • conforme a un sistema xerárquico en forma de árbol invertido, no que o elemento raíz da árbore correpóndese co dominio raíz.
    • o dominio raíz é xestionaoo polo ICANN e está disponible en trece servidores xestionados por doce organizacións con centenares de réplicas por todo o mundo
    • o seguinte nivel está formado por dominios TLD
  • As consultas DNS poden ser recursivas ou iterativas e todos os servidores deben atender como mínimo as iterativas
  • Para que un servidor resolva consultas
    • de nome a enderezo IP, creamos unha zona de resolución directa
    • de enderezos IP a nomes, creamos unha zona de resolución inversa
  • Un servidor DNS pode traballar como servidor
    • maestro: a información a manexa de primeira man
    • esclavo: a información a obten desde un maestro mediante unha transferencia de zona.
    • caché: a información a obtén de preguntarlle a outros servidores
    • combinación dos anteriores
  • Cando a información non se atopa na zona que un servidor xestiona:
    • Reenvía a consulta a outro servidor se é sobre recursos que están noutra zona allea. Se este proceso falla faise consulta a un servidor raíz
    • Delega a consulta noutro servidor se é sobre recursosque están nunha subzona
  • Existen diferentes tipos de rexistro para identificar cada tipo de información. Os máis importantes son:
    • A
    • AAAA
    • MX
    • PTR
    • SOA
    • SRV
  • Os servidores DNS poden admitir actualizacións dinámicas por parte de clientes ou servidores DHCP
  • O resolver é o compoñente cliente encargado de consultar o DNS para conseguir o enderezo IP
  • Existen varios tipos de ferramentas que permiten interrogar a servidores DNS
    • nslookup
    • dig
    • host

Referencias