Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Présentation

NeuVector 5.x est une plateforme de sécurité centrée sur les conteneurs, Open Source, qui est intégrée à Rancher. NeuVector offre une conformité en temps réel, une visibilité et une protection pour les applications critiques et les données pendant l’exécution. NeuVector fournit une passerelle de périmètre de sécurité, une surveillance des processus des conteneurs et du système de fichiers, un audit de sécurité avec des normes CIS, et une analyse de vulnérabilités. Pour plus d’informations sur la sécurité de Rancher, veuillez consulter la documentation de sécurité.

NeuVector peut être activé via un graphique Helm qui peut être installé soit par Apps, soit par le bouton Outils de Cluster dans l’interface utilisateur de Rancher. Une fois le graphique Helm installé, les utilisateurs peuvent facilement déployer et gérer des clusters NeuVector au sein de Rancher.

Installer SUSE Security avec Rancher

Le graphique Helm de Harvester est utilisé pour gérer l’accès à l’interface utilisateur de NeuVector dans Rancher, où les utilisateurs peuvent naviguer directement pour déployer et gérer leurs clusters NeuVector.

Pour naviguer et installer le graphique NeuVector via Apps :

  1. Cliquez sur ☰ > Gestion des clusters.

  2. Sur la page des Clusters, allez au cluster où vous souhaitez déployer NeuVector, et cliquez sur Explorer.

  3. Allez à Apps  Charts, et installez NeuVector depuis le dépôt de graphiques.

  4. Différents types de clusters nécessitent différents environnements d’exécution de conteneur. Lors de la configuration des valeurs du graphique Helm, allez à la section Environnement d’exécution de conteneur, et sélectionnez votre environnement d’exécution de conteneur en fonction du type de cluster. Enfin, cliquez à nouveau sur Installer.

Voici quelques exemples :

  • K3s et RKE2 : k3scontainerd

  • AKS : containerd pour v1.19 et supérieur

  • EKS : docker pour v1.22 et inférieur ; containerd pour v1.23 et supérieur

  • GKE : containerd (voir le documents Google pour plus d’informations)

Un seul environnement d’exécution de conteneur peut être sélectionné à la fois lors de l’installation.

Pour naviguer et installer le graphique NeuVector via les Outils de Cluster :

  1. Cliquez sur ☰ > Gestion des clusters.

  2. Sur la page des Clusters, allez au cluster où vous souhaitez déployer NeuVector, et cliquez sur Explorer.

  3. Cliquez sur Outils de Cluster en bas de la barre de navigation à gauche.

  4. Répétez l’étape 4 ci-dessus pour sélectionner votre environnement d’exécution de conteneur en conséquence, puis cliquez à nouveau sur Installer.

Accéder à SUSE Security depuis l’interface utilisateur Rancher

  1. Naviguez vers l’explorateur de cluster du cluster où NeuVector est installé. Dans la barre de navigation à gauche, cliquez sur NeuVector.

  2. Cliquez sur le lien externe pour accéder à l’interface utilisateur de NeuVector. Une fois le lien sélectionné, les utilisateurs doivent accepter le END USER LICENSE AGREEMENT pour accéder à l’interface utilisateur de NeuVector.

Désinstallation de SUSE Security depuis l’interface utilisateur Rancher

Pour désinstaller depuis les Applis :

  1. Cliquez sur ☰ > Gestion des clusters.

  2. Sous Apps, cliquez sur Applis installées.

  3. Sous cattle-neuvector-system, sélectionnez à la fois l’appli NeuVector (et le CRD associé si désiré), puis cliquez sur Supprimer.

Pour désinstaller depuis les Outils de Cluster :

  1. Cliquez sur ☰ > Gestion des clusters.

  2. Cliquez sur Outils de Cluster en bas à gauche de l’écran, puis cliquez sur l’icône de la corbeille sous le graphique NeuVector. Sélectionnez Delete the CRD associated with this app si désiré, puis cliquez sur Supprimer.

Dépôt GitHub

Le projet NeuVector est disponible ici.

Documentation

La documentation de NeuVector est ici.

Architecture

La solution de sécurité NeuVector contient quatre types de conteneurs de sécurité : Contrôleurs, Enforcers, Managers et Scanners. Un conteneur spécial, appelé All-in-One, est également fourni pour combiner dans un seul conteneur les fonctions de contrôleur, d’enforcer et de manager, principalement pour les déploiements natifs Docker. Il y a également un Updater qui, lorsqu’il est exécuté, mettra à jour la base de données CVE.

  • Contrôleur : Gère le conteneur Enforcer de NeuVector ; fournit des API REST pour la console de gestion.

  • Enforcer : Applique les politiques de sécurité.

  • Gestionnaire : Fournit une interface web et une console CLI pour gérer la plateforme NeuVector.

  • All-in-One: Inclut le Contrôleur, l’Enforcer et le Manager.

  • Scanner Effectue l’analyse des vulnérabilités et de la conformité pour les images, les conteneurs et les nœuds.

  • Updater Met à jour la base de données CVE pour NeuVector (lorsqu’il est exécuté) ; redéploie les pods de scanner.

Conteneurs de sécurité NeuVector
Figure 1. Conteneurs de sécurité NeuVector
NeuVector Architecture
Figure 2. NeuVector Architecture

Pour en savoir plus sur l’architecture de NeuVector, veuillez vous référer ici.

Allocations d’UC et de mémoire

Ci-dessous se trouvent les ressources informatiques minimales recommandées pour l’installation du graphique NeuVector dans un déploiement par défaut. Notez que la limite de ressources n’est pas définie.

Conteneur UC - Demande Mémoire - Demande

Contrôleur

3 (1 Go 1 vCPU requis par contrôleur)

*

Enforcer

Sur tous les nœuds (500 Mo .5 vCPU)

1GB

Gestionnaire

1 (500 Mo .5 vCPU)

*

Scanner

3 (100 Mo .5 vCPU)

*

  • Un minimum de 1 Go de mémoire au total est requis pour les conteneurs Controller, Manager et Scanner combinés.

Support de cluster renforcé - Calico et Canal

RKE2

  • Les composants Controller et Enforcer de NeuVector sont déployables si PSP est activé.

Applicable uniquement à la version 100.0.0+up2.2.0 du graphique NeuVector :

  • Pour les composants Manager, Scanner et Updater, une configuration supplémentaire est requise comme indiqué ci-dessous :

    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}}}}}}}'

    Vous devrez définir une configuration supplémentaire pour votre environnement de cluster renforcé.

    Vous devez mettre à jour votre configuration dans les clusters renforcés RKE2 et K3s comme indiqué ci-dessous.
    1. Cliquez sur ☰ > Gestion des clusters.

    2. Allez au cluster que vous avez créé et cliquez sur Explorer.

    3. Dans la barre de navigation à gauche, cliquez sur Applis.

    4. Installez (ou mettez à niveau vers) la version NeuVector 100.0.1+up2.2.2.

      1. Sous Edit Options > Other Configuration, activez Pod Security Policy en cochant la case. Notez que vous devez également entrer une valeur supérieure à zero pour Manager runAsUser ID, Scanner runAsUser ID et Updater runAsUser ID :

        Activer PSP pour les clusters renforcés RKE2 et K3s
    5. Cliquez sur Installer en bas à droite pour terminer.

Support de cluster avec SELinux activé - Calico et Canal

Pour activer SELinux sur les clusters RKE2, suivez les étapes ci-dessous :

  • Les composants Controller et Enforcer de NeuVector sont déployables si PSP est activé.

Applicable uniquement à la version 100.0.0+up2.2.0 du graphique NeuVector :

  • Pour les composants Manager, Scanner et Updater, une configuration supplémentaire est requise comme indiqué ci-dessous :

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}}}}}}}'

Support de cluster dans un environnement isolé physiquement

  • Tous les composants NeuVector sont déployables sur un cluster dans un environnement isolé physiquement sans configuration supplémentaire requise.

Limitations du support

  • Seuls les administrateurs et les propriétaires de cluster sont actuellement pris en charge.

  • Le déploiement multi-cluster de Fleet n’est pas pris en charge.

  • NeuVector n’est pas pris en charge sur un cluster Windows.

Autres limitations

  • Actuellement, l’installation du tableau des fonctionnalités de NeuVector échoue lorsqu’un tableau partenaire de NeuVector existe déjà. Pour contourner ce problème, désinstallez le tableau partenaire de NeuVector et réinstallez le tableau des fonctionnalités de NeuVector.

  • Parfois, lorsque les contrôleurs ne sont pas prêts, l’interface utilisateur de NeuVector n’est pas accessible depuis l’interface utilisateur de Rancher. Pendant ce temps, les contrôleurs essaieront de redémarrer, et il faut quelques minutes pour que les contrôleurs soient actifs.

  • L’environnement d’exécution de conteneur n’est pas détecté automatiquement pour différents types de cluster lors de l’installation du tableau NeuVector. Pour contourner cela, vous pouvez spécifier l’environnement d’exécution de conteneur manuellement.