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 certificado | Certificado expirado = sitio caído | Diariamente |
| Cadena de certificados | Cadena incompleta = algunos dispositivos fallan | Semanalmente |
| Versión TLS | Las versiones TLS antiguas son desactivadas por los navegadores | Mensualmente |
| Logs CT | Detectar certificados no autorizados para tu dominio | Continuamente |
| OCSP stapling | Un fallo en el stapling degrada el rendimiento | Semanalmente |
| Cabecera HSTS | HSTS faltante = vulnerable a degradación | Mensualmente |
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)
- Regístrate en UptimeRobot
- Añade un monitor → Tipo: HTTPS
- Ingresa la URL de tu dominio
- Configura la alerta de vencimiento SSL: 30 días antes del vencimiento
- 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:
| Servicio | Cómo | Costo |
|---|---|---|
| Cert Spotter (SSLMate) | Alertas por correo sobre nuevos certificados | Nivel gratuito |
| crt.sh | Búsqueda manual | Gratis |
| Facebook CT Monitor | Herramienta de monitoreo de Facebook | Gratis |
Herramientas de monitoreo de pago
| Herramienta | Características | Precio |
|---|---|---|
| Better Uptime | SSL + uptime + incidentes | Nivel gratuito / $20+/mes |
| Datadog | Monitoreo completo de infraestructura con verificación SSL | $15+/host/mes |
| Pingdom | SSL + uptime + rendimiento | $10+/mes |
| StatusCake | Monitoreo SSL + alertas | Nivel 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:
- Emitir certificado con GetHTTPS
- Configurar recordatorios de renovación — alerta en calendario en el día 60 de 90
- Añadir monitoreo SSL — script cron o herramienta SaaS como respaldo
- 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.