Sobes.tech
Middle+

Welke gecentraliseerde middelen gebruikt u voor het bijwerken en monitoren van de status van certificaten op eindapparaten?

sobes.tech AI

Antwoord van AI

Voor gecentraliseerd beheer en monitoring van certificaten gebruik ik de volgende tools:

  1. HashiCorp Vault:
    • Secrets Engine pki. Maakt het mogelijk om certificaten uit te geven en in te trekken via API. Integreert met Ansible, Terraform, Kubernetes.
    • Ik gebruik het voor het automatisch aanmaken en bijwerken van certificaten voor services (TLS, mTLS).
  2. Cert-Manager (voor Kubernetes):
    • Integreert native met Kubernetes om automatisch certificaten uit te geven van verschillende Issuers (Let's Encrypt, Vault, interne CA's).
    • De status van certificaten wordt gemonitord via metrics certmanager_certificate_expiration_timestamp_seconds, die worden geëxporteerd naar Prometheus.
  3. OpenSSL + aangepaste scripts:
    • Voor het inventariseren van bestaande certificaten op servers.
    • Scripts verzamelen gegevens over de geldigheid (openssl x509 -noout -enddate -in certificate.pem), informatie over de issuer en Subject.
    • De resultaten worden geaggregeerd in een gecentraliseerd systeem (bijvoorbeeld, Prometheus, Grafana).
#!/bin/bash

CERT_FILE=$1

if [ -f "$CERT_FILE" ]; then
    END_DATE=$(openssl x509 -noout -enddate -in $CERT_FILE 2>/dev/null | cut -d= -f2)
    END_TIMESTAMP=$(date -d "$END_DATE" +%s 2>/dev/null)

    if [ -n "$END_TIMESTAMP" ]; then
        echo "$END_TIMESTAMP"
    else
        echo "Fout bij het parseren van de einddatum." 2>&1
        exit 1
    fi
else
    echo "Certificaatbestand niet gevonden: $CERT_FILE" 2>&1
    exit 1
fi
  1. Prometheus + Grafana:
    • Prometheus verzamelt metrics over de geldigheid van certificaten (bijvoorbeeld via Node Exporter, Blackbox Exporter voor externe checks, metrics van cert-manager).
    • Ik stel alerts in in Alertmanager voor de naderende vervaldatum van certificaten.
    • Grafana wordt gebruikt om de status van alle certificaten te visualiseren en dashboards te maken met hun vervaldatums.
  2. Monitoring van externe services:
    • Ik gebruik Blackbox Exporter om de beschikbaarheid van services via HTTPS te monitoren en de geldigheid van certificaten van buitenaf te controleren.
modules:
  http_2xx:
    prober: http
    timeout: 5s
    http:
      preferred_ip_protocol: "ipv4"
      tls_config:
        insecure_skip_verify: false # Controleert de geldigheid van het certificaat

Het proces werkt als volgt:

  • Uitgifte: Geautomatiseerd via Vault of Cert-Manager.
  • Inventarisatie/gegevensverzameling: Scripts of ingebouwde mechanismen van exporters verzamelen metrics.
  • Aggregatie/monitoring: Prometheus verzamelt metrics, Alertmanager waarschuwt voor naderende vervaldatums.
  • Visualisatie: Grafana toont de status van alle certificaten.
  • Bijwerking: Automatisch (Cert-Manager) of semi-automatisch (via Ansible/Terraform met Vault).

Dit is een gecentraliseerde aanpak die volledige zichtbaarheid biedt in de status van certificaten op alle gecontroleerde apparaten en services, en minimaliseert downtime door verlopen certificaten.