Todas las guías de despliegue Despliegue

Monitoreo de certificados SSL: herramientas y guía de configuración

El monitoreo SSL va más allá de verificar las fechas de vencimiento. Una configuración de monitoreo completa vigila: certificados por expirar, cambios de configuración, emisión no autorizada de certificados y caídas causadas por errores SSL.

Con la validez de los certificados reduciéndose a 47 días para 2029, el monitoreo proactivo se vuelve esencial: una renovación olvidada deja tu sitio fuera de línea.

Qué monitorear

QuéPor quéCon qué frecuencia
Vencimiento del certificadoCertificado expirado = sitio caídoDiariamente
Cadena de certificadosCadena incompleta = algunos dispositivos fallanSemanalmente
Versión TLSLas versiones TLS antiguas son desactivadas por los navegadoresMensualmente
Logs CTDetectar certificados no autorizados para tu dominioContinuamente
OCSP staplingUn fallo en el stapling degrada el rendimientoSemanalmente
Cabecera HSTSHSTS faltante = vulnerable a degradaciónMensualmente

Opciones de monitoreo gratuito

1. Script cron (auto-alojado)

#!/bin/bash
# /usr/local/bin/ssl-monitor.sh
DOMAINS="example.com www.example.com api.example.com"
WARN_DAYS=30
ALERT_EMAIL="admin@example.com"

for domain in $DOMAINS; do
  expiry=$(echo | openssl s_client -connect "$domain":443 -servername "$domain" 2>/dev/null | openssl x509 -noout -enddate 2>/dev/null | cut -d= -f2)

  if [ -z "$expiry" ]; then
    echo "ERROR: Can't connect to $domain:443" | mail -s "SSL Monitor: $domain unreachable" $ALERT_EMAIL
    continue
  fi

  expiry_epoch=$(date -d "$expiry" +%s 2>/dev/null)
  now_epoch=$(date +%s)
  days_left=$(( (expiry_epoch - now_epoch) / 86400 ))

  if [ "$days_left" -lt "$WARN_DAYS" ]; then
    echo "$domain certificate expires in $days_left days ($expiry)" | mail -s "SSL Expiry Warning: $domain" $ALERT_EMAIL
  fi
done
# Add to crontab — run daily at 9am
0 9 * * * /usr/local/bin/ssl-monitor.sh

2. UptimeRobot (SaaS — nivel gratuito)

  1. Regístrate en UptimeRobot
  2. Añade un monitor → Tipo: HTTPS
  3. Ingresa la URL de tu dominio
  4. Configura la alerta de vencimiento SSL: 30 días antes del vencimiento
  5. Configura alertas: correo, Slack, webhook

UptimeRobot verifica cada 5 minutos y alerta tanto por caídas como por vencimiento de certificados.

3. Monitoreo de Certificate Transparency

Monitorea los logs CT para detectar certificados no autorizados emitidos para tu dominio:

ServicioCómoCosto
Cert Spotter (SSLMate)Alertas por correo sobre nuevos certificadosNivel gratuito
crt.shBúsqueda manualGratis
Facebook CT MonitorHerramienta de monitoreo de FacebookGratis

Herramientas de monitoreo de pago

HerramientaCaracterísticasPrecio
Better UptimeSSL + uptime + incidentesNivel gratuito / $20+/mes
DatadogMonitoreo completo de infraestructura con verificación SSL$15+/host/mes
PingdomSSL + uptime + rendimiento$10+/mes
StatusCakeMonitoreo SSL + alertasNivel gratuito / $20+/mes

Ejemplo de configuración de monitoreo completo

Para un sitio en producción, combina múltiples capas:

Capa 1: Renovación automática con Certbot (previene el vencimiento)
Capa 2: Script cron (detecta fallos en la renovación — correo diario)
Capa 3: UptimeRobot (detecta errores SSL — verificación cada 5 min)
Capa 4: Monitoreo CT (detecta certificados no autorizados — continuo)

Esto te da defensa en profundidad: ningún punto único de fallo.

Monitoreo con GetHTTPS

GetHTTPS no incluye monitoreo integrado (es una herramienta de emisión de certificados). Pero tu flujo de trabajo debería ser:

  1. Emitir certificado con GetHTTPS
  2. Configurar recordatorios de renovación — alerta en calendario en el día 60 de 90
  3. Añadir monitoreo SSL — script cron o herramienta SaaS como respaldo
  4. Considerar Certbot para renovación automática en producción

Preguntas frecuentes

¿Cuál es el monitoreo mínimo que debería tener?

Como mínimo: un recordatorio en el calendario para la renovación del certificado (día 60 de 90) Y una verificación automatizada (script cron o UptimeRobot). El calendario cubre las renovaciones normales; la verificación automatizada detecta los fallos.

¿Cómo monitoreo múltiples dominios?

El script cron anterior maneja múltiples dominios en un bucle. Las herramientas SaaS como UptimeRobot te permiten añadir múltiples monitores, uno por dominio.

¿Debo monitorear también los certificados de staging/desarrollo?

Sí, si son certificados de Let’s Encrypt que expiran. Un certificado de staging expirado bloquea el QA y el desarrollo. Como mínimo, configura un recordatorio en el calendario.

¿Qué hay de monitorear la cadena de certificados, no solo el vencimiento?

La API de SSL Labs proporciona verificación automatizada de la cadena. Para una verificación manual rápida:

echo | openssl s_client -connect example.com:443 2>/dev/null | grep "Verify return code"

Añade esto a tu script cron para monitorear la cadena.

Artículos relacionados

Despliegue 2026-05-07
Cómo verificar el vencimiento de un certificado SSL
Verifica cuándo expira tu certificado SSL usando tu navegador, OpenSSL o herramientas en línea. Configura monitoreo para evitar vencimientos inesperados y tiempo de inactividad.
SSL y certificados 2026-05-08
Certificate Transparency: cómo monitorear los certificados de tu dominio
Los logs de Certificate Transparency (CT) registran cada certificado SSL emitido públicamente. Aprende cómo funciona CT, cómo monitorear tu dominio en busca de certificados no autorizados y cómo usar crt.sh.
SSL y certificados 2026-05-07
Validez de certificados SSL: el cambio a 47 días explicado
El CA/Browser Forum votó reducir la validez de certificados SSL a 47 días para 2029. Conoce el cronograma, qué significa para tu sitio web y cómo prepararte.
Primeros pasos 2026-05-07
Cómo renovar un certificado de Let's Encrypt
Los certificados de Let's Encrypt expiran cada 90 días. Aprende cómo renovar con GetHTTPS (manual) o Certbot (automático), y prepárate para la validez de 47 días.
Obtén un certificado SSL gratuito en tu navegador
Sin instalación, sin cuenta. Tu clave privada nunca sale de tu dispositivo.
Obtener certificado