DocumentaciónMódulos

    23

    Gestión de Certificados

    Gestión de Certificados — vista general

    Certificate Management proporciona monitoreo persistente de certificados TLS/SSL. Rastrea fechas de vencimiento, envía alertas 30/14/7 días antes del vencimiento y consulta los registros de Certificate Transparency (crt.sh) para detectar nuevos certificados emitidos para sus dominios.

    Licencia requerida:Security
    • •Verificaciones TLS programadas — intervalo configurable (1–72h)
    • •Notificaciones de vencimiento a través de todos los canales configurados (email, Telegram, Slack, ...)
    • •Grado A–F por certificado (validez de cadena, coincidencia de hostname, fortaleza de clave, días restantes)
    • •Monitoreo de Certificate Transparency — consulta diaria de crt.sh para nuevos certs
    • •Historial completo de verificaciones con gráfico de línea de tiempo de días restantes
    Gestión de Certificados

    Pestañas de la interfaz

    PestañaDescripción
    ResumenStatCards (Monitoreados / Válidos / Por vencer / Vencidos), gráfico de barras de línea de tiempo, tabla de monitores que requieren atención
    MonitoresLista de todos los monitores con estado, grado, días restantes. Fila expandible muestra detalles completos del cert. Botón de verificación manual, agregar/editar/eliminar.
    Alertas CTNuevos certificados descubiertos en registros CT para dominios monitoreados. El badge muestra el recuento de alertas no confirmadas.
    HistorialSeleccione un monitor → gráfico de línea de días restantes en el tiempo + tabla de verificaciones individuales.

    Cálculo del grado

    Cada verificación produce un grado (A/B/C/F) evaluando cuatro criterios en orden:

    GradoCondición
    FCertificado vencido (días < 0) o error de conexión
    CDiscrepancia de hostname (CN / SAN no coincide con FQDN)
    BValidación de cadena fallida, o clave débil (RSA < 2048 bit), o 0–13 días restantes
    B14–29 días restantes (cert de lo contrario válido)
    A≥ 30 días restantes, cadena válida, coincidencia de hostname, clave adecuada
    El grado se basa solo en el vencimiento y la validez estructural — no incluye análisis de cipher suites (lo que requeriría ~25s por verificación). Para un audit SSL completo use Herramientas de Red → SSL Audit.

    Configuración del monitor

    CampoDescripciónPredeterminado
    NombreNombre de visualización del monitor—
    FQDNNombre de dominio a verificar (sin https://)—
    PuertoPuerto TLS para conectarse443
    IntervaloCon qué frecuencia ejecutar la verificación (horas)24h
    Notificar antes (días)Días antes del vencimiento para enviar una notificación. Se pueden seleccionar múltiples umbrales.30, 14, 7
    La notificación se envía solo una vez por umbral (con tolerancia ±1 día), no en cada verificación cerca del umbral.

    Monitoreo de Certificate Transparency

    Cada vez que se verifica un dominio, el sistema también consulta la API pública de logs CT de crt.sh para cualquier certificado emitido para ese dominio (búsqueda wildcard: %.domain.tld). Los nuevos hallazgos se almacenan como Alertas CT.

    • •Detecta certificados emitidos por terceros (phishing potencial, subdominios mal configurados)
    • •Cada entrada CT se almacena con: número de serie, emisor, CN, SANs, período de validez, ID de crt.sh
    • •Las alertas se pueden confirmar (acknowledge) para marcarlas como revisadas
    • •El badge en la pestaña Alertas CT muestra el recuento de alertas no confirmadas

    REST API

    Todas las operaciones de gestión de certificados están disponibles a través de la REST API (Security tier, se requiere Bearer token):

    MethodEndpointDescripción
    GET/api/v1/certificates/summaryEstadísticas y línea de tiempo de vencimiento
    GET/api/v1/certificates/monitorsListar todos los monitores
    POST/api/v1/certificates/monitorsCrear monitor
    PUT/api/v1/certificates/monitors/{id}Actualizar monitor
    DELETE/api/v1/certificates/monitors/{id}Eliminar monitor (CASCADE)
    POST/api/v1/certificates/monitors/{id}/checkDisparar verificación inmediata → devuelve CertCheck
    GET/api/v1/certificates/monitors/{id}/historyHistorial de verificaciones (?limit=30)
    GET/api/v1/certificates/ct-alertsAlertas CT (?limit=50, ?monitor_id=N)
    PUT/api/v1/certificates/ct-alerts/{id}/acknowledgeConfirmar alerta CT

    Notas de arquitectura

    Servicio en segundo plano

    CertificateMonitorService se ejecuta como un bucle asyncio (tick de 30s). Utiliza FOR UPDATE SKIP LOCKED para distribuir de forma segura el trabajo entre múltiples workers. La verificación en sí usa asyncio.open_connection con ssl.create_default_context() + análisis de cryptography.x509 — sin enumeración de cipher suites, generalmente completa en menos de 2 segundos.

    Tablas de base de datos

    TablaDescripción
    cert_monitorsQué monitorear — FQDN, puerto, intervalo, umbrales de notificación
    cert_checksHistorial de verificaciones — detalle completo del cert por ejecución (CN, SANs, grado, clave, huella...)
    cert_ct_alertsHallazgos de transparencia CT — únicos por (monitor_id, serial_number)
    El servicio se inicia automáticamente con la licencia del módulo uptime. Está gobernado por el mismo guard require_module("uptime") que Host Monitor.