Aller au contenu principal

NeuVector: Sécurisation et Conformité des Conteneurs Kubernetes

Kubernetes a révolutionné la manière dont les applications sont déployées et gérées. Cependant, avec cette évolution vient un ensemble complexe de défis en matière de sécurité. C'est ici que NeuVector entre en jeu. Fondé en 2015, NeuVector se spécialise dans la sécurisation et la conformité des environnements Kubernetes. Grâce à son approche innovante et son récent passage en open source, NeuVector offre une solution robuste pour protéger les conteneurs contre les vulnérabilités et les attaques.

Historique de NeuVector

NeuVector est né en 2015, au cœur de la Silicon Valley en Californie, avec une mission claire : offrir une solution robuste pour la sécurité des environnements Kubernetes. Cette initiative a vu le jour à un moment important, où l'utilisation des conteneurs commençait à gagner en popularité, soulignant un besoin pressant de solutions de sécurité dédiées.

Le tournant majeur pour NeuVector s'est produit en octobre 2021, lorsqu'il a été acquis par SUSE. Cette acquisition n'était pas seulement un témoignage de la valeur et de l'efficacité de NeuVector, mais elle a également marqué le début d'une nouvelle ère pour l'entreprise. SUSE, déjà bien établi dans le monde des solutions open source pour l'entreprise, a apporté une nouvelle dimension à NeuVector, en l'intégrant dans son écosystème plus large de solutions de gestion de clusters et d'infrastructures cloud.

En janvier 2022, SUSE a franchi une étape supplémentaire en ouvrant le code source de NeuVector, le rendant accessible à la communauté open source sous licence Apache 2.0. Cette décision a non seulement renforcé la position de NeuVector en tant que solution de sécurité de conteneurs de premier plan, mais a également ouvert de nouvelles voies pour l'innovation et la collaboration au sein de la communauté open source.

L'histoire de NeuVector est donc celle d'une croissance constante et d'une adaptation aux besoins changeants en matière de sécurité des conteneurs. En passant d'une startup prometteuse à un composant clé de l'offre de sécurité de SUSE Rancher, NeuVector continue de jouer un rôle essentiel dans la protection des environnements Kubernetes à travers le monde.

NeuVector et la Sécurité des Conteneurs Kubernetes

NeuVector s'est établi comme un leader dans la sécurisation des environnements Kubernetes, offrant une protection complète et en temps réel pour les conteneurs. La plate-forme se distingue par plusieurs fonctionnalités clés qui la rendent essentielle pour toute entreprise utilisant Kubernetes.

  • Conformité et Audit : Avec les réglementations de conformité devenant de plus en plus strictes, NeuVector fournit des outils robustes pour assurer la conformité des conteneurs. Il automatise les audits de sécurité, générant des rapports détaillés qui facilitent le maintien de la conformité aux normes telles que PCI DSS, HIPAA...

  • Détection et Prévention des Intrusions : NeuVector excelle dans la détection des comportements anormaux au sein des conteneurs et des réseaux de conteneurs. Il utilise un système avancé de détection des menaces qui surveille en continu le trafic réseau et les activités des conteneurs pour identifier et bloquer les tentatives d'intrusion et les comportements malveillants.

  • Protection en Profondeur : NeuVector implémente une stratégie de défense en profondeur, sécurisant non seulement le trafic réseau, mais aussi en inspectant et en contrôlant les processus au sein des conteneurs. Cette approche multicouche garantit une sécurité complète contre diverses menaces.

  • Intégration et Automatisation : La plate-forme s'intègre parfaitement avec les outils de CI/CD et les solutions d'orchestration de conteneurs, permettant une automatisation fluide des workflows. Cette intégration facilite l'implémentation de politiques de sécurité dès les premières étapes du cycle de vie du développement logiciel.

NeuVector dans l'Écosystème SUSE Rancher

L'intégration de NeuVector dans l'écosystème de SUSE Rancher offre une synergie importante, offrant une valeur ajoutée aux utilisateurs de SUSE Rancher et renforçant la position de NeuVector dans le domaine de la sécurité des conteneurs.

Avantages pour les Utilisateurs de SUSE Rancher : Les utilisateurs de SUSE Rancher qui adoptent NeuVector profitent de plusieurs avantages clés :

  • Sécurité Renforcée : NeuVector apporte une couche supplémentaire de sécurité, essentielle pour protéger les applications et les données dans les environnements Kubernetes gérés par SUSE Rancher.
  • Simplicité d'Intégration : L'intégration étroite entre NeuVector et SUSE Rancher simplifie le déploiement et la gestion de la sécurité des conteneurs, permettant aux utilisateurs de configurer et de surveiller la sécurité directement depuis l'interface SUSE Rancher.
  • Conformité Facilitée : Avec les outils de conformité de NeuVector, les utilisateurs peuvent facilement assurer que leurs déploiements Kubernetes respectent les normes de conformité pertinentes.

Installation de NeuVector

L'installation de NeuVector via Helm est une méthode efficace et largement adoptée pour déployer NeuVector sur des clusters Kubernetes. Voici comment procéder :

Prérequis :

  • Un cluster Kubernetes opérationnel. K3S par exemple, mais attention à lui allouer suffisamment de ressources !
  • Helm installé sur votre machine ou sur le poste de commande du cluster.

Ajoutez le chart Helm de NeuVector à votre configuration Helm. Cela vous permet d'accéder aux derniers charts Helm de NeuVector.

helm repo add neuvector https://neuvector.github.io/neuvector-helm/
helm repo update

Créez un espace de noms dédié à NeuVector dans votre cluster Kubernetes. Cela aide à isoler les ressources de NeuVector.

kubectl create namespace neuvector

Installez NeuVector en utilisant Helm. Vous pouvez spécifier la version du chart et d'autres paramètres selon vos besoins.

  helm install neuvector --namespace neuvector --create-namespace neuvector/core --set k3s.enabled=true
  NAME: neuvector
  LAST DEPLOYED: Fri Dec 15 08:19:33 2023
  NAMESPACE: neuvector
  STATUS: deployed
  REVISION: 1
  TEST SUITE: None
  NOTES:
  Get the NeuVector URL by running these commands:
    NODE_PORT=$(kubectl get --namespace neuvector -o jsonpath="{.spec.ports[0].nodePort}" services neuvector-service-webui)
    NODE_IP=$(kubectl get nodes --namespace neuvector -o jsonpath="{.items[0].status.addresses[0].address}")
    echo https://$NODE_IP:$NODE_PORT

Après l'installation, assurez-vous que tous les composants de NeuVector sont correctement déployés et fonctionnent.

kubectl get pods -n neuvector
NAME                                        READY   STATUS    RESTARTS   AGE
neuvector-manager-pod-b67bc8d74-xhnxl       1/1     Running   0          4m51s
neuvector-enforcer-pod-9hfbb                1/1     Running   0          4m51s
neuvector-scanner-pod-55f7547f54-g6bhk      1/1     Running   0          4m51s
neuvector-scanner-pod-55f7547f54-mvmh4      1/1     Running   0          4m51s
neuvector-scanner-pod-55f7547f54-r5bf5      1/1     Running   0          4m51s
neuvector-controller-pod-56655b4574-q4bp2   1/1     Running   0          4m51s
neuvector-controller-pod-56655b4574-72cbf   1/1     Running   0          4m51s
neuvector-controller-pod-56655b4574-ztrwk   1/1     Running   0          4m51s

Utilisez l'adresse IP ou le nom de domaine fourni pour accéder à l'UI.

NODE_PORT=$(kubectl get --namespace neuvector -o jsonpath="{.spec.ports[0].nodePort}" services neuvector-service-webui)
NODE_IP=$(kubectl get nodes --namespace neuvector -o jsonpath="{.items[0].status.addresses[0].address}")
echo https://$NODE_IP:$NODE_PORT
https://172.31.213.180:31716

Vous devriez obtenir cet écran :

Le user / mdp est : admin / admin.

Tour du propriétaire

L'interface utilisateur (UI) de NeuVector est conçue pour offrir une visibilité et un contrôle complets sur la sécurité de vos conteneurs Kubernetes.

Le dashboard

Le tableau de bord (dashboard) fournit une vue d'ensemble rapide de l'état de sécurité de votre environnement Kubernetes. Il affiche des informations telles que le nombre de conteneurs en cours d'exécution, les alertes de sécurité, et le statut de conformité.

On a à notre disposition un outil permettant d'améliorer la sécurité de son cluster Kubernetes.

Ici il m'indique que ce pod tourne avec le compte root !

Network

Cette section offre une vue détaillée du trafic réseau entre vos conteneurs. Elle permet de visualiser les connexions autorisées et bloquées et d'identifier les comportements suspects. Dans les modes Surveillance et Protection, les violations sont affichées avec des lignes rouges ou jaunes pour indiquer qu'une violation a été détectée.

Certaines des actions possibles :

  • Déplacez les objets pour mieux visualiser les services et les échanges
  • Cliquez sur n'importe quelle ligne (flèche) pour voir plus de détails tels que le protocole/port, le dernier horodatage et pour ajouter ou modifier une règle
  • Cliquez avec le bouton droit sur n’importe quel conteneur pour voir les détails et sur le « i » pour les connexions en temps réel. Vous pouvez également mettre un nœud en quarantaine à partir d'ici.
  • Filtrez l'affichage par protocole ou recherchez par espace de noms, groupe, conteneur (en haut à droite). Vous pouvez ajouter plusieurs filtres à la zone de sélection.
  • Actualisez la carte pour afficher les dernièrs échanges.
  • Activer/désactiver l'affichage des composants d'orchestration tels que les équilibreurs de charge (par exemple intégrés pour Kubernetes ou Swarm)
  • (Icône de maillage de services) Double-cliquez pour développer un pod dans un maillage de services tel qu'Istio/Linkerd2 afin d'afficher le side-car et les conteneurs de charge de travail dans le pod.

Assets

Liste l'ensemble des composants du cluster: namespaces, pod, services...

Plutôt classique.

Policy (conformité)

Cette section permet de créer et de gérer des règles de sécurité personnalisées pour vos conteneurs et applications.

Security Risks

Ici, vous pouvez évaluer les risques de sécurité associés à vos conteneurs, vos images et de vos nodes. Elle affiche des vulnérabilités, des configurations incorrectes et d'autres risques. Parfait pour effectuer des audits de sécurité et prioriser les mesures de mitigation.

On a aussi des outils pour vérifier la conformité de vos conteneurs avec des normes spécifiques, comme PCI-DSS ou HIPAA.

On peut sortir des rapports au format PDF, mais aussi des exports au format CSV.

Notifications

Les événements enregistrent toutes les activités significatives, telles que les alertes de sécurité, les modifications de règles et les actions administratives. Consultez cette section pour un historique détaillé des événements de sécurité et des actions effectuées.

Il détecte mes connexions ssh sur le node !

Conclusion

Au terme de cette exploration de NeuVector, il est clair que cette plateforme va me simplifier énormément les tâches liées à sécurisation des infrastructures portant des clusters Kubernetes. J'imagine parfaitement utiliser NeuVector dans un environnement de production, mais aussi de développement pour faire de la sécurisation dès le développement.

Plus d'infos

Vous pouvez accéder à diverses ressources en ligne concernant NeuVector en visitant les liens suivants :