Autorización de la Autoridad de Certificación:¿cómo funciona esto?

Correcto, por título ya tenemos vuestra atención: Autorización de la Autoridad de Certificación es un mecanismo de seguridad adicional para nuestras web.

Aunque suene redundante en nuestro idioma 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 con 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 cual incluso también sirve para administrar las direcciones IP públicas que nos asignen las autoridades y/o organizaciones internacionales abocadas en esa materia. Lo cierto del caso 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, 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.

Localizador Uniforme de Recursos
Localizador Uniforme de Recursos (Imagen: Jimmy Olano – Wikipedia: https://commons.wikimedia.org/wiki/File:Localizador_Uniforme_de_Recursos.svg)

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 solo con derechos de administrador podrás modificarlo, si lo observáis veréis algo como esto (GNU/Linux):

127.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

Las 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 solo 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 y 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 acá entra en escena los Sistemas de Nombres de Domino 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 futura referencias y nos envía la dirección IP del recurso que el 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 u oficina, o podremos escoger uno diferente. En este punto debemos de tener especial cuidado 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 aún 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 ha 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 os hemos colocado. Sucede y acontece que acá 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? Pues ya os explicamos.

Para solventar el problema de que personas, con cualquier clase de intención, intercepten nuestras comunicaciones a los sitios web que nos interesen (este vuestro blog de Pandora FMS por ejemplo) 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 acá 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 solo los más populares: Chrome®, Microsoft Internet Explore 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.

Por favor, lea también   Tutorial para configurar mod_rewrite en Apache sobre Ubuntu
Protoclo HTTPS en la barra de direcciones web.
Protoclo HTTPS en la barra de direcciones web (Imagen: Fabio Lanari, Wikipedia https://commons.wikimedia.org/wiki/File:Internet2.jpg).

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 como 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 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 maravillas… 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 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, como por ejemplo este enlace que os colocamos https://www.google.com y que al hacer clic en realidad os dirige hacia el buscador DuckDuckGo (repetimos, es un ejemplo, no deseamos embaucar a nadie). Una vez allí el certificado de seguridad falso hará que se conecte de manera segura y podrá engañar al visitante haciéndose pasara 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 tiene años trabajando en ello (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 de manera aislada. Los atacantes han logrado obtener estos certificados de empresas especializadas como Comodo®y DigiNotar® para los dominios mencionados y aun 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 y é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 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 mismo declaramos de manera explícita, en los DNS, la empresa que le hemos adquirido el certificado, no puede ser otra.

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 nos sea notificado 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 colocamos).

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:

Consulta a Google de una Autorización de la Autoridad de Certificación (CAA)
Consulta a Google de una Autorización de la Autoridad de Certificación (CAA) (Imagen: Jimmy Olano, KS7000 + WP https://www.ks7000.net.ve/wp-content/uploads/2018/06/Mozilla-Firefox_4179.jpg)

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:

dig ks7000.net.ve CAA
dig ks7000.net.ve CAA (Imagen: Jimmy Olano, KS7000 + WP https://www.ks7000.net.ve/wp-content/uploads/2018/06/dig-ks7000.net_.ve-CAA.jpg)

Contáctanos

¿Estáis 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!