Sobes.tech
Middle+

Kokius centralizuotus būdus naudojate galutinių įrenginių sertifikatų būsenai atnaujinti ir stebėti?

sobes.tech AI

Atsakymas iš AI

Centrālas pārvaldības un sertifikātu uzraudzības nolūkos es izmantoju šādus rīkus:

  1. HashiCorp Vault:
    • Secrets Engine pki. Atļauj izsniegt un atsaukt sertifikātus caur API. Integrējas ar Ansible, Terraform, Kubernetes.
    • Es izmantoju automātiskai sertifikātu izdošanai un atjaunošanai pakalpojumiem (TLS, mTLS).
  2. Cert-Manager (Kubernetes):
    • Dabiski integrējas ar Kubernetes, lai automātiski izsniegtu sertifikātus no dažādiem Issuer (Let's Encrypt, Vault, iekšējie CA).
    • Sertifikātu stāvokli uzrauga metrikas certmanager_certificate_expiration_timestamp_seconds, kas tiek eksportētas Prometheus.
  3. OpenSSL + pielāgoti skripti:
    • Sertifikātu inventarizācijai uz serveriem.
    • Skripti apkopo datus par derīguma termiņu (openssl x509 -noout -enddate -in certificate.pem), informāciju par izdevēju un Subject.
    • Rezultāti tiek apkopoti centralizētā sistēmā (piemēram, Prometheus, Grafana).
    #!/bin/bash
    
    CERT_FILE=$1
    
    if [ -f "$CERT_FILE" ]; then
        # Iegūst derīguma termiņa beigu datumu YYYY-MM-DD HH:MM:SS formātā
        END_DATE=$(openssl x509 -noout -enddate -in $CERT_FILE 2>/dev/null | cut -d= -f2)
        # Pārvērš uz Unix timestamp
        END_TIMESTAMP=$(date -d "$END_DATE" +%s 2>/dev/null)
    
        if [ -n "$END_TIMESTAMP" ]; then
            echo "$END_TIMESTAMP"
        else
            echo "Kļūda, parsējot derīguma beigu datumu." 2>&1
            exit 1
        fi
    else
        echo "Sertifikāta fails nav atrasts: $CERT_FILE" 2>&1
        exit 1
    fi
    
  4. Prometheus + Grafana:
    • Prometheus apkopo metrikas par sertifikātu derīguma termiņu (piemēram, caur Node Exporter, Blackbox Exporter ārējiem pārbaudījumiem, cert-manager metrikas).
    • Es konfigurēju brīdinājumus Alertmanager, kas brīdina par tuvojošos derīguma termiņa beigām.
    • Grafana tiek izmantota, lai vizualizētu visu sertifikātu stāvokli, veidotu panelus ar derīguma termiņiem.
  5. Ārējo pakalpojumu uzraudzība:
    • Es izmantoju Blackbox Exporter, lai uzraudzītu pakalpojumu pieejamību caur HTTPS un pārbaudītu sertifikātu derīgumu no ārpuses.
    modules:
      http_2xx:
        prober: http
        timeout: 5s
        http:
          preferred_ip_protocol: "ipv4"
          tls_config:
            insecure_skip_verify: false # Sertifikāta derīguma pārbaude
    

Proces izskatās šādi:

  • Izdošana: Automātiski caur Vault vai Cert-Manager.
  • Inventarizācija/Datumu vākšana: Skripti vai iebūvēti mehānismi apkopo metrikas.
  • Agrēgācija/Uzraudzība: Prometheus apkopo metrikas, Alertmanager brīdina par tuvojošos derīguma termiņa beigām.
  • Vizuālā attēlošana: Grafana rāda visu sertifikātu stāvokli.
  • Atjaunināšana: Automātiska (Cert-Manager) vai pusautomātiska (caur Ansible/Terraform un Vault).

Šis ir centrālais pieejas veids, kas ļauj pilnībā redzēt sertifikātu stāvokli visās uzraudzītajās iekārtās un pakalpojumos, kā arī samazina pārtraukumus, kas radušies no derīguma termiņa beigām.