Sobes.tech
Middle+

Koje centralizovane alate koristite za ažuriranje i praćenje stanja sertifikata na krajnjim uređajima?

sobes.tech АИ

Одговор од АИ

За централизовано управљање и праћење сертификата користим следеће алате:

  1. HashiCorp Vault:
    • Secrets Engine pki. Омогућава издавање и повлачење сертификата преко API-ја. Интегрише се са Ansible, Terraform, Kubernetes.
    • Користим за аутоматско креирање и ажурирање сертификата за сервисе (TLS, mTLS).
  2. Cert-Manager (за Kubernetes):
    • Нативно се интегрише са Kubernetes-ом за аутоматско издавање сертификата од различитих Issuer (Let's Encrypt, Vault, унутрашњи CA).
    • Статус сертификата прати се преко метрика certmanager_certificate_expiration_timestamp_seconds, које се експонишу за Prometheus.
  3. OpenSSL + прилагођени скриптови:
    • За инвентаризацију постојећих сертификата на серверима.
    • Скриптови прикупљају податке о року важења (openssl x509 -noout -enddate -in certificate.pem), информације о издавачу и Subject.
    • Резултати се агрегирају у централизован систем (нпр., Prometheus, Grafana).
    #!/bin/bash
    
    CERT_FILE=$1
    
    if [ -f "$CERT_FILE" ]; then
        # Добијање датума истека у формату YYYY-MM-DD HH:MM:SS
        END_DATE=$(openssl x509 -noout -enddate -in $CERT_FILE 2>/dev/null | cut -d= -f2)
        # Претварање у Unix timestamp
        END_TIMESTAMP=$(date -d "$END_DATE" +%s 2>/dev/null)
    
        if [ -n "$END_TIMESTAMP" ]; then
            echo "$END_TIMESTAMP"
        else
            echo "Грешка при парсирању датума истека." 2>&1
            exit 1
        fi
    else
        echo "Фајл сертификата није пронађен: $CERT_FILE" 2>&1
        exit 1
    fi
    
  4. Prometheus + Grafana:
    • Prometheus прикупља метрике о року важења сертификата (нпр., преко Node Exporter, Blackbox Exporter за спољашње провере, метрике cert-manager).
    • Подешавам аларме у Alertmanager-у за приближавање рока истека сертификата.
    • Grafana се користи за визуализацију стања сертификата, креирање панела са роковима важења.
  5. Мониторинг спољашњих сервиса:
    • Користим Blackbox Exporter за мониторинг доступности сервиса преко HTTPS и проверу валидности сертификата са спољашње стране.
    modules:
      http_2xx:
        prober: http
        timeout: 5s
        http:
          preferred_ip_protocol: "ipv4"
          tls_config:
            insecure_skip_verify: false # Проверa валидности сертификата
    

Процес изгледа овако:

  • Издавање: Аутоматизовано преко Vault или Cert-Manager.
  • Инвентаризација/Скупљање података: Скриптови или уграђени механизми прикупљају метрике.
  • Агрегација/Мониторинг: Prometheus прикупља метрике, Alertmanager обавештава о приближавању рока истека.
  • Визуелизација: Grafana приказује стање свих сертификата.
  • Ажурирање: Аутоматско (Cert-Manager) или полуавтоматско (преко Ansible/Terraform са Vault).

Ово је централизиран приступ који омогућава потпуну видљивост стања сертификата на свим контролисаним крајњим уређајима и сервисима и минимизира прекиде због истека сертификата.