Erkennen und alarmieren Sie bei verdächtigen Aktivitäten in laufenden Containern oder auf Cluster-Knoten.
→Stellen Sie Falco als DaemonSet bereit. Falco verwendet eBPF oder ein Kernelmodul, um Systemaufrufe zu überwachen und bei abnormalem Verhalten basierend auf seinem Regelsatz (z. B. Shell im Container, unerwartete Netzwerkverbindungen) zu alarmieren.
Warum: Falco bietet Echtzeit-Transparenz über das Laufzeitverhalten und ermöglicht die Erkennung von Bedrohungen wie Container-Escapes, Kryptomining oder Datenexfiltration, die statische Scans nicht erkennen können.
Referenz↗
Eine Standard-Falco-Regel erzeugt zu viele Fehlalarme.
→Erstellen Sie eine benutzerdefinierte Falco-Regeldatei, um die Standardregel zu überschreiben. Fügen Sie Ausnahmen zur `condition` der Regel hinzu, um bekanntes gutes Verhalten auszuschließen, wie z. B. bestimmte Prozesse oder Container-Images (z. B. `and not container.image.repository contains "debug"`).
Warum: Das Anpassen von Regeln ist entscheidend für die Operationalisierung der Laufzeit-Sicherheit. Die Reduzierung von Rauschen stellt sicher, dass Sicherheitsteams sich auf umsetzbare, hochprioritäre Alarme konzentrieren können.
Protokollieren Sie ein chronologisches, unveränderliches Protokoll aller Aktionen, die gegen die Kubernetes-API vorgenommen wurden.
→Aktivieren Sie das Audit-Logging auf dem `kube-apiserver`, indem Sie die Flags `--audit-policy-file` und `--audit-log-path` bereitstellen. Konfigurieren Sie die Richtlinie, um zu definieren, was und auf welcher Ebene protokolliert wird.
Warum: Audit-Logs sind unerlässlich für Sicherheitsanalysen, Vorfallsuntersuchungen und Compliance. Sie bieten eine definitive Aufzeichnung darüber, wer wann was getan hat.
Referenz↗
Auditieren Sie den Zugriff auf sensible Ressourcen wie Secrets, ohne den Inhalt des Secrets selbst zu protokollieren.
→Konfigurieren Sie die Audit-Richtlinienregel für Secrets so, dass sie `level: Metadata` verwendet. Dies protokolliert den Benutzer, Zeitstempel, Ressource und Verb, lässt jedoch die Request- und Response-Bodies weg.
Warum: Dies schafft Verantwortlichkeit dafür, wer auf Secrets zugreift, ohne ein neues Sicherheitsrisiko durch das Schreiben sensibler Daten in die Audit-Logs zu schaffen.
Aggregieren Sie Logs von allen Cluster-Komponenten und Anwendungen für eine zentrale Analyse.
→Stellen Sie einen Log-Sammel-Agenten (z. B. Fluentd, Vector) als DaemonSet bereit, um Logs von Knoten zu sammeln und an ein zentrales SIEM oder Log-Management-System (z. B. Elasticsearch, Splunk) weiterzuleiten.
Warum: Zentralisiertes Logging ist entscheidend für die Korrelation von Ereignissen im gesamten Cluster während einer Vorfallsuntersuchung und für die Aufbewahrung langfristiger Aufzeichnungen zur Compliance.
Leiten Sie Falco-Sicherheitsalarme an ein externes System zur Benachrichtigung und Reaktion weiter.
→Stellen Sie `Falcosidekick` zusammen mit Falco bereit. Konfigurieren Sie es so, dass es Alarme von Falco empfängt und an Ausgaben wie Slack, PagerDuty oder ein SIEM weiterleitet.
Warum: Falcosidekick bietet einen flexiblen und robusten Mechanismus zur Integration der Echtzeit-Alarme von Falco in bestehende Betriebs- und Sicherheits-Workflows.
Erkennen Sie, ob ein laufender Container modifiziert wurde, was auf eine Kompromittierung hindeuten könnte.
→Erzwingen Sie unveränderliche Container mit `readOnlyRootFilesystem: true`. Verwenden Sie ein Laufzeit-Sicherheitstool wie Falco, um Dateischreibvorgänge an unerwarteten Speicherorten zu überwachen und darauf hinzuweisen.
Warum: In einem unveränderlichen Modell werden Container zur Laufzeit nie geändert; sie werden ersetzt. Jede Abweichung von diesem Muster ist ein starker Indikator für eine potenzielle Sicherheitsverletzung.