Sobes.tech
Middle+

Jaké centralizované prostředky používáte k aktualizaci a sledování stavu certifikátů na koncových zařízeních?

sobes.tech AI

Odpověď od AI

Pro centralizovanou správu a sledování certifikátů používám následující nástroje:

  1. HashiCorp Vault:
    • Secrets Engine pki. Umožňuje vydávat a odvolávat certifikáty přes API. Integruje se s Ansible, Terraform, Kubernetes.
    • Používám pro automatické vytváření a aktualizaci certifikátů pro služby (TLS, mTLS).
  2. Cert-Manager (pro Kubernetes):
    • Nativně se integruje s Kubernetes pro automatické vydávání certifikátů od různých Issuer (Let's Encrypt, Vault, interní CA).
    • Stav certifikátů sleduji pomocí metrik certmanager_certificate_expiration_timestamp_seconds, které jsou vystavovány pro Prometheus.
  3. OpenSSL + vlastní skripty:
    • Pro inventarizaci stávajících certifikátů na serverech.
    • Skripty shromažďují data o době platnosti (openssl x509 -noout -enddate -in certificate.pem), informace o vydavateli a Subject.
    • Výsledky jsou agregovány do centralizovaného systému (například Prometheus, Grafana).
    #!/bin/bash
    
    CERT_FILE=$1
    
    if [ -f "$CERT_FILE" ]; then
        # Získání data ukončení platnosti ve formátu YYYY-MM-DD HH:MM:SS
        END_DATE=$(openssl x509 -noout -enddate -in $CERT_FILE 2>/dev/null | cut -d= -f2)
        # Převod na Unix timestamp
        END_TIMESTAMP=$(date -d "$END_DATE" +%s 2>/dev/null)
    
        if [ -n "$END_TIMESTAMP" ]; then
            echo "$END_TIMESTAMP"
        else
            echo "Chyba při parsování data ukončení." 2>&1
            exit 1
        fi
    else
        echo "Soubor certifikátu nebyl nalezen: $CERT_FILE" 2>&1
        exit 1
    fi
    
  4. Prometheus + Grafana:
    • Prometheus sbírá metriky o době platnosti certifikátů (například přes Node Exporter, Blackbox Exporter pro externí kontroly, metriky cert-manager).
    • Nastavuji alerty v Alertmanageru na blížící se dobu expirace certifikátu.
    • Grafana slouží k vizualizaci stavu certifikátů, tvorbě dashboardů s dobami jejich platnosti.
  5. Monitoring externích služeb:
    • Používám Blackbox Exporter pro monitorování dostupnosti služeb přes HTTPS a kontrolu platnosti certifikátů z vnější strany.
    modules:
      http_2xx:
        prober: http
        timeout: 5s
        http:
          preferred_ip_protocol: "ipv4"
          tls_config:
            insecure_skip_verify: false # Kontrola platnosti certifikátu
    

Proces vypadá takto:

  • Vydávání: Automatizované přes Vault nebo Cert-Manager.
  • Inventarizace/Sběr dat: Skripty nebo vestavěné mechanizmy sbírají metriky.
  • Agregace/Sledování: Prometheus sbírá metriky, Alertmanager upozorňuje na blížící se expiraci.
  • Vizuální zobrazení: Grafana ukazuje stav všech certifikátů.
  • Aktualizace: Automatická (Cert-Manager) nebo poloautomatická (přes Ansible/Terraform s Vault).

Toto je centralizovaný přístup, který umožňuje mít úplnou viditelnost stavu certifikátů na všech kontrolovaných koncových zařízeních a službách a minimalizovat výpadky způsobené expirovanými certifikáty.