240 likes | 378 Views
Introducción a los servicios de nombres de dominio. Sergio Lucas Madrid. Introducción a los servicios de nombres de dominio.
E N D
Introducción a los servicios de nombres de dominio Sergio Lucas Madrid
Introducción a los servicios de nombres de dominio DomainNameSystem o DNS (en español: sistema de nombres de dominio) es un sistema de nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado a Internet o a una red privada. Este sistema asocia información variada con nombres de dominios asignado a cada uno de los participantes. Su función más importante, es traducir (resolver) nombres inteligibles para las personas en identificadores binarios asociados con los equipos conectados a la red, esto con el propósito de poder localizar y direccionar estos equipos mundialmente.
Introducción a los servicios de nombres de dominio El servidor DNS mira en sus tablas de asignación, y si no lo encuentra entre los datos que Guarda con las ultimas peticiones que ha servido, manda una petición a uno de los "servidores raíz" de Internet el cual averiguará qué servidor de nombres resuelve el dominio "uned.es“. El servidor raíz responderá a servidor-uno (servidor DNS del ordenador local) con la dirección del servidor que resuelve direcciones "uned.es". En este caso 62.204.192.21.servidor-uno hará una petición a 62.204.192.21, preguntando qué dirección IP tiene "www.uned.es ".
Sistemas de nombres planos y jerárquicos El espacio de nombres de dominio tiene una estructura arborescente. Las hojas y los nodos del árbol se utilizan como etiquetas de los medios. Un nombre de dominio completo de un objeto consiste en la concatenación de todas las etiquetas de un camino. Las etiquetas son cadenas alfanuméricas (con '-' como único símbolo permitido), deben contar con al menos un carácter y un máximo de 63 caracteres de longitud, y deberá comenzar con una letra (y no con '-')
Historia del DNS El DNS nació en la década de los 80. Creado por Paúl Mockapetris en colaboración con Jon Postel de la Universidad del Sur de California y posteriormente, Paúl Vixie. Pero no fue hasta mediados de los 90 cuando empezó a tener mayor implantación . El DNS buscaba un objetivo muy simple, desempeñar una función técnica de traducción de nombres de equipos de cómputo a su dirección numérica correspondiente, que fuera conveniente, amigable y fácil de utilizar por los usuarios de Internet, es decir proveer un esquema de interpretación entre los usuarios y los equipos, sin que los primeros tuvieran la necesidad de recordar las direcciones numéricas de cada uno de los equipos a los que intentaban comunicarse.
Historia del DNS Originalmente, el uso del DNS involucró solamente instituciones académicas, de investigación y el ejercito de los EEUU. Eran los tiempos en que las universidades empezaban a realizar su conexión a las múltiples redes, entre ellas BitNet. DNS empezaba a trascender y era importante establecer un orden en cuanto a los equipos que ingresaban a la red. Se crearon entonces los nombres de dominio genéricos de primer nivel (gTLD=generic Top-level Domain), .com, .net y .org, es decir, se habían creado estas tres clasificaciones con el fin de ubicar el tipo de entidades que buscaban tener presencia en Internet. Además de estos gTLD se empezó por delegar los sufijos nacionales (nTLD=national Top-levelDomain) a los países que se fueran conectando a la red. De esta forma, a México se le asigno el .mx a finales de 1988 cuando el ITESM, Campus Monterrey se conecta de manera dedicada al Internet, este nTLDempiezaa operar desde Febrero de 1989. Así cada país obtuvo su propio nTLD, incluso EEUU, el cual tiene el .us.
Historia del DNS Para mediados de 1996, Jon Postel, el director del Internet AssignetNumbersAuthority(IANA), y organismo administrador de las direcciones de IP y nombres de dominio, realizó una propuesta en la que contemplaba la creación de 150 nuevos nombres de dominios genéricos, gTLD, así como el .com, .net y .org. Esta propuesta pronto tuvo efectos importantes y finalizó en la formación de un grupo que se encargaría de discutir el re-diseño de los gTLD. De esta forma, en Noviembre de 1996 nació el Internet-International Ad Hoc Committee(IAHC) impulsado por la Internet Society (ISOC), a los tres meses de haberse creado se generó el reporte final, en donde se planteaban las recomendaciones y requerimientos para un nuevo esquema de gTLD, este documento recibiría el nombre de Memorando de Entendimiento para los Nombres de Dominio genéricos de Nivel Superior. El IAHC se disolvió en Mayo del 97 para dar paso al generic Top levelDomainMemorandumof Understanding(gTLD-MoU), documento respaldado por organizaciones de todo el mundo, entre ellas la Organización Mundial de la Propiedad Industrial (WIPO), Union Internacional de Telecomunicaciones (ITU), Internet Society , MCI y por Latino América sólo NIC-México.
Componentes de DNS DNS utiliza tres componentes: Los clientes DNS: Genera peticiones de resolucion de nombres a un servidor DNS. Los Servidores DNS: Que contestan las peticiones de los clientes. Y las Zonas de autoridad, porciones del espacio de nombres de dominio que almacenan los datos.
Espacio de nombres de dominio En programación, un espacio de nombres, es un conjunto de nombres en el cual todos los nombres son únicos. La estructura del sistema DNS se basa en una estructura de arbórea en donde se definen los dominios de nivel superior (llamados TLD, Dominios de Nivel Superior); esta estructura está conectada a un nodo raíz representado por un punto. Cada nodo del árbol se llama nombre de dominio y tiene una etiqueta con una longitud máxima de 63 caracteres y no se distingue entre mayúsculas y minúsculas. Por lo tanto, todos los nombres de dominio conforman una estructura arbórea jerárquica en donde cada nodo está separado del siguiente nodo por un punto (".")
Bases de datos DNS (registro de recursos). Un DNS es una base de datos distribuida que contiene registros que se conocen como RR (Registros de Recursos), relacionados con nombres de dominio. Nombre de dominio: el nombre de dominio debe ser un nombre FQDN, es decir, debe terminar con un punto. Los registros para cada dominio tienen una duración de vida que se conoce como TTL. Tipo: un valor sobre 16 bits que define el tipo de recurso descrito por el registro. El tipo de recurso puede ser uno de los siguientes: A:este es un tipo de base que hace coincidir el nombre canónico con la dirección IP. CNAME (Nombre Canónico): Permite definir un alias para el nombre canónico. HINFO: éste es un campo solamente descriptivo que permite la descripción en particular del hardware del ordenador (CPU) y del sistema operativo (OS). MX (Mail eXchange): es el servidor de correo electrónico.
Bases de datos DNS (registro de recursos). NS: es el servidor de nombres de dominio con autoridad sobre el dominio. PTR: es un puntero hacia otra parte del espacio de nombres del dominios. SOA (Start Of Authority (Inicio de autoridad)): el campo SOA permite la descripción del servidor de nombre de dominio con autoridad en la zona, Clase: la clase puede ser IN (relacionada a protocolos de Internet, y por lo tanto, éste es el sistema que utilizaremos en nuestro caso), o CH (para el sistema caótico) RDATA: estos son los datos relacionados con el registro. Aquí se encuentra la información esperada según el tipo de registro:
Servidor de nombres (servidores DNS) Zona de Búsqueda Directa. Las resoluciones de esta zona devuelven la dirección IP correspondiente al recurso solicitado; este tipo de zona realiza las resoluciones que esperan como respuesta la dirección IP de un determinado recurso. Zona de Búsqueda Directa. Las resoluciones de esta zona devuelven la dirección IP correspondiente al recurso solicitado; este tipo de zona realiza las resoluciones que esperan como respuesta la dirección IP de un determinado recurso.
Servidor de nombres (servidores DNS) AutoridadLos registros de comienzo de autoridad SOA ("Start of Authority record"), marcan el comienzo de un dominio (una zona), suelen ser el primer registro de cada dominio en un Servidor de Nombres de Dominio y contienen una serie de datos sobre la zona que se muestran a continuación: •MNAME Nombre de dominio del servidor DNS constituido como servidor primario para la zona. •RNAME Nombre de dominio que indica la dirección de correo de la persona responsable de la zona. •SERIAL Número entero de 32 bits correspondiente a la copia original de la zona. Este valor se incrementa con cada actualización, se conserva en las transferencias de zona, y puede ser utilizado como verificación. •REFRESH Número de 32 bits epresentandoel intervalo de tiempo antes que la zona deba ser actualizada. •RETRY Número de 32 bits representando el intervalo de tiempo que debe consentirse antes de establecer que una petición de actualización ha fallado. •EXPIRE Número de 32 bits que especifica el límite máximo de tiempo que puede transcurrir antes que la zona deje de ser "autoridad". •MINIMUM Número entero de 32 bits señalando el valor mínimo delparámetroTTL que debe ser utilizado para cualquier exploración de la zona.
Clientes DNS Resolvers La resolución de nombres de DNS se produce cuando un resolver, en un host, envía a un servidor de DNS un mensaje de solicitud con un nombre de dominio. El mensaje de solicitud indica al DNS que busque el nombre y devuelva ciertos RR. El mensaje de solicitud contiene el nombre de dominio a buscar y un código que indica los registros que se deben devolver. Resolución de alias: Si el resolutor intenta realizar resolución de nombres de un nombre que indique el usuario, no sabe a priori si el nombre se refiere a un RR (A) de host o a un CNAME. Para evitar tráfico extra de DNS, cuando un servidor de DNS devuelve un CNAME en respuesta a una búsqueda de registro de host, el servidor de DNS también devuelve el registro A relativo al CNAME
Uso de dominios. El DNS se utiliza para distintos propósitos. Los más comunes son: Resolución de nombres: Dado el nombre completo de un host (por ejemplo blog.smaldone.com.ar), obtener su dirección IP (en este caso, 208.97.175.41). Resolución inversa de direcciones: Es el mecanismo inverso al anterior. Consiste en, dada una dirección IP, obtener el nombre asociado a la misma. Resolución de servidores de correo: Dado un nombre de dominio (por ejemplo gmail.com) obtener el servidor a través del cual debe realizarse la entrega del correo electrónico (en este caso, gmail-smtp-in.l.google.com).
Administración de nombres de dominio en Internet La administración del espacio de nombres de dominio de internet se distribuye entre múltiples empresas y organizaciones, coordinadas por la ICANN. Delegación. Dominio raíz. ICANN: ICANN es una organización que opera a nivel internacional se dedica a preservar la estabilidad de Internet , es la responsable de asignar las direcciones del protocolo IP, mantener un registro de los dominios de nivel superior existentes y de la administración del sistema de servidores raíz.
Proceso de resolución de un nombre de dominio En las resoluciones recursivas, el servidor no tiene la información en sus cache , por lo que busca y se pone en contacto con un servidor DNS raíz, y en caso de ser necesario repite el mismo proceso básico (consultar a un servidor remoto y seguir a la siguiente referencia) hasta que obtiene la mejor respuesta a la pregunta. Cuando existe más de un servidor autoritario para una Zona, Bind utiliza el menor valor en la métrica RTT para seleccionar el servidor. El RTT es una medida para determinar cuánto tarda un servidor en responder una consulta. El proceso de resolución normal se da de la siguiente manera: El servidor A recibe una consulta recursiva desde el cliente DNS. El servidor A envía una consulta recursiva a B. El servidor B refiere a A otro servidor de nombres, incluyendo a C. El servidor A envía una consulta recursiva a C. El servidor C refiere a A otro servidor de nombres, incluyendo a D. El servidor A envía una consulta recursiva a D. El servidor D responde. El servidor A regresa la respuesta al resolver. El resolver entrega la resolución al programa que solicitó la información.
Resolución inversa En las zonas directas, los dominios de primer nivel se delegan o bien a sus respectivos países o bien a determinadas entidades en el caso de los dominios genéricos. Así bien en la zona inversa también hay un proceso de delegación, sólo que en este caso es distinto. La delegación de las distintas zonas que se van creando en iaddr.arpa se realiza a la entidad que tiene asignada ese conjunto de direcciones IP. Así, el rango de direcciones 195.57.0.0 a 195.57.255.255 pertenece a un ISP. Este ISP podrá, a su vez, dividir este dominio en diversas zonas de acuerda con su criterio.
Registros DNS A = Address – (Dirección) Este registro se usa para traducir nombres de servidores de alojamiento a direcciones IPv4. AAAA = Address – (Dirección) Este registro se usa en IPv6 para traducir nombres de hosts a direcciones IPv6. CNAME = Canonical Name – (Nombre Canónico) Se usa para crear nombres de servidores de alojamiento adicionales, o alias, para los servidores de alojamiento de un dominio. Es usado cuando se están corriendo múltiples servicios (como ftp y servidor web) en un servidor con una sola dirección ip. Cada servicio tiene su propia entrada de DNS (como ftp.ejemplo.com. y www.ejemplo.com.). esto también es usado cuando corres múltiples servidores http, con diferente nombres, sobre el mismo host. NS = Name Server – (Servidor de Nombres) Define la asociación que existe entre un nombre de dominio y los servidores de nombres que almacenan la información de dicho dominio. Cada dominio se puede asociar a una cantidad cualquiera de servidores de nombres. MX (registro) = Mail Exchange – (Registro de Intercambio de Correo) Asocia un nombre de dominio a una lista de servidores de intercambio de correo para ese dominio. Tiene un balanceo de carga y prioridad para el uso de uno o más servicios de correo. PTR = Pointer – (Indicador) También conocido como 'registro inverso', funciona a la inversa del registro A, traduciendo
Registros DNS IPs en nombres de dominio. Se usa en el archivo de configuración del Dnsreversiva. SOA = Start of authority – (Autoridad de la zona) Proporciona información sobre el servidor DNS primario de la zona. HINFO = Host INFOrmation – (Información del sistema informático) Descripción del host, permite que la gente conozca el tipo de máquina y sistema operativo al que corresponde un dominio. TXT = TeXT - ( Información textual) Permite a los dominios identificarse de modos arbitrarios. LOC = LOCalización - Permite indicar las coordenadas del dominio. WKS - Generalización del registro MX para indicar los servicios que ofrece el dominio. Obsoleto en favor de SRV. SRV = SeRVicios - Permite indicar los servicios que ofrece el dominio. RFC 2782. Excepto Mx y Ns. Hay que incorporar el nombre del servicio, protocolo, dominio completo, prioridad del servicio, peso, puerto y el equipo completo. Esta es la sintaxis correspondiente: Servicio.Protocolo.Dominio-completo IN SRV Prioridad.Peso.Puerto.Equipo-Completo SPF = SenderPolicy Framework - Ayuda a combatir el Spam. En este registro se especificacual o cuales hosts están autorizados a enviar correo desde el dominio dado. El servidor que recibe, consulta el SPF para comparar la IP desde la cual le llega con los datos de este registro. ANY = Toda la información de todos los tipos que exista.
Transferencia de zona. Se denomina transferencia de zona cuando un servidor DNS que declara zonas esclavas obtiene los archivos de zona de otros servidores DNS autorizados para esas zonas. Existen dos tipos de transferencia de zona: Transferencia de zonas completas. (AXFR) Transferencia de zonas incrementales.(IXFR) Transferencia de zona completa. (AXFR) El servidor maestro envía al servidor esclavo todos los datos de la zona. Envía muchos registros de recursos que consumen ancho de banda y pueden llegar a tardar mucho tiempo. Transferencia de zona incremental. (IXFR) Se utiliza para evitar los inconvenientes de la transferencia completa. El servidor maestro le envía al servidor esclavo solo los datos que han cambiado desde la ultima transferencia de zona.
DNS Dinámico Dynamic DNS es un método de actualización, en tiempo real, un sistema de nombres de dominio (DNS) para apuntar a un cambio de dirección IP en la Internet . Esto se utiliza para proporcionar un nombre de dominio persistente para un recurso que puede cambiar la ubicación en la red. Hay dos mecanismos muy diferentes se utiliza el término para describir. En los niveles de la administración de la Internet ", la actualización de DNS dinámico" se refiere a los sistemas que se utilizan para actualizar los registros DNS tradicionales sin necesidad de edición manual. Estos mecanismos se explican en el documento RFC 2136 y utilizar el TSIG mecanismo para proporcionar seguridad. El segundo tipo de DDNS es un tipo particular de servidor DNS que permite actualizaciones ligeros e inmediato a su base de datos local, a menudo mediante un formulario web. Estos son utilizados por individuos y pequeños sistemas.
Protocolo DNS El DNS ( DomainNameSystem ) o Sistema de Nombres de Dominio es una base de datos jerárquica y distribuida que almacena información sobre los nombres de dominio de redes cómo Internet. Este protocolo se utiliza para poder recordar de manera sencilla las direcciones IP. Gracias a los nombre de dominio podemos asignar a una dirección IP un nombre, además de que es más fiable porque la dirección IP de un servidor puede cambiar pero el nombre no lo hace. Es un sistema jerárquico y distribuido que permite traducir nombres de dominio en direcciones IP y viceversa.
Seguridad DNS Puesto que DNS se ha diseñado como un protocolo abierto, la seguridad de los datos DNS es vulnerable a los ataques. La seguridad de una infraestructura DNS es vulnerable a los siguientes tipos de amenazas: Ataques de denegación de servicio (DoS). Envenenamiento de cache. (Enviando registros falsos) Suplantación del servidor maestro. Suplantación de la fuente externa que envía actualizaciones al servidor. Ataques mas comunes: Ataque de negación del servicio (DOS): Footprinting: capturan el tráfico de DNS para aprender acerca de el sistema de nombres del dominio. IPSoopfing: Suplantación de identidad. Redireccionamiento: hace que el servidor DNS envie las consulta de nombres a un servidor incorrecto.