Sobes.tech
Middle+

Son cihazlarda sertifika durumunu güncellemek ve izlemek için hangi merkezi araçları kullanıyorsunuz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Sertifikaların merkezi yönetimi ve izlenmesi için aşağıdaki araçları kullanıyorum:

  1. HashiCorp Vault:
    • Secrets Engine pki. API aracılığıyla sertifikaları verme ve iptal etme imkanı sağlar. Ansible, Terraform, Kubernetes ile entegre olur.
    • Hizmetler için (TLS, mTLS) sertifikaları otomatik oluşturmak ve güncellemek için kullanıyorum.
  2. Cert-Manager (Kubernetes için):
    • Kubernetes ile yerel olarak entegre olur ve farklı Issuer'lerden (Let's Encrypt, Vault, dahili CA) otomatik sertifika verme sağlar.
    • Sertifika durumları, certmanager_certificate_expiration_timestamp_seconds metrikleri aracılığıyla izlenir ve Prometheus'e sunulur.
  3. OpenSSL + özel betikler:
    • Sunuculardaki mevcut sertifikaları envanterlemek için.
    • Betikler, geçerlilik süresi (openssl x509 -noout -enddate -in certificate.pem), issuer ve Subject bilgilerini toplar.
    • Sonuçlar merkezi bir sisteme (örneğin, Prometheus, Grafana) toplanır.
#!/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 "Bitiş tarihi ayrıştırılırken hata." 2>&1
        exit 1
    fi
else
    echo "Sertifika dosyası bulunamadı: $CERT_FILE" 2>&1
    exit 1
fi
  1. Prometheus + Grafana:
    • Prometheus, sertifikaların geçerlilik süresi hakkında metrikler toplar (örneğin, Node Exporter, dış denetimler için Blackbox Exporter, cert-manager metrikleri aracılığıyla).
    • Sertifikanın süresi yaklaşırken Alertmanager'da uyarılar yapılandırılır.
    • Grafana, tüm sertifikaların durumunu görselleştirmek ve son kullanma tarihleriyle paneller oluşturmak için kullanılır.
  2. Dış servislerin izlenmesi:
    • Blackbox Exporter kullanarak HTTPS üzerinden servislerin erişilebilirliğini ve sertifika geçerliliğini dışarıdan kontrol ediyorum.
modules:
  http_2xx:
    prober: http
    timeout: 5s
    http:
      preferred_ip_protocol: "ipv4"
      tls_config:
        insecure_skip_verify: false # Sertifika geçerliliğini kontrol et

İşlem şu şekilde işler:

  • Verme: Vault veya Cert-Manager aracılığıyla otomatik.
  • Envanter/Veri toplama: Betikler veya entegre eden exporterlar metrikleri toplar.
  • Toplama/İzleme: Prometheus metrikleri toplar, Alertmanager yaklaşan sona dair uyarılar gönderir.
  • Görselleştirme: Grafana, tüm sertifikaların durumunu gösterir.
  • Güncelleme: Otomatik (Cert-Manager) veya yarı otomatik (Ansible/Terraform ile Vault kullanarak).

Bu merkezi bir yaklaşımdır ve tüm kontrol edilen cihazlar ve servislerde sertifikaların durumunu tam olarak görmenizi sağlar, süresi dolmuş sertifikalardan kaynaklanan kesintileri minimize eder.