
Antivirus für K8s. Schützen Sie Ihre auf Kubernetes laufenden Anwendungen vor bösartigen Angriffen mit vorregistriertem Quellcode, Überwachung von Laufzeitprozessen, Analysen, Benachrichtigungen und auch der Weitergabe von Erkennungen an die Community. Vielleicht schützt es vor Ransomware.
Wir möchten dies als Open Source erhalten, um gegen Angriffe auf unser geliebtes Kubernetes-Ökosystem zu kämpfen. Gemeinsam als Community können wir Bedrohungen durch kontinuierliche Beiträge bekämpfen.
Wie funktioniert Tarian?
Tarian läuft als Sidecar-Container im Pod Ihrer Hauptanwendung und überwacht Änderungen an Prozess-IDs, der Anzahl laufender Prozesse, Änderungen in Eltern-Kind-Prozessbeziehungen, Dateien und Verzeichnissen im Dateisystem, die zu Ihrer Anwendung gehören, Änderungen an Ihren Dateisignaturen usw. Tarian ist von der Entwicklungs- bis zur Produktionsumgebung Teil des Pods Ihrer Anwendung, sodass Sie in Ihrer Tarian-DB registrieren können, was in Ihrem Container passieren und laufen soll + was überwacht werden kann + was benachrichtigt werden kann + Aktion (Selbstzerstörung des Pods) basierend auf erkannten Änderungen. Verlagern Sie Ihren Erkennungsmechanismus nach links!
Was passiert, wenn eine unbekannte Änderung im Container auftritt, die nicht in der Registrierungsdatenbank von Tarian enthalten ist? Wie reagiert Tarian darauf?
Wenn eine unbekannte Änderung auftritt, kann Tarian einfach beobachtete Analysen an Ihr Sicherheitsteam melden und das Protokoll an das Sicherheitsteam senden. Ihre Sicherheitsingenieure können diese Änderung dann in der Tarian-DB registrieren, entweder als Bedrohung oder nicht, und basierend auf ihrer Analyse konfigurieren, welche Maßnahme ergriffen werden soll. Diese Aktion wird dann als Befehl an die Sidecar-Tarian-App gesendet, um die Aktion auszuführen.
Wie hilft der Beitrag der Community im Kampf gegen Bedrohungen durch Tarian?
Jede neue Erkennung, die von Ihren Sicherheitsexperten analysiert und als Bedrohung eingestuft wird, kann – wenn sie dies wünschen – mit allen Protokollen, zu suchenden Strings, Beobachtungen, Transparenz, zu konfigurierenden Aktionen, im Grunde alles, wovor der Experte warnen und was er mit der Community teilen möchte, an die Open-Source-Tarian-Community-DB weitergegeben werden. Sie können diese Informationen als Tarian-Benutzer nutzen und Aktionen in Ihrer Tarian-App konfigurieren, die Sie in Ihrer Umgebung verwenden. Im Grunde werden so Informationen über Bedrohungen und deren Behandlung geteilt. Dies hilft allen Tarian-Benutzern, ihre Analysen zu teilen und gemeinsam in ihren jeweiligen K8s-Umgebungen Maßnahmen zu ergreifen, indem Wissen und Erfahrung geteilt werden.
Welche Art von Aktion(en) würde Tarian basierend auf bekannten Bedrohungen ergreifen?
Tarian würde einfach den Pod, auf dem es läuft, selbst zerstören und alle Dateien auf den Volumes löschen, um das Risiko zu verringern. Wenn sich die Malware/der Virus auf die restliche Umgebung ausbreitet, wissen Sie, was passiert. Tarian ist also im Grunde darauf ausgelegt, das Risiko so weit wie möglich zu reduzieren, indem Pods zerstört werden. Die Bereitstellung neuer Pods wird von K8s übernommen, da K8s so funktioniert. Tarian wird nur Pods zerstören, und zwar nur, wenn Sie Tarian dazu anweisen, indem Sie die Aktion im Tarian-Controller vorkonfigurieren oder Tarian anweisen, dies spontan zu tun. Wenn Sie keine Aktionen wünschen, müssen Sie keine konfigurieren oder auslösen; Sie können Tarian einfach anweisen, Sie nur zu benachrichtigen. Tarian macht im Grunde das, was Sie tun möchten, um das Risiko zu reduzieren.
Warum ein weiteres neues Sicherheitstool, wenn es bereits viele Tools gibt, wie Falco, Kube-Hunter, Kube-Bench, Calico Enterprise Security und viele weitere Sicherheitstools (Open Source und kommerziell), die Bedrohungen auf Netzwerk-, Infrastruktur- und Anwendungsebene erkennen und verhindern können? Warum Tarian?
Wie oben erwähnt, wurde Tarian hauptsächlich aus dem Grund ins Leben gerufen, gemeinsam als Community gegen Bedrohungen in Kubernetes zu kämpfen. Ein weiterer Grund war: Was ist, wenn es immer noch einen ausgeklügelten Angriff gibt, der jede Ihrer Sicherheitsschichten durchdringen kann, Ihre Laufzeitanwendung und Ihre Speichervolumes erreicht und sich ausbreiten kann, um Ihre Infrastruktur und Daten zu beschädigen oder zu sperren? Was möchten Sie gegen solche Angriffe tun, insbesondere wenn sie zu Ransomware werden? Tarian wurde entwickelt, um solche Risiken zu reduzieren, indem es Maßnahmen ergreift. Wir wissen, dass Tarian keine ultimative Lösung ist, aber wir sind zuversichtlich, dass es helfen kann, Risiken zu reduzieren, insbesondere wenn Wissen kontinuierlich von der Community geteilt wird und Tarian aus technischer Sicht helfen kann, das Risiko durch die Zerstörung infizierter Ressourcen zu reduzieren.
Ich werde das Designdiagramm bald fertigstellen, sobald ich mit einigen Sicherheitsexperten gesprochen habe (ich habe bereits mit einigen gesprochen und habe noch ein paar weitere Diskussionen offen).
kubectl create namespace tarian-system
helm install tarian-postgresql bitnami/postgresql -n tarian-system \
--set postgresqlUsername=postgres \
--set postgresqlPassword=tarian \
--set postgresqlDatabase=tarian
helm repo add tarian https://devopstoday11.github.io/tarian
helm repo update
helm install tarian-server tarian/tarian-server --devel -n tarian-system
helm install tarian-cluster-agent tarian/tarian-cluster-agent --devel -n tarian-system
kubectl wait --for=condition=ready pod --all -n tarian-system
kubectl exec -ti deploy/tarian-server -n tarian-system -- ./tarian-server db migrate
Siehe Helm Chart-Werte für
kubectl port-forward svc/tarian-server -n tarian-system 41051:80
export TARIAN_SERVER_ADDRESS=localhost:41051
tarianctl get events
tarianctl add constraint --name nginx --namespace default \
--match-labels run=nginx \
--allowed-processes=pause,tarian-pod-agent,nginx