Zum Hauptinhalt springen

Maßnahmen

Implementierung umfassender Audit-Log-Richtlinien in Kubernetes

Umfassende Audit-Protokollierung für die Kubernetes-API aktivieren

 

Konfigurieren Sie den Kubernetes-API-Server mit einer Audit-Richtlinie, die Schlüsselereignisse wie die Erstellung, Aktualisierung und Löschung von Ressourcen erfasst, wobei der Schwerpunkt auf sensiblen Ressourcen wie Geheimnissen liegt.

Vorteil: Die Erfassung detaillierter Protokolle sorgt für Transparenz bei kritischen API-Anfragen und ermöglicht eine bessere Überwachung, Erkennung und forensische Analyse von Aktivitäten innerhalb des Clusters.

 

Beispiel für eine Audit Policy Datei:

apiVersion: audit.k8s.io/v1

kind: Policy

rules:

- level: Metadata

  resources:

  - group: ""

    resources: ["pods", "services", "namespaces"]

- level: Request

  users: ["admin"]

  verbs: ["create", "update", "patch", "delete"]

- level: None

  users: ["system:serviceaccount:kube-system:default"]

  verbs: ["get", "list", "watch"]

- level: RequestResponse

  resources:

  - group: ""

    resources: ["secrets"]

  omitStages:

  - "RequestReceived"

 

Definieren Sie klare Richtlinien zur Aufbewahrung und Rotation von Protokollen

 

Richten Sie Aufbewahrungsrichtlinien ein, um sicherzustellen, dass Audit-Protokolle je nach den organisatorischen oder gesetzlichen Anforderungen für die erforderliche Dauer aufbewahrt werden. Implementieren Sie eine Protokollrotation, um die Größe der Protokolldateien zu verwalten und eine Erschöpfung der Festplatte zu verhindern.

Vorteil: Eine ordnungsgemäße Aufbewahrung stellt sicher, dass die Protokolle bei Bedarf für Prüfungen oder Untersuchungen zur Verfügung stehen, ohne dass übermäßig viele Ressourcen verbraucht werden.

Aufbewahrungskonfiguration:

--audit-log-maxage=30 --audit-log-maxbackup=10 --audit-log-maxsize=100

 

Sichere Protokollspeicherung und Zugriff

 

Speichern Sie Audit-Protokolle an einem sicheren Ort mit begrenztem Zugang. Implementieren Sie RBAC-Richtlinien (Role-Based Access Control), um sicherzustellen, dass nur autorisiertes Personal auf diese Protokolle zugreifen und sie verwalten kann.

Vorteil: Die Sicherung von Protokollen verhindert Manipulationen, unbefugten Zugriff oder versehentliches Löschen und gewährleistet so Datenintegrität und Compliance.

RBAC für Audit Log Zugriff:

apiVersion: rbac.authorization.k8s.io/v1

kind: Role

metadata:

  namespace: kube-system

  name: audit-log-reader

rules:

- apiGroups: [""]

  resources: ["pods/log"]

  verbs: ["get", "list"]

Überwachung und Alarmierung bei kritischen Ereignissen implementieren

 

Integrieren Sie Audit-Protokolle in Überwachungssysteme wie Prometheus, ELK Stack oder Splunk, um kritische Ereignisse zu verfolgen. Richten Sie Alarme für Aktionen mit hohen Berechtigungen ein, z. B. für Änderungen an Geheimnissen oder Dienstkonten.

Nutzen: Echtzeit-Überwachung und -Warnungen tragen dazu bei, verdächtige Aktivitäten sofort zu erkennen und darauf zu reagieren, wodurch das Risiko unentdeckter Sicherheitsverletzungen verringert wird.

Beispiel für den Prometheus-Alarm:

groups:

- name: KubernetesAuditLogs

  rules:

  - alert: HighPrivilegeAction

    expr: rate(kube_audit_event_count{verb="create", resource="secrets"}[1m]) > 1

    for: 5m

    labels:

      severity: critical

    annotations:

      summary: "High privilege action detected"

      description: "High privilege action ({{ $labels.verb }}) detected on resource {{ $labels.resource }} by user {{ $labels.user }}."

Eine gut implementierte Audit-Log-Richtlinie in Kubernetes stellt sicher, dass alle kritischen Aktionen, die über die API ausgeführt werden, überwacht und aufgezeichnet werden. Dies erhöht die Sicherheit, indem es Einblicke in Cluster-Aktivitäten bietet, die Einhaltung gesetzlicher Vorschriften erleichtert und die rechtzeitige Erkennung von Sicherheitsvorfällen ermöglicht. Durch die Festlegung klarer Aufbewahrungsrichtlinien, die Sicherung des Protokollzugriffs und die Einrichtung effektiver Überwachungs- und Warnsysteme können Unternehmen eine robuste Betriebssicherheit in ihren Kubernetes-Umgebungen gewährleisten.