El pasado 22 de enero de 2025, Let's Encrypt anunció un cambio importante en su política de notificaciones: dejará de enviar correos electrónicos avisando sobre la expiración de los certificados SSL. Según su comunicado oficial, esta decisión se debe a la baja fiabilidad de estas notificaciones, ya que muchos usuarios no las leen, terminan en carpetas de spam o se envían a correos mal configurados. En lugar de depender del correo electrónico, Let's Encrypt recomienda ahora que los administradores implementen sistemas automatizados y confiables de monitorización para estar al tanto del estado de sus certificados.
Ante este cambio, es crucial contar con una alternativa que nos permita detectar con antelación la expiración de los certificados y evitar así interrupciones en nuestros servicios. Una excelente solución es utilizar Zabbix, un sistema de monitorización muy completo que, gracias a su plantilla oficial para certificados SSL (disponible aquí), nos permite comprobar el estado y la validez de los certificados de forma automática. Esta plantilla requiere el uso de zabbix-agent2, y ofrece métricas detalladas como los días restantes hasta la expiración, el emisor del certificado, el algoritmo usado, entre otros.
En este artículo te mostraré cómo implementar esta plantilla en tu entorno Zabbix, para que no dependas más de avisos externos y puedas monitorizar todos tus certificados desde un único punto.
Pasos previos
Si todavía no tienes un servidor Zabbix funcionando, te recomiendo echar un vistazo a este artículo donde explico cómo instalar Zabbix Server en Debian 12 paso a paso. Además, si necesitas instalarlo en otra versión de Debian o en una distribución diferente, puedes utilizar el desplegable incluido en el mismo artículo para seleccionar la versión que te interese.

Importar plantilla en Zabbix Server
Lo primero que tenemos que hacer, es instalar una plantilla en nuestro Zabbix, concretamente se llama Website certificate by Zabbix agent 2 y podemos descargarnos el fichero en formato YAML.
En la web, deberemos de seleccionar la versión de nuestro Zabbix Server y descargar el YAML correspondiente. Por ejemplo, si estamos usando la versión 6.4.x de Zabbix:
wget https://git.zabbix.com/projects/ZBX/repos/zabbix/raw/templates/app/certificate_agent2/template_app_certificate_agent2.yaml?at=refs%2Ftags%2F6.4.21 -O template_app_certificate_agent2.yamlLuego vamos a Zabbix en el apartado Data Collection - Templates y arriba a la derecha hacemos clic en Import. Seleccioamos el fichero e importamos:

Una vez importado, veremos que aparece en el listado de Templates:

Crear un nuevo grupo de hosts [Opcional]
Para mantener todo bien organizado - aunque este paso es opcional - se recomienda crear un nuevo grupo de hosts llamado Domains. En este grupo añadiremos los hosts correspondientes a nuestras páginas web, a los que aplicaremos la plantilla que importamos previamente para monitorizar sus certificados SSL.
Para ello iremos a Data Collection - Host Groups y arriba a la derecha haremos clic sobre el botón Create Host Group:

Crear nuevo host para un dominio
A continuación, ve a Data Collection - Hosts y haz clic en el botón Create host, situado en la parte superior derecha. En el formulario que se abre, deberás completar los campos de la siguiente manera:

-
Host name: Especifica el nombre del host. Como se trata de una web, lo más recomendable es usar directamente el dominio asociado al certificado SSL (por ejemplo,
example.com). -
Visible name: Este campo es opcional. Puedes dejarlo en blanco para que se utilice el mismo valor del campo Host name, o bien personalizarlo si prefieres un nombre más descriptivo.
-
Templates: Selecciona la plantilla que importaste anteriormente, llamada Website Certificate by Zabbix Agent 2.
-
Host groups: Añade el grupo de hosts que creaste previamente (por ejemplo,
Domains) o cualquier otro grupo que prefieras utilizar para organizar tus hosts. -
Interfaces: Añade una nueva interfaz de tipo Agent e introduce la IP del servidor donde se encuentra ejecutando el agente Zabbix.
- Si usas
127.0.0.1, estás indicando que el agente se encuentra en el mismo servidor que el Zabbix Server. - Si el agente está en otro servidor, debes introducir la IP pública o privada correspondiente.
- Si usas
-
Description: Campo opcional donde puedes añadir información adicional sobre el host, como notas internas o detalles sobre el servicio monitorizado.
Luego vamos a la pestaña Macros y configuramos los siguientes valores en Host Macros:

Deberemos de añadir lo siguiente:
| Macro | Value | Description | Significado |
|---|---|---|---|
| {$CERT.EXPIRY.WARN} | 25 | Dias para la expiración | Podemos cambiar este valor, por otro, nos avisará cuando queden 25 días para renovar el certificado y aún no se haya renovado. |
| {$CERT.WEBSITE.HOSTNAME} | voidnull.es | Nombre de dominio | Indicaremos el dominio a monitorizar. |
| {$CERT.WEBSITE.IP} | xx.xx.xx.xx | IP de la web | La IP que responde el dominio para la monitorización |
Guardamos cambios y tendremos que host añadido. Deberemos de esperar un poco a que se sincronice correctamente con el agente.

Datos monitorizados
Una vez que el nuevo host aparece como disponible en Zabbix (es decir, que en la sección Availability su estado figura en verde), podemos ir a Monitoring - Latest data y utilizar el buscador avanzado para filtrar por el nombre de nuestro dominio.

Aquí podremos consultar una serie de datos muy útiles relacionados con el certificado SSL del dominio. Entre la información más relevante que ofrece esta plantilla se incluye:
- Estado de validez del certificado: si es válido o ha caducado.
- Fecha de expiración: cuántos días faltan para que caduque el certificado.
- Fecha de emisión: cuándo fue generado el certificado.
- Versión del certificado: como TLS 1.2 o TLS 1.3, dependiendo del servidor.
- Algoritmo de firma: el tipo de cifrado utilizado, como
sha256WithRSAEncryption. - Nombre del emisor: la autoridad certificadora (CA), como Let's Encrypt.
- Nombre común (CN): el dominio al que pertenece el certificado.
- Lista de SANs (Subject Alternative Names): si el certificado cubre múltiples subdominios.
Esta información no solo te permite saber si el certificado está activo, sino que también facilita la auditoría y control de tus dominios desde una única herramienta centralizada.
Más sobre ./voidNull
- 📖 Aprende todos sobre los comandos de GNU/Linux en nuestro Diccionario "De la A a la Z: Los comandos de GNU/Linux"
- 💪 ¡Forma parte de la Comunidad de ./voidNull!
- 🤖 Disfruta de todos nuestros Cursos sobre Ansible, Proxmox, Home Assistant entre otros.
- 📩 Mantente actualizado con lo último en GNU/Linux y Software Libre. Recibe nuestra Newsletter mensual.

Comentarios