Sécurité de l’exécution Kubernetes

Au cours de la dernière décennie, les charges de travail conteneurisées et Kubernetes (K8s) ont pris d’assaut le monde du logiciel. Malheureusement, à mesure que Kubernetes devient un élément de base de l’architecture d’entreprise, il devient une cible de grande valeur pour les acteurs de la menace.

La sécurité des conteneurs en général, et celle de Kubernetes en particulier, est aujourd’hui un aspect fondamental de la posture de sécurité des entreprises. Cet article explore la sécurité d’exécution de Kubernetes, l’un des aspects les plus critiques de la sécurité de K8s, y compris sept bonnes pratiques essentielles de sécurité d’exécution de K8s.

Demander une démo En savoir plus

Qu’est-ce que Kubernetes Runtime Security ?

La sécurité d’exécution Kubernetes est l’ensemble des outils, des pratiques et des technologies qui protègent les charges de travail de conteneur en cours d’exécution sur Kubernetes.

En d’autres termes, la sécurité d’exécution Kubernetes est une sous-catégorie de la protection des charges de travail et de la sécurité des conteneurs. La sécurité de l’exécution Kubernetes s’occupe de la sécurité, de l’instanciation des conteneurs à la résiliation. Cela signifie que la sécurité de l'exécution inclut des éléments tels que le fait que les conteneurs s'exécutent en tant que root (ils ne devraient pas le faire !) , mais ne couvre pas des sujets tels que la numérisation d'images de conteneurs.

Défis et risques liés à la sécurité de l’exécution Kubernetes

Étant donné qu’il existe aujourd’hui de nombreux types d’applications exécutées sur les K8, il n’existe pas d’ensemble unique de risques de sécurité d’exécution pour les conteneurs ou Kubernetes. Cependant, il existe un ensemble de défis de sécurité de l’exécution Kubernetes communs à la plupart des entreprises.

Voici quatre risques de sécurité courants liés à la sécurité des conteneurs d’exécution sur Kubernetes :

  • Élévation de privilèges : Un acteur malveillant qui accède à un environnement K8s et passe à un utilisateur à privilèges plus élevés (par exemple, root) est une menace de sécurité d’exécution Kubernetes classique.
  • vulnérabilité dans les K8 et les conteneurs : même lorsque les conteneurs ne sont pas malveillants en soi, ils sont souvent vulnérables aux CVE avec des exploits connus.

Outils de sécurité Kubernetes Runtime natifs

Kubernetes offre un ensemble limité d’outils et de contrôles natifs qui peuvent limiter les risques d’exécution. Il s'agit notamment de :

  • Secrets: les secrets K8s sont des objets de données qui stockent des informations telles qu’une clé API ou un mot de passe. Using Secrets aide les entreprises à empêcher la présence de données sensibles dans les images et les spécifications des Pod.
  • Contrôleurs d’admission : Avec un contrôleur d’admission K8s, les entreprises peuvent limiter la modification (mais pas la lecture) de la publication de l’API Kubernetes.
  • Stratégies réseau : Les stratégies réseau Kubernetes sont similaires aux règles de pare-feu ALLOW et BLOCK traditionnelles qui appliquent les stratégies au niveau des couches réseau et transport.
  • Journaux d'audit : les journaux d'audit fournissent des informations sur les actions qui se sont produites dans un cluster. Par exemple, l’activité de l’API peut être auditée. Ces journaux peuvent permettre d'analyser et de détecter les comportements malveillants.
  • RBAC: le contrôle d’accès basé sur les rôles (RBAC) permet aux administrateurs de limiter l’accès à l’API K8s en fonction du rôle d’une entité.

Étant donné que les outils de sécurité d’exécution Kubernetes natifs ne répondent pas directement aux cas d’utilisation tels que la détection des menaces en temps réel, de nombreuses entreprises dépendent d’outils de protection des charges de travail plus robustes.

7 Meilleures pratiques de sécurité de Kubernetes Runtime

Ces six bonnes pratiques d’exécution Kubernetes peuvent aider les entreprises à limiter de nombreuses menaces de sécurité K8s.

  1. Ne gérez pas les conteneurs en tant que root: les exécuter en tant que root permet aux acteurs de la menace de lancer des attaques par escalade de privilèges. Le simple fait de ne pas fonctionner en tant que root peut atténuer de nombreuses menaces.
  2. Auditez et automatisez les configurations des conteneurs: Exposer publiquement des données qui devraient se trouver dans Secrets ou rendre les instances de base de données accessibles sur Internet sont des exemples de mauvaises configurations qui peuvent entraîner une violation. L’audit des configurations et l’automatisation du déploiement de la configuration à l’aide de l’infrastructure en tant que code (IaC) sont un excellent moyen de limiter les risques.
  3. Verrouiller la couche réseau : en plus des politiques réseau K8s et du RBAC, les outils de sécurité réseau tels que IPS/IDS et NGFW peuvent détecter et prévenir les menaces avant qu’elles n’atteignent les charges de travail. De plus, les entreprises devraient éviter d'exposer le socket du démon Docker dans la mesure du possible.
  4. Évitez le mode privilégié: tout comme ne pas gérer de conteneurs en tant que root, les entreprises devraient éviter de gérer des conteneurs avec l'indicateur « privilégié ». Le drapeau —privileged permet aux conteneurs de contourner les différents contrôles visant à garantir la sécurité du système.
  5. Utilisez des systèmes de fichiers en lecture seule dans la mesure du possible: les systèmes de fichiers en lecture seule empêchent les auteurs de menace d’écrire des logiciels malveillants directement dans le système de fichiers d’un conteneur. Cela peut limiter la capacité d'un acteur menaçant à réaliser un exploit.
  6. Utilisez uniquement des images de conteneurs fiables: les dépôts publics peuvent menacer la sécurité des environnements d'exécution de conteneurs dès qu'un administrateur instancie une image compromise. Seule l'utilisation d'images de conteneurs fiables peut aider les entreprises à limiter les risques liés à la présence d'images provenant de dépôts d'images publics.
  7. Sécurisez le niveau du noyau: des solutions telles que SELinux, cgroups et AppArmor peuvent ajouter une couche de protection à la sécurité du runtime Kubernetes. Par exemple, AppArmor peut définir des politiques qui limitent l'accès à diverses ressources du noyau afin de réduire le risque que des applications exploitent des fonctionnalités du système auxquelles elles ne devraient pas être en mesure d'accéder.

Le virage à gauche complète la sécurité efficace de l’exécution Kubernetes

Bien entendu, aucun aspect de la sécurité n'existe dans le vide. La sécurité de l'exécution est importante, mais la sécurité commence bien avant l'instanciation d'un conteneur. Certaines des meilleures pratiques de sécurité de l’exécution Kubernetes mentionnées ci-dessus le montrent clairement, et le concept de sécurité shift-left enfonce le clou. L'intégration de la sécurité dès le début du cycle de développement et le suivi par une protection robuste pendant l'exécution offrent le meilleur des deux mondes.

Kubernetes Runtime Security avec CloudGuard Workload Protection

CloudGuard Workload Protection est une plate-forme qui fournit la protection de bout en bout avec une gestion centralisée dont les entreprises ont besoin pour les conteneurs Kubernetes et les fonctions sans serveur.

Les avantages de CloudGuard Workload Protection sont les suivants :

  • Sécurité Zero Trust dans toutes les applications : Protection des conteneurs, des API et des fonctions serverless Kubernetes.
  • Auto-déploiement des configurations de sécurité : Définissez et déployez automatiquement des politiques de sécurité pour réduire le risque d’erreur humaine et d’erreur de configuration.
  • Prise en charge descloud multi cloud et hybrides : Assurez la sécurité sur l’ensemble des clouds et sur site.
  • Numérisation d'images de conteneurs : détecte les conteneurs vulnérables ou malveillants avant qu'ils ne soient instanciés.
  • Détection des incidents en temps réel : la détection intelligente des comportements malveillants permet de stopper les menaces avant qu'elles ne causent des dégâts.
  • Défense comportementale pour les fonctions serverless : La sécurité sans serveur nécessite un contexte, et la défense comportementale peut détecter intelligemment l’utilisation malveillante des fonctions serverless.

Pour en savoir plus sur CloudGuard Workload Protection, inscrivez-vous dès aujourd’hui à une démo sur la sécurité des conteneurs. Dans la démo, vous découvrirez les concepts clés de la sécurité des conteneurs, tels que l’analyse IaC, la protection automatisée de l’exécution et la sécurité dans l’ensemble du cloud.

×
  Commentaires
Ce site web utilise des cookies à des fins de fonctionnalité, d’analyse et de marketing. En continuant d’utiliser ce site web, vous acceptez l’utilisation des cookies. Pour plus d’informations, consultez notre Avis concernant les cookies.
OK