TELEMATICA 3 - CAPA DE APLICACION Y SERVICIOS DE RED - DNS.pdf
Document Details
Uploaded by TalentedHaiku
Full Transcript
UNIDAD 1. CAPA DE APLICACIÓN - DNS Dr(c). Richard Eliseo Mendoza Gáfaro Docente INTRODUCCIÓN AL DNS El Sistema de Nombres de Dominio (DNS, por sus siglas en inglés) es un componente fundamental en la infraestructura de internet, que permite la traducción de nombres de d...
UNIDAD 1. CAPA DE APLICACIÓN - DNS Dr(c). Richard Eliseo Mendoza Gáfaro Docente INTRODUCCIÓN AL DNS El Sistema de Nombres de Dominio (DNS, por sus siglas en inglés) es un componente fundamental en la infraestructura de internet, que permite la traducción de nombres de dominio legibles por humanos, como "www.unipamplona.edu.co", en direcciones IP numéricas que los dispositivos utilizan para localizar y comunicarse con servidores en la red. Este proceso de resolución de nombres es esencial para el funcionamiento eficiente de internet, ya que permite a los usuarios acceder a sitios web sin necesidad de recordar complejas secuencias numéricas. Los servidores DNS actúan como intermediarios en esta conversión, consultando bases de datos distribuidas globalmente para responder a las solicitudes de los usuarios, lo que agiliza la navegación y asegura que los recursos en línea sean accesibles de manera rápida y confiable. PARA QUE SIRVE EL DNS Los servidores DNS (Sistema de Nombres de Dominio) son componentes esenciales de la infraestructura de Internet. Estos servidores actúan como traductores, convirtiendo los nombres de dominio legibles por humanos, como "www.unipamplona.edu/telecomunicaciones", en direcciones IP numéricas que pueden ser utilizadas por los dispositivos para comunicarse entre sí. Cuando un usuario ingresa un nombre de dominio en su navegador, su dispositivo consulta a un servidor DNS para obtener la dirección IP correspondiente, permitiendo así el acceso al sitio web deseado. Los servidores DNS se organizan en una jerarquía distribuida, con servidores raíz, servidores de nivel superior y servidores de nivel inferior, que trabajan en conjunto para resolver eficientemente las consultas de nombres de dominio. (Tanenbaum & Wetherall, 2011). FUNCION DEL SERVIDOR DNS El Sistema de Nombres de Dominio (DNS) desempeña una función crítica en la arquitectura de internet al actuar como un sistema de resolución de nombres que traduce nombres de dominio legibles por humanos en direcciones IP numéricas, que son necesarias para la localización y comunicación entre dispositivos en la red. Esta conversión es fundamental para el funcionamiento de internet, ya que permite a los usuarios acceder a sitios web y otros recursos en línea sin tener que memorizar complejos números de IP. Además, el DNS optimiza la eficiencia de la red mediante el uso de un sistema de caché distribuido que almacena temporalmente las respuestas a las solicitudes de resolución de nombres, lo que reduce el tiempo de acceso y la carga en los servidores. El DNS también incorpora mecanismos de redundancia y distribución geográfica que aseguran una alta disponibilidad y resiliencia del servicio, lo que es crucial para mantener la estabilidad y seguridad de las comunicaciones en la red global (Mockapetris, 1987). TIPOS DE SERVIDORES DNS Servidores raíz: Estos servidores se encuentran en la cima de la jerarquía del DNS y contienen información sobre los servidores de nivel superior. Cuando un dispositivo realiza una consulta DNS, se remite inicialmente a uno de los servidores raíz para obtener información sobre dónde buscar el nombre de dominio solicitado. Servidores de nivel superior: También conocidos como servidores de dominios de nivel superior (TLD), estos servidores contienen información sobre los servidores de nivel inferior que son responsables de dominios específicos, como ".com", ".org" o ".edu". Servidores de nivel inferior: Estos servidores son responsables de dominios específicos y contienen información sobre los hosts y servicios dentro de esos dominios. Cuando un dispositivo realiza una consulta, los servidores de nivel inferior proporcionan la dirección IP correspondiente al nombre de dominio solicitado. Servidores de recursión: Estos servidores actúan como intermediarios entre los dispositivos de los usuarios y los demás tipos de servidores DNS. Cuando un dispositivo realiza una consulta, el servidor de recursión se encarga de recorrer la jerarquía del DNS para obtener la dirección IP solicitada y devolverla al dispositivo (Stallings, 2014). CONFIGURACIÓN DNS EN UBUNTU Instalar y configurar un servidor DNS en Ubuntu es un proceso que puede ser bastante sencillo si sigues los pasos adecuados. El servidor DNS más comúnmente utilizado en sistemas Linux es BIND (Berkeley Internet Name Domain). A continuación, te guiaré a través del proceso de instalación y configuración básica de BIND en Ubuntu. 1. Instalación de BIND Paso 1: Actualiza el sistema Primero, asegúrate de que tu sistema esté actualizado: sudo apt update sudo apt upgrade Paso 2: Instala BIND Instala el paquete BIND utilizando `apt`: sudo apt install bind9 bind9utils bind9-doc 2. Configuración Básica de BIND BIND tiene varios archivos de configuración importantes. Vamos a configurar un servidor DNS simple que actúe como servidor **autoritario** para un dominio específico. Paso 1: Configurar la zona DNS 1. Editar el archivo de configuración principal de BIND: El archivo de configuración principal de BIND es `/etc/bind/named.conf.local`. Aquí es donde defines las zonas para las que tu servidor DNS será autoritativo. Abre el archivo para editarlo: sudo nano /etc/bind/named.conf.local CONFIGURACIÓN DNS EN UBUNTU 2. Agregar la configuración de la zona: Supongamos que queremos configurar una zona para el dominio `example.com`. Añade lo siguiente al archivo `named.conf.local`: zone "example.com" { type master; file "/etc/bind/zones/db.example.com"; }; zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/zones/db.192.168.1"; }; - La primera zona es para las búsquedas directas (resolución de nombres a IP). - La segunda zona es para las búsquedas inversas (resolución de IP a nombres). Paso 2: Crear los archivos de zona 1. Crear el directorio para los archivos de zona (si no existe): sudo mkdir /etc/bind/zones 2. Crear el archivo de zona directa: Crea el archivo `/etc/bind/zones/db.example.com` para la zona `example.com`: sudo nano /etc/bind/zones/db.example.com CONFIGURACIÓN DNS EN UBUNTU 3. Agregar el contenido del archivo de zona: A continuación, añade este contenido al archivo: $TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 2024091101 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; Servidores de nombres @ IN NS ns1.example.com. ; Registros A (Direccionamiento IP) ns1 IN A 192.168.1.10 www IN A 192.168.1.20 - El **SOA** (Start Of Authority) proporciona información básica sobre la zona. - Los registros **NS** definen los servidores de nombres para la zona. - Los registros **A** asocian nombres de host con direcciones IP. 4. Crear el archivo de zona inversa: Crea el archivo `/etc/bind/zones/db.192.168.1` para la zona inversa: sudo nano /etc/bind/zones/db.192.168.1 CONFIGURACIÓN DNS EN UBUNTU 5. Agregar el contenido del archivo de zona inversa: Añade este contenido al archivo: $TTL 604800 @ IN SOA ns1.example.com. admin.example.com. ( 2024091101 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; Servidores de nombres @ IN NS ns1.example.com. ; Registros PTR (Resolución inversa) 10 IN PTR ns1.example.com. 20 IN PTR www.example.com. - Los registros **PTR** se utilizan para la resolución inversa, es decir, para asociar direcciones IP con nombres de host. Paso 3: Verificar la configuración Antes de reiniciar BIND, es una buena práctica verificar que no haya TABLA REGISTROS DNS Tipo de Registro Nombre Descripción A Address Record Asocia un nombre de dominio a una dirección IPv4. AAAA IPv6 Address Record Asocia un nombre de dominio a una dirección IPv6. CNAME Canonical Name Record Alias de un nombre de dominio a otro nombre de dominio (nunca a una dirección IP). MX Mail Exchange Record Especifica los servidores de correo electrónico para un dominio. Almacena texto arbitrario; comúnmente usado para verificación de dominios y TXT Text Record configuraciones como SPF, DKIM o verificación de propiedad en servicios de terceros. NS Name Server Record Especifica los servidores de nombres autorizados para un dominio. Proporciona información sobre el dominio, como el servidor DNS principal, el correo SOA Start of Authority electrónico del administrador, y otros parámetros de control. Utilizado en DNS inverso para asociar una dirección IP con un nombre de dominio (lo PTR Pointer Record opuesto a un registro A o AAAA). Define la ubicación (puerto y nombre de host) de servidores para servicios específicos, SRV Service Record como SIP o LDAP. Certification Authority Especifica qué autoridades de certificación (CAs) pueden emitir certificados SSL para un CAA Authorization dominio. Naming Authority Pointer Utilizado en servicios como VoIP, para convertir nombres de servicio en URIs o NAPTR Record direcciones más específicas. JERARQUIA DE DNS La resolución jerárquica del Sistema de Nombres de Dominio (DNS) es un proceso complejo y distribuido que opera de manera recursiva para traducir nombres de dominio en direcciones IP. Este mecanismo se inicia cuando un cliente realiza una consulta DNS, activando una secuencia de pasos que involucra múltiples servidores en diferentes niveles de la jerarquía DNS. El proceso comienza con los servidores raíz, que dirigen la consulta a los servidores de dominio de nivel superior (TLD). Estos, a su vez, redirigen a los servidores autoritativos del dominio específico. En cada etapa, los servidores consultan sus bases de datos locales o delegan la consulta al siguiente nivel jerárquico, hasta que se obtiene la información solicitada o se determina que el dominio no existe. Este enfoque jerárquico no solo distribuye la carga de las consultas entre múltiples servidores globalmente, sino que también permite una gestión descentralizada y eficiente de la vasta base de datos de nombres de dominio, facilitando la escalabilidad y resilencia del sistema DNS en su conjunto (Mockapetris, 1987). SEGURIDAD DE DNS La seguridad en el Sistema de Nombres de Dominio (DNS) es crucial para mantener la integridad y confiabilidad de Internet. Las amenazas al DNS incluyen envenenamiento de caché, ataques de denegación de servicio (DoS), y secuestro de dominios. Para mitigar estos riesgos, se han desarrollado extensiones de seguridad como DNSSEC (DNS Security Extensions), que proporciona autenticación e integridad de datos mediante firmas criptográficas. Además, prácticas como el uso de registros CAA (Certification Authority Authorization) y DANE (DNS-based Authentication of Named Entities) mejoran la seguridad de los certificados SSL/TLS. La implementación de filtros de consulta, la segregación de servidores DNS recursivos y autoritativos, y el monitoreo constante de tráfico anómalo son estrategias adicionales para fortalecer la infraestructura DNS. A pesar de estos avances, la naturaleza distribuida del DNS presenta desafíos continuos, requiriendo una vigilancia constante y la adopción de nuevas tecnologías de seguridad para contrarrestar amenazas emergentes (Arends et al., 2005). BIBLIOGRAFIA Forouzan, B. A. (2013). Data communications and networking (5th ed.). McGraw-Hill Education. Kurose, J. F., & Ross, K. W. (2021). Computer networking: A top-down approach (8th ed.). Pearson. Stallings, W. (2016). Foundations of modern networking: SDN, NFV, QoE, IoT, and Cloud. Addison-Wesley Professional. Tanenbaum, A. S., & Wetherall, D. J. (2011). Computer networks (5th ed.). Prentice Hall. Carli, L. (2003). Security issues with DHCP. SANS Institute Information Security Reading Room. Droms, R. (1997). Dynamic Host Configuration Protocol (RFC 2131). Internet Engineering Task Force. Droms, R., & Lemon, T. (2003). The DHCP handbook (2nd ed.). Sams Publishing. Lemon, T., & Sommerfeld, B. (2005). Dynamic Host Configuration Protocol for IPv6 (DHCPv6) (RFC 3315). Internet Engineering Task Force.