Qué es y para qué sirve DNSSEC

Vaya por delante que mi relación con las DNS es digamos que distante, así que al añadirle apellidos la cosa se me complica.

Para qué vale DNSSEC

Quizá lo más interesante de DNSSEC es saber para qué te puede valer. En este vídeo ochentero (es de 2013, pero parece más antiguo, ¿verdad? lo explican de forma sencilla:

About DNSSEC (Animated Introduction – With Text Narration)

DNSSEC sirve para impedir que alguien suplante a nuestros servidores DNS y nos proporcione información falsa, evitando la suplantación de servicios de terceros.

Aunque DNSSEC está bastante extendido, no todos los registradores ni todos los registros lo permiten.

¿Cómo funciona DNSSEC?

Autenticando la información mediante un cifrado asimétrico. Aquí empieza la parte más complicada ya que todo el contenido debe ir firmado para asegurar su autenticidad y todos los miembros de la cadena deben ser capaces de validar esa firma, hasta llegar a los servidores DNS raíz. Toda la cadena debe estar configurada para permitir DNSSEC.

De forma resumida, para un dominio:

  • Los servidores DNS deben estar configurados para permitir DNSSEC
  • Se firma la zona del dominio usando 2 pares de claves de seguridad: Zone Signing Key (ZSK) y Key Signing Key (KSK)
    • ZSK se utiliza para firmar la zona del dominio; es quien dice «Estos son mis registros DNS, provienen de mi servidor y deben ser así». Para ello utiliza registros DNS de tipo RRSIG para cada uno de los record sets (conjunto de registros del mismo tipo y nombre)
    • KSK se utiliza para firmar los registros DNSKEY que contendrán las claves públicas de las firmas, tanto ZSK como KSK, y que también tendrán su correspondiente RRSIG asociado.
Diagrama de claves de firma de claves
Diagrama de claves de firma de clave (imagen de CloudFlare)
  • Para transmitir esta información, hay que trasladar la clave pública de KSK a la zona padre. Esto se hace con el registro Delegation Signer (DS), que contiene la clave pública hasheada.
    Cada vez que un resolver se dirige a una zona secundaria, la zona principal también proporciona un registro DS. Este registro DS es la forma en que los resolvers saben que la zona secundaria está habilitada para DNSSEC. Como el DS es un registro «normal», también irá firmado y se irá subiendo en la cadena de confianza hasta la zona DNS raíz. Como curiosidad, como no hay nadie que valide este último registro, se realiza una Ceremonia pública en la que una serie de autoridades realizan la firma de las claves de la zona raíz.
Validación de la cadena de confianza para www.eurid.eu

A todo esto hay que añadir que conviene cambiar las claves ZSK y KSK cada cierto tiempo… con lo que ellos supone de transmisión hacia arriba de los cambios.

Como las KSK se usan para firmar las claves, suelen ser más robustas y hay que modificarlas menos a menudo. Para las ZSK se usan claves más débiles y estas sí se suelen rotar por ejemplo cada 2-3 meses.

Los registros DNS implicados

Ya hemos visto que se están creando bastantes registros nuevos para poder firmar y autenticar estas firmas:

  • RRSIG. Contiene la firma digital de cada resource record set. Esta firma se verifica con la clave pública almacenada en los registros DNSSKEY.
  • DNSKEY. Contiene la clave pública necesaria para validar las firmas de los registros RRSIG.
  • DS (Delegation Signer). Identifica una zona delegada. Hace referencia a un registro DNSKEY en la zona subdelegada. El registro DS se coloca en la zona padre junto con los registros NS delegados.

Adicionalmente aparecerán registros NSEC o NSEC3 (para denegar de forma explícita la existencia de un registro DNS) y también pueden aparecer registros CDNSKEY y CDS para zonas secundarias que soliciten actualizaciones de registros DS en la zona principal.

Referencias

  • Echad un ojo a la explicación de CloudFlare sobre cómo funciona DNSSEC (How DNSSEC works). De lo que he visto es la que mejor aclara qué es y cómo funciona DNSSEC.
  • Si queréis ver cómo es la Root Signing Ceremony, ICANN publica los vídeos en YouTube ;) No esperéis un fiestón con alcohol y stripers.
    Ólafur Guðmundsson (CloudFlare) estuvo invitado y explica el proceso en el artículo The DNSSEC Root Signing Ceremony.
  • No viene mal recordar el cifrado asimétrico, que es lo que nos permite autenticar a las partes en todo este jaleo:
  • Y puedes analizar el estado DNSSEC con el DNSSEC Debugger de Verisign Labs:

Los nombres de dominio más caros

El dominio shoes.com se ha vendido por tercera vez en 6 años, ¿merece la pena pagar por esos dominios premium? Algunos no solo dirán que sí, si no que basan su exitoso modelo de negocio en ellos, desde SEDO a Dan o los propios registries que tienen sus propios nombres de dominio premium, además de aquellos dominios de 1 o 2 caracteres. Y les va bien, SEDO lleva funcionando desde 2001.

Existe un amplio mercado para estos dominios golosos, que van desde cientos a millones de euros. ¿Valen ese dinero? ¿Para qué querríamos gastarnos miles de euros en un dominio? Vamos a ver algunos de los dominios más caros (la lista varía, pero nos vale para hacernos una idea):

DominioPrecio de venta (mill. de USD)Año de venta
CarInsurance.com49,72010
Insurance.com35,62010
VacationRentals.com35,02007
PrivateJet.com30,12012
Voice.com30,02019
Internet.com18,02009
360.com17,02015
Insure.com16,02009
Sex.com14,0
13,0
2005
2010
Hotels.com11,02001
El mundo está loco, loco, loco…

¡Guau! Sin duda 2010 fue un gran año para algunos.

Como vemos, la mayoría son nombres genéricos, susceptibles de convertirse en buscadores y muchos ya tienen un contenido detrás, es decir no compras solo el nombre, sino el negocio que ya hay o que puede haber (la historia que hay sobre alguna de estas compras).

Si eres una empresa, puedes permitirte el lujo de pagar por ciertos dominios (¿millones?) para posicionar tu marca, abrir un nuevo negocio o lo que sea, sobre todo si compras algo más que el nombre, si compras visitas, ingresos, etc. Puede que tenga cierta lógica.

Si eres un particular y esperas forrarte con un dominio, diría que tu tiempo ha pasado (creo) y ándate con ojo no salgas esquilmado.

Encontrar el nombre del dominio adecuado, el nombre para una marca, no es sencillo, pero piensa que algunas de las empresas actuales más importantes tienen unos nombres bastante mejorables, y ahí andan (¡Hola Microsoft, Apple…!)

Como evitar que usen tu dominio para hacer phishing

Quizá tengas un dominio que no estés utilizando, que lo tengas en parking, redirigido o simplemente a la espera. En ese caso, puede ser una buena idea bloquear que nadie lo pueda utilizar para enviar emails en tu nombre.

¿Has oído hablar del phishing? Aunque no hayas oído hablar de él, lo que es seguro es que lo has sufrido. Esos correos que parecen que son de tu banco, de una ONG, de tu compañía eléctrica o de telefonía y que te envían a un sitio web donde debes introducir tu usuario y contraseña o tu tarjeta de crédito. Eso es el phishing: correos que suplantan a las verdaderas entidades para engañarte conseguir información (normalmente datos bancarios o contraseñas).

¿Sabrías reconocer el phishing?

Google ha creado un pequeño test en el que te explica cómo puedes detectar si un correo es real o es un intento de phishing.

Está disponible en: https://phishingquiz.withgoogle.com/

Vamos a suponer ahora que no solo eres el receptor de esos correos sino que esos mardito roedore están utilizando alguno de tus dominios para hacer el mal. La buena noticia es que tiene solución.

Si no estás utilizando tu dominio para el envío de correo (p.ej. puede que sea un dominio paraguas para redirigir a tu dominio principal), puedes forzar a que se deniegue todo intento de envío de correo en nombre de ese dominio, que cualquiera que reciba un email de ese dominio sepa que no está autorizado. Para eso utilizaremos SPF y DMARC.

SPF (Sender Policy Framework) es la forma más sencilla de otorgar o denegar permiso a terceros para utilizar. Para lo que nos interesa a nosotros ahora, lo que vamos a hacer es prohibir cualquier envío en nombre de nuestro dominio. Para ello, vamos a suponer que el dominio que no queremos que permita envíos se llama sasa.eh (existe la extensión .eh, por cierto, y se corresponde con el Sáhara Occidental). Usando SPF añadiremos la siguiente entrada DNS de tipo TXT en el dominio:

@  IN  TXT  "v=spf1 -all"

Con esto ya estamos impidiendo enviar emails utilizando nuestro nombre de dominio.

SPF es sencillo, pero no es perfecto. Una vuelta de tuerca adicional vino con DKIM. DKIM te permite cifrar los envíos de forma que el destinatario puede comprobar si la clave que recibe fue realmente emitida por el dominio en nombre del que se realiza el envío. Esto ya requiere un esfuerzo adicional por parte de los servidores de correo y es menos sencillo de implementar que el SPF. Para nuestro caso de uso, esto nos da igual, pero es importante saber que existe DKIM.

Cómo funciona DMARC (de Valimail)

DMARC, se apoya en SPF y DKIM para otorgar autenticidad al remitente del envío. Aquí también se trata de añadir entradas DNS en el dominio de forma que indiquen cómo debe comportarse en caso de que se pase la validación SPF o DKIM. Como nosotros lo que queremos es no permitir ningún envío desde sasa.eh, vamos a ser totalmente restrictivos y añadiremos esta entrada DNS de tipo TXT:

_dmarc  IN  TXT  "v=DMARC1; p=reject"

Con estas dos entradas DNS, estamos bloqueando que utilicen nuestro dominio para realizar envíos no autorizados.

DNS: Qué son los Glue Records

Cuando registras un dominio, tienes que proporcionar al registro (registry) que gestiona la extensión una serie de datos:

  • Datos del titular del dominio
  • Datos del contacto administrativo
  • Datos del contacto técnico
  • Servidores DNS

A la hora de indicar los servidores DNS que van a resolver el dominio en el hosting, puede que quieras utilizar un subdominio de ese dominio… y en ese caso tendríamos un problema

…me llaman el hombre bucle

Si yo quiero registrar el dominio chupicalabaza.info y los servidores DNS que quiero utilizar son:

  • ns1.chupicalabaza.info
  • ns2.chupicalabaza.info

Lo normal es que me dé error, puesto que el dominio principal, chupicalabaza.info, no está todavía registrado y para resolver un subdominio tengo que resolver antes el dominio principal.

DNS arbol.svg
Árbol DNS para resolver es.wikipedia.org
CC BY-SA 2.5, Wikimedia Commons

Para resolver este caso, es para lo que están los glue records. Estos registros permiten indicar al registry, la IP asociada a esos servidores DNS que están bajo un dominio pendiente de registrar. Así de (más o menos) sencillo.

Obviamente esto no nos exime de crear las entradas necesarias para la configuración del registro; es un paso necesario para poder asignar los hosts en estas situaciones particulares.

Referencias

  • DonDominio lo explica muy bien en su ayuda… hasta he puesto vocecitas en el diálogo ;)
  • En la Wikipedia [EN] tenéis también una breve explicación

El nombre de dominio a muerto (o no, o yo qué sé)

Porque, ¿para qué quiero un nombre de dominio? Porque forma parte de mi marca, es mi marca. Pero, ¿quien me encuentra por la marca? ¿Hay gente que va directamente a la URL? Alguna quedará.

La gente va a sus entornos: Facebook, Instagram, Twitter… lo que sea y allí realiza sus búsquedas. El dominio no es importante aquí.

¿Y en Internet? Pues aquí se usa el entorno de Google, y Google decide qué mostrarte en base a lo que buscas, por eso no es necesario en nombre del dominio y por eso se está ocultando de sus navegadores (Google Chrome ya dio otro paso adelante para terminar de matar las URLs).

Parisa Tabrizz, otra de las máximas responsables del desarrollo de Chrome, destacaba cómo propongan lo que propongan, la decisión acabará siendo «controvertida». Aún así creen que el cambio es importante, «porque todo el mundo está insatisfecho con las URLs. Básicamente apestan«.

En Xataka

¿Por qué se usan nombres de dominios? Porque una IP es complicada de recordar. Si dependiera solo de máquinas, no haría falta nombres de dominios, ni URL ni nada de eso.

¿Se pueden sustituir por otra cosa? ¿Se pueden simplemente ignorar? Claro, ¿por qué no? Pero, ¿por qué lo vamos a sustituir? ¿Por los resultados que me dé un buscador? ¿Es eso más fiable? ¿Por la gente que haya en una red social/ecosistema en el que se valide la fiabilidad de la cuenta?

No sé… ¿de verdad apestan tanto los nombres de dominio? ¿No hay mejores formas de curar la rabia que matar a todos los perros?

El futuro del dominio .eu para los británicos

Por definición, para registrar un dominio .eu, los Criterios Generales de Elegibilidad del titular son:

  1. una empresa que tenga su domicilio social, administración central o centro de actividad principal en la Unión Europea, Noruega, Islandia o Liechtenstein, o
  2. una organización establecida en la Unión Europea, Noruega, Islandia o Liechtenstein, sin perjuicio de la aplicación de la legislación nacional, o
  3. una persona física residente en la Unión Europea, Noruega, Islandia o Liechtenstein

Una vez se complete el Brexit, ¿qué va a ocurrir con aquellos titulares de dominios .eu que no cumplan los requisitos? Fácil de decir según la Comisión Europea: no cumplen los requisitos por lo que no se les renovará la titularidad de los mismos. Aquí paz y mañana gloria.

En EURid, la entidad gestora de los dominios .eu, se están preparando para la que les viene encima, en la medida en la que pueden hacerlo. Tienen un interesante papelón que espero que resuelvan con la misma solvencia en el caso del RGPD.