Autorización de la Autoridad de Certificación (CAA). ¿Cómo funciona?
Aunque suene redundante en castellano, la Autorización de la Autoridad de Certificación es una especificación o norma adicional que trae una confirmación extra de seguridad para nuestros dominios web. En este artículo os describiremos, a grandes rasgos, su origen, cómo funciona y recomendaciones para implementarlo.
Sistema de Nombres de Dominio
En un artículo anterior os trajimos una herramienta para administrar la asignación de direcciones IP privadas, la que también sirve para administrar las direcciones IP públicas que nos asignen las autoridades y/u organizaciones internacionales abocadas en esa materia. Lo cierto es que memorizar dichas direcciones fijas IP públicas asignadas a nuestros servidores web es realmente un dolor de cabeza. En realidad, nosotros los seres humanos somos malos para recordar números, a excepción del saldo de cada una de nuestras cuentas bancarias.
Debido a esto, se decidió dar nombres a los recursos en Internet, o más bien un Localizador Uniforme de Recursos o URL (estamos simplificando al máximo, esto es muchísimo más complejo: existen URI’s, etc.). Y para recordar el nombre de esos recursos y para asociarlos a las direcciones IP de los ordenadores que los albergan, comenzamos a usar simples ficheros de texto: para cada línea un recurso y una dirección IP.
Llegado el siglo XXI, con los muy modernos avances en la tecnología, con el Internet de las cosas y radiofrecuencias 5G, y hasta con coches autónomos, en nuestros avanzados ordenadores de nuestros hogares y trabajo accedemos a dichos recursos por medio de un muy avanzado… fichero. No, no os mentimos, si usáis GNU/Linux buscad el fichero “/etc/hosts” y si usáis Microsoft Windows® está ubicado en “c:\windows\system32\drivers\etc\hosts”. No temáis en abrirlo, porque sólo con derechos de administrador podréis modificarlo. Si lo observáis veréis algo como esto (GNU/Linux):
27.0.0.1 localhost 127.0.1.1 KEVIN # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters
La primera línea indica que todo dominio que tenga localhost sea “servido” por vuestro propio ordenador. Si queréis grabar la dirección IP fija de vuestro servidor web en Internet -ese preciado computador que atesora vuestro blog o página personal- con sólo agregar en dicho fichero la dirección IP numérica y a continuación en la misma línea el dominio, lo tendréis siempre a la mano y rápidamente para vuestro ordenador. Pero, ¿el resto del mundo cómo se entera? ¿Acaso tendréis que enviar este archivo por correo a todas vuestras amistades, compañeros y compañeras de trabajo? ¿Y si quien os provee alojamiento web os muda el servidor a una nueva dirección IP? Pues aquí entran en escena los Sistemas de Nombres de Dominio o DNS como popularmente se les llama, por sus iniciales en idioma inglés.
Domain Name System, DNS
Seguiremos simplificando al máximo: vuestro ordenador busca primero en el fichero que os comentamos y luego consultará con un servicio que se encarga de recordar de manera masiva los dominios y sus direcciones IP. Generalmente quien os suministra conexión a la red de redes tiene su propio servicio de resolución de nombres, y si la dirección que buscáis no la tiene almacenada, pues va y pregunta por nosotros a la autoridad superior, la obtiene y guarda una copia para futuras referencias y nos envía la dirección IP del recurso que le hemos solicitado.
El que cada proveedor de Internet tenga sus propios equipos contribuye a agilizar y descongestionar el tráfico; hasta nosotros mismos podemos tener nuestro propio servidor DNS en casa o en la oficina, o podremos escoger uno diferente. En este punto debemos tener especial cuidado con cuál escogemos (generalmente el de nuestro proveedor de Internet es suficientemente seguro y se establece automáticamente al conectarnos), debido a que será quien nos dirija a los verdaderos dueños de las páginas, punto álgido para las instituciones bancarias y nuestro dinero (no queremos terminar en un sitio que albergue páginas falsas y roben nuestras credenciales). Pero resulta ser que aun cuando conectemos con los verdaderos sitios web, el envío de nuestras credenciales está también al alcance de muchos intermediarios que hacen llegar nuestros paquetes de datos (esto también es llamado “saltos”) para conectar. Por ello, se han desarrollado mediante poderosos algoritmos matemáticos los Certificados de Seguridad: para prevenir los ataques de intermediarios (“man-in-the-middle attack”).
Certificados de Seguridad
En este punto, si nos lee cualquier profesional de la informática estará horrorizado u horrorizada por las simplificaciones extremas que hemos utilizado. Sucede que aquí en Pandora FMS somos flexibles y echaremos mano de todo recurso didáctico que sirva para ilustraros nuestras funciones avanzadas de monitorización de dispositivos. ¿Qué tiene esto que ver con los certificados de seguridad?
Se establecieron estrictas normas internacionales para empresas que trabajan como expendedoras de Certificados de Seguridad. Esencialmente, les compramos un fichero que contiene una clave privada de la cual somos los únicos responsables y una clave pública que enviaremos a los visitantes de nuestra web para que cifren todo lo que a bien tengan enviarnos y para que descifren todo lo que nosotros les enviamos.
Hasta aquí todo bien, pero dicho certificado debe ser avalado por una Autoridad de Certificación válida y confiable, y de ello se encarga nuestro navegador web, a la fecha nombrando sólo los más populares: Chrome®, Microsoft Internet Explorer®, Edge®, Mozilla Firefox®, Mac Safari® y Opera®. Identificaremos si un sitio es seguro por su prefijo https y nuestro navegador web nos indicará generalmente con un icono de candado con algún color, para que estemos pendientes de que se cumpla dicha condición. Algunos navegadores incluso se negarán a mostrarnos las páginas que no tengan un protocolo seguro de conexión.
Este Certificado de Seguridad, una vez emitido a nuestro nombre, con nuestro dominio web (excepto la clave privada), viene a ser un documento completamente público a nivel mundial y tiene una estructura con datos básicos, incluido el vencimiento de ellos. ¿Recuerdan cómo implementamos desde tiempos lejanos un fichero donde podemos guardar las direcciones IP y los dominios que más utilizamos? Pues, de manera parecida, nuestros navegadores web, para ahorrar tiempo, vienen de una vez con los Certificados de Seguridad más comunes. En parte debido a esto, y a otras razones, las grandes corporaciones adquieren (o se emiten ellos mismos, como es el caso de Microsoft o Google) certificados con varios años de vigencia, a fin de ahorrar billones de bytes en el tráfico del Internet. Todo esto hasta aquí está bien, ¿cierto? Todo nos funciona de maravilla… pues va a ser que no.
Certificados de Identidad usurpados
¿Qué sucedería si un mal intencionado usurpa, de alguna manera, nuestra identidad y adquiere para sí mismo un Certificado de Seguridad con nuestro dominio web? De inmediato pensaremos en qué va a realizar con eso, si los servidores DNS se encargan siempre de dirigir toda resolución de nombre hacia nuestra dirección IP fija de servidor web. El atacante puede utilizar dicho Certificado de Seguridad fraudulento de, al menos, dos maneras posibles:
- Puede enviar mensajes de correo electrónico con formato HTML con direcciones web que enmascaran el dominio del mismo atacante, aparentando ser nuestro sitio web. Una vez allí, el certificado de seguridad falso hará que se conecte de manera segura y podrá engañar al visitante, haciéndose pasar por nosotros.
- Algo más sofisticado podría ser que ofrezca Internet inalámbrico gratuito en un lugar público y montar su propio servidor DNS, para que las personas que se conecten por allí, al ingresar nuestro dominio web, le suministren la dirección IP de la falsa página web, que de paso tiene un certificado de seguridad que completará el engaño.
Con todo este esquema ¿Cómo podríamos defendernos?
Autorización de la Autoridad de Certificación
El tema de la Autorización de la Autoridad de Certificación es un tema reciente, implementado en octubre de 2017, pero sobre el cual se lleva años trabajando (apenas en noviembre de 2017 Microsoft Azure® DNS fue actualizado a la nueva normativa). Incluso para la Wikipedia®, en nuestro idioma tuvimos que agregarlo para contribuir así con la difusión del conocimiento.
La obtención de Certificados de Seguridad usurpados a grandes empresas como Gmail®, Hotmail®, y Yahoo! Mail® sucedió por primera vez en 2011 y no fue un hecho aislado. Los atacantes han logrado obtener estos certificados de empresas especializadas, como Comodo®y DigiNotar®, para los dominios mencionados y aún no se sabe cuánto habrán logrado con ellos. Lo cierto de estos casos es que en cuanto se tuvo noticias de ello los certificados fueron revocados. Revocarlos implica que cuando un navegador web va hasta esos entes certificadores y consultan la validez, ésta le es negada (de igual manera sucede cuando los certificados han vencido por tiempo). Pero se toparon con otro problema: los navegadores web conservaban copia de ellos, así que se volvieron a compilar, girándoles instrucciones precisas de que dichos certificados no fueran aceptados si son utilizados en algún servidor web.
Para evitar problemas futuros la industria de la tecnología acudió al Grupo de Trabajo de Ingeniería de Internet (IETF), para establecer una nueva norma: la Autorización de la Autoridad de Certificación. ¿Recuerdan los DNS? Pues bien, se echa mano de ellos para que alberguen un nuevo campo que nosotros mismos debemos colocar: la empresa a la cual le hemos comprado el certificado de seguridad. ¿Cómo funcionaría esto si el atacante suministró un enlace web ofuscado en un correo electrónico, es decir, no encamina a la víctima por DNS?
Pues para completar la norma se estableció que es deber adicional de los navegadores web el tomar el dominio que indica el certificado, buscarlo en los DNS de confianza, consultar la Autorización de la Autoridad de Certificación y que ésta coincida con la que ha emitido el certificado. Vale decir, que nosotros mismos declaramos de manera explícita, en los DNS, la empresa a la que le hemos adquirido el certificado; no puede ser otra.
f
Incluso la norma contempla que podamos incluir nuestros correos electrónicos de contacto en caso de que se detecte alguna irregularidad por alguno de los navegadores web que nos sea notificada debidamente y a tiempo.
Pandora FMS, DNS y complementos
Desde hace años, Pandora FMS tiene un complemento o plugin para DNS a efectos de monitorización y hemos publicado cómo crear un plugin remoto que verifica si un certificado de seguridad ha perdido validez. Esto es posible por la increíble flexibilidad que caracteriza a Pandora FMS, normalizando los conceptos, procedimientos y valores a fin de que sean recogidos por el Servidor de Datos, por medio del protocolo Tentacle (o sean ejecutados por el servidor Pandora como el ejemplo que pusimos).
En esta oportunidad tenemos al menos dos maneras de obtener consultando a un DNS sobre Autorización de la Autoridad de Certificación: vía HTTP y por línea de comandos.
Vía HTTP
La empresa Google pone a nuestra disposición una interfaz gráfica por navegador web, por medio de la barra de direcciones. En la figura siguiente os remarcamos dichos detalles:
Vía línea de comandos
Para la línea de comandos bien podemos utilizar curl con el punto anterior, o bien podemos llamar a dig (Domain Information Groper), pero debemos tener registrada la versión 9.10.3 o superior:
Contáctanos
¿Estás interesado en este plugin para vuestro Servidor Pandora FMS?
¡¿Que no usáis Pandora FMS en vuestra red de área local!?
¡Contáctanos, que gustosamente os atenderemos!
Programador desde 1993 en KS7000.net.ve (desde 2014 soluciones en software libre para farmacias comerciales en Venezuela). Escribe regularmente para Pandora FMS y ofrece consejos en el foro. También colaborador entusiasta en Wikipedia y Wikidata. Machacador de hierros en gimnasios y cuando puede se ejercita en ciclismo también. Fanático de la ciencia ficción. Programmer since 1993 in KS7000.net.ve (since 2014 free software solutions for commercial pharmacies in Venezuela). He writes regularly for Pandora FMS and offers advice in the forum. Also an enthusiastic contributor to Wikipedia and Wikidata. Crusher of irons in gyms and when he can he exercises in cycling as well. Science fiction fan.