Übersicht

NeuVector 5.x ist eine Open-Source-Sicherheitsplattform, die containerzentriert ist und mit Rancher integriert ist. NeuVector bietet Echtzeit-Compliance, Sichtbarkeit und Schutz für kritische Anwendungen und Daten während der Laufzeit. NeuVector stellt eine Firewall, eine Überwachung der Container-Prozesse und des Dateisystems, Sicherheitsaudits mit CIS-Benchmarks sowie Schwachstellenscans bereit. Für weitere Informationen zur Sicherheit von Rancher siehe bitte die Sicherheitsdokumentation.

NeuVector kann über ein Helm-Chart aktiviert werden, das entweder über Apps oder über die Schaltfläche Cluster-Tools in der Rancher-Benutzeroberfläche installiert werden kann. Sobald das Helm-Chart installiert ist, können Benutzer einfach NeuVector-Cluster innerhalb von Rancher bereitstellen und verwalten.

Installation von SUSE Security mit Rancher

Das Harvester Helm-Chart wird verwendet, um den Zugriff auf die NeuVector-Benutzeroberfläche in Rancher zu verwalten, wo Benutzer direkt navigieren können, um ihre NeuVector-Cluster bereitzustellen und zu verwalten.

Um zum NeuVector-Chart über Apps zu navigieren und es zu installieren:

  1. Klicken Sie auf ☰ > Clusterverwaltung.

  2. Gehen Sie auf die Cluster-Seite, wählen Sie den Cluster, in dem Sie NeuVector bereitstellen möchten, und klicken Sie auf Erforschen.

  3. Gehen Sie zu Apps  Charts und installieren Sie NeuVector aus dem Chart-Repo.

  4. Verschiedene Cluster-Typen erfordern unterschiedliche Container-Laufzeiten. Beim Konfigurieren der Helm-Chart-Werte gehen Sie zum Abschnitt Container-Laufzeit und wählen Sie Ihre Laufzeit entsprechend dem Cluster-Typ aus. Klicken Sie schließlich erneut auf Installieren.

Einige Beispiele sind wie folgt:

  • K3s und RKE2: k3scontainerd

  • AKS: containerd für v1.19 und höher

  • EKS: docker für v1.22 und darunter; containerd für v1.23 und höher

  • GKE: containerd (siehe die Google-Dokumentation für mehr)

Es kann während der Installation jeweils nur eine Container-Laufzeit ausgewählt werden.

Um über Cluster-Tools zum NeuVector-Chart zu gelangen und es zu installieren:

  1. Klicken Sie auf ☰ > Clusterverwaltung.

  2. Gehen Sie auf die Cluster-Seite, wählen Sie den Cluster, in dem Sie NeuVector bereitstellen möchten, und klicken Sie auf Erforschen.

  3. Klicken Sie auf Cluster-Tools am unteren Ende der linken Navigationsleiste.

  4. Wiederholen Sie Schritt 4 oben, um Ihre Container-Laufzeit entsprechend auszuwählen, und klicken Sie dann erneut auf Installieren.

Zugriff auf SUSE Security über die Rancher-Benutzeroberfläche

  1. Navigieren Sie zum Cluster-Explorer des Clusters, in dem NeuVector installiert ist. Klicken Sie in der linken Navigationsleiste auf NeuVector.

  2. Klicken Sie auf den externen Link, um zur NeuVector-Benutzeroberfläche zu gelangen. Sobald der Link ausgewählt ist, müssen die Benutzer die END USER LICENSE AGREEMENT akzeptieren, um auf die NeuVector-Benutzeroberfläche zuzugreifen.

Deinstallation von SUSE Security über die Rancher-Benutzeroberfläche

Um von Apps zu deinstallieren:

  1. Klicken Sie auf ☰ > Clusterverwaltung.

  2. Unter Apps klicken Sie auf Installierte Apps.

  3. Unter cattle-neuvector-system wählen Sie sowohl die NeuVector-App (und die zugehörige CRD, falls gewünscht) aus und klicken Sie dann auf Löschen.

Um von Cluster-Tools zu deinstallieren:

  1. Klicken Sie auf ☰ > Clusterverwaltung.

  2. Klicken Sie auf Cluster-Tools unten links auf dem Bildschirm und dann auf das Papierkorb-Symbol unter dem NeuVector-Chart. Wählen Sie Delete the CRD associated with this app nach Wunsch aus und klicken Sie dann auf Löschen.

GitHub-Repository

Das NeuVector-Projekt ist hier verfügbar.

Dokumentation

Die NeuVector-Dokumentation ist hier verfügbar.

Architektur

Die NeuVector-Sicherheitslösung enthält vier Arten von Sicherheitscontainern: Controller, Enforcer, Manager und Scanner. Ein spezieller Container namens All-in-One wird ebenfalls bereitgestellt, um die Funktionen von Controller, Enforcer und Manager in einem einzigen Container zu kombinieren, hauptsächlich für Docker-native Implementierungen. Es gibt auch einen Updater, der, wenn er ausgeführt wird, die CVE-Datenbank aktualisiert.

  • Controller: Verwaltet den NeuVector Enforcer-Container; bietet REST-APIs für die Verwaltungs-Konsole.

  • Enforcer: Durchsetzen von Sicherheitsrichtlinien.

  • Manager: Bietet eine Web-UI und CLI-Konsole zur Verwaltung der NeuVector-Plattform.

  • All-in-One: Beinhaltet den Controller, Enforcer und Manager.

  • Scanner: Führt die Schwachstellen- und Compliance-Scans für Images, Container und Knoten durch.

  • Updater: Aktualisiert die CVE-Datenbank für NeuVector (wenn ausgeführt); stellt Scanner-Pods neu bereit.

NeuVector Sicherheitscontainer
Figure 1. NeuVector Sicherheitscontainer
NeuVector Architecture
Figure 2. NeuVector Architektur

Um mehr über die Architektur von NeuVector zu erfahren, lesen Sie bitte hier.

CPU- und Speicherzuweisungen

Im Folgenden sind die minimal empfohlenen Rechenressourcen für die NeuVector-Chart-Installation in einer Standardimplementierung aufgeführt. Beachten Sie, dass das Ressourcenlimit nicht festgelegt ist.

Container CPU - Anfrage Speicher - Anfrage

Controller

3 (1GB 1vCPU pro Controller benötigt)

*

Enforcer

Auf allen Knoten (500MB .5vCPU)

1GB

manager

1 (500MB .5vCPU)

*

Scanner

3 (100MB .5vCPU)

*

  • Mindestens 1GB Gesamtspeicher für Controller, Manager und Scanner-Container erforderlich.

Gehärtete Clusterunterstützung - Calico und Canal

RKE2

  • NeuVector-Komponenten Controller und Enforcer können bereitgestellt werden, wenn PSP auf true gesetzt ist.

Gilt nur für NeuVector-Chart-Version 100.0.0+up2.2.0:

  • Für Manager-, Scanner- und Updater-Komponenten sind zusätzliche Konfigurationen erforderlich, wie unten gezeigt:

    kubectl patch deploy neuvector-manager-pod -n cattle-neuvector-system --patch '{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}'
    kubectl patch deploy neuvector-scanner-pod -n cattle-neuvector-system --patch '{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}'
    kubectl patch cronjob neuvector-updater-pod -n cattle-neuvector-system --patch '{"spec":{"jobTemplate":{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}}}'

    Sie müssen zusätzliche Konfigurationen für Ihre gehärtete Cluster-Umgebung festlegen.

    Sie müssen Ihre Konfiguration sowohl in RKE2 als auch in K3s gehärteten Clustern wie unten gezeigt aktualisieren.
    1. Klicken Sie auf ☰ > Clusterverwaltung.

    2. Gehen Sie zu dem Cluster, das Sie erstellt haben, und klicken Sie auf Erforschen.

    3. Klicken Sie in der linken Navigationsleiste auf Apps.

    4. Installieren (oder aktualisieren auf) NeuVector-Version 100.0.1+up2.2.2.

      1. Unter Optionen bearbeiten > Weitere Konfiguration aktivieren Sie Pod-Sicherheitsrichtlinie, indem Sie das Kästchen ankreuzen. Beachten Sie, dass Sie auch einen Wert größer als zero für Manager runAsUser ID, Scanner runAsUser ID und Updater runAsUser ID eingeben müssen:

        PSP für RKE2 und K3s gehärtete Cluster aktivieren
    5. Klicken Sie auf Installieren unten rechts, um abzuschließen.

SELinux-aktivierte Clusterunterstützung – Calico und Canal

Um SELinux in RKE2-Clustern zu aktivieren, befolgen Sie die folgenden Schritte:

  • NeuVector-Komponenten Controller und Enforcer können bereitgestellt werden, wenn PSP auf true gesetzt ist.

Gilt nur für NeuVector-Chart-Version 100.0.0+up2.2.0:

  • Für Manager-, Scanner- und Updater-Komponenten sind zusätzliche Konfigurationen erforderlich, wie unten gezeigt:

kubectl patch deploy neuvector-manager-pod -n cattle-neuvector-system --patch '{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}'
kubectl patch deploy neuvector-scanner-pod -n cattle-neuvector-system --patch '{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}'
kubectl patch cronjob neuvector-updater-pod -n cattle-neuvector-system --patch '{"spec":{"jobTemplate":{"spec":{"template":{"spec":{"securityContext":{"runAsUser": 5400}}}}}}}'

Clusterunterstützung in einer Air-Gapped-Umgebung

  • Alle NeuVector-Komponenten sind in einem Cluster in einer Air-Gapped-Umgebung ohne zusätzliche Konfiguration einsetzbar.

Unterstützungsbeschränkungen

  • Derzeit werden nur Administratoren und Clusterbesitzer unterstützt.

  • Die Bereitstellung von Fleet in mehreren Clustern wird nicht unterstützt.

  • NeuVector wird in einem Windows-Cluster nicht unterstützt.

Weitere Einschränkungen

  • Derzeit schlägt die Bereitstellung des NeuVector-Feature-Charts fehl, wenn bereits ein NeuVector-Partner-Chart vorhanden ist. Um dieses Problem zu umgehen, deinstallieren Sie das NeuVector-Partner-Chart und installieren Sie das NeuVector-Feature-Chart erneut.

  • Manchmal ist die NeuVector-Benutzeroberfläche nicht über die Rancher-Benutzeroberfläche zugänglich, wenn die Controller nicht bereit sind. In dieser Zeit versuchen die Controller, neu zu starten, und es dauert einige Minuten, bis die Controller aktiv sind.

  • Die Container-Laufzeit wird beim Installieren des NeuVector-Charts für verschiedene Clusterarten nicht automatisch erkannt. Um dies zu umgehen, können Sie die Laufzeit manuell angeben.