DokumentaceModuly

    23

    Správa certifikátů

    Správa certifikátů — přehled

    Certificate Management zajišťuje persistentní monitoring TLS/SSL certifikátů. Sleduje datum vypršení, odesílá upozornění 30/14/7 dní před vypršením a denně kontroluje Certificate Transparency logy (crt.sh), kde detekuje nové certifikáty vydané pro vaše domény.

    Vyžadovaná licence:Security
    • •Plánované TLS kontroly — konfigurovatelný interval (1–72h)
    • •Notifikace vypršení přes všechny nakonfigurované kanály (email, Telegram, Slack, ...)
    • •Grade A–F na certifikát (platnost řetězu, shoda hostname, síla klíče, zbývající dny)
    • •Certificate Transparency monitoring — denní kontrola crt.sh pro nové certifikáty
    • •Kompletní historie kontrol s grafem zbývajících dní
    Správa certifikátů

    Záložky rozhraní

    ZáložkaPopis
    PřehledStatCards (Sledovaných / Platných / Vyprší / Vypršelých), sloupcový graf expiry timeline, tabulka monitorů vyžadujících pozornost
    MonitorySeznam všech cert monitorů se stavem, grade, zbývajícími dny. Rozbalitelný řádek zobrazí detail certifikátu. Tlačítko manuální kontroly, přidání/úprava/smazání.
    CT UpozorněníNové certifikáty objevené v CT logách pro sledované domény. Badge zobrazuje počet nepotvrzených upozornění.
    HistorieVyberte monitor → spojnicový graf zbývajících dní v čase + tabulka jednotlivých kontrol.

    Výpočet grade

    Každá kontrola produkuje grade (A/B/C/F) vyhodnocením čtyř kritérií v pořadí:

    GradePodmínka
    FCertifikát vypršel (dny < 0) nebo chyba připojení
    CNeshoda hostname (CN / SAN neodpovídá FQDN)
    BChain validace selhala, nebo slabý klíč (RSA < 2048 bit), nebo 0–13 zbývajících dní
    B14–29 zbývajících dní (certifikát jinak platný)
    A≥ 30 zbývajících dní, platný řetěz, shoda hostname, dostatečný klíč
    Grade vychází pouze z vypršení a strukturální platnosti — neobsahuje analýzu cipher suites (ta by vyžadovala ~25s na kontrolu). Pro plný SSL audit použijte Síťové nástroje → SSL Audit.

    Konfigurace monitoru

    PolePopisVýchozí
    NázevZobrazovaný název monitoru—
    FQDNDoménové jméno ke kontrole (bez https://)—
    PortTLS port pro připojení443
    IntervalJak často spouštět kontrolu (hodiny)24h
    Notifikovat před (dny)Dny před vypršením pro odeslání notifikace. Lze vybrat více prahů.30, 14, 7
    Notifikace se odesílá pouze jednou na práh (s tolerancí ±1 den), ne při každé kontrole u prahu.

    Certificate Transparency monitoring

    Při každé kontrole domény systém také dotazuje veřejné CT log API crt.sh na certifikáty vydané pro danou doménu (wildcard vyhledávání: %.domain.tld). Nové nálezy jsou uloženy jako CT Upozornění.

    • •Detekuje certifikáty vydané třetími stranami (potenciální phishing, chybně nakonfigurované subdomény)
    • •Každý CT záznam je uložen s: serial number, issuer, CN, SANs, období platnosti, crt.sh ID
    • •Upozornění lze potvrdit (acknowledge) pro označení jako zkontrolovaná
    • •Badge na záložce CT Upozornění zobrazuje počet nepotvrzených upozornění

    REST API

    Všechny operace správy certifikátů jsou dostupné přes REST API (Security tier, vyžadován Bearer token):

    MethodEndpointPopis
    GET/api/v1/certificates/summaryStatistiky a expiry timeline
    GET/api/v1/certificates/monitorsSeznam všech monitorů
    POST/api/v1/certificates/monitorsVytvořit monitor
    PUT/api/v1/certificates/monitors/{id}Upravit monitor
    DELETE/api/v1/certificates/monitors/{id}Smazat monitor (CASCADE)
    POST/api/v1/certificates/monitors/{id}/checkSpustit okamžitou kontrolu → vrátí CertCheck
    GET/api/v1/certificates/monitors/{id}/historyHistorie kontrol (?limit=30)
    GET/api/v1/certificates/ct-alertsCT upozornění (?limit=50, ?monitor_id=N)
    PUT/api/v1/certificates/ct-alerts/{id}/acknowledgePotvrdit CT upozornění

    Architektonické poznámky

    Background service

    CertificateMonitorService běží jako asyncio smyčka (30s tick). Používá FOR UPDATE SKIP LOCKED pro bezpečnou distribuci práce mezi více workery. Samotná kontrola používá asyncio.open_connection s ssl.create_default_context() + cryptography.x509 parsování — žádná enumerace cipher suites, typicky dokončena za méně než 2 sekundy.

    Databázové tabulky

    TabulkaPopis
    cert_monitorsCo sledovat — FQDN, port, interval, notify prahy
    cert_checksHistorie kontrol — plný detail certifikátu na běh (CN, SANs, grade, klíč, fingerprint...)
    cert_ct_alertsCT transparency nálezy — unikátní per (monitor_id, serial_number)
    Service se spouští automaticky s licencí uptime modulu. Je řízen stejným require_module("uptime") guardem jako Host Monitor.