Qu'est-ce que

Sécurité des conteneurs

?

5 mesures que vous pouvez prendre pour améliorer la sécurité de vos conteneurs

1. Réduisez le poids du système d'exploitation

Vous devez supprimer toutes les fonctionnalités inutiles et toutes les fonctionnalités inutiles du système d'exploitation dans lequel votre conteneur sera exécuté. Bien que cette approche puisse sembler alarmiste, le fait est que les cybercriminels utilisent chacun des différents services fournis par les systèmes d'exploitation comme surfaces d'attaque. Même si votre système est hébergé via un cloud privé ou public, supprimez tout ce qui est supplémentaire (à part le sécurité du cloud fonctionnalités) peuvent éviter un problème de sécurité critique.

Par conséquent, vous devriez essayer ce qui suit :

  1. Identifiez les systèmes qui doivent prendre en charge votre conteneur
  2. Jetez tout le reste
  3. Testez votre conteneur après la première série de suppressions
  4. Recherchez les fonctions inutiles que vous avez peut-être oubliées la première fois et supprimez-les
  5. Testez à nouveau le contenant

Pourquoi devez-vous supprimer les fonctionnalités supplémentaires du système d'exploitation de votre conteneur

Le raisonnement qui justifie cette approche est relativement simple. Chaque charge de travail a ses propres exigences. La charge de travail des conteneurs, par exemple, comporte des cycles de mise à jour, des architectures de pile, des paramètres de contrôle d'accès, des outils de sécurité et d'autres fonctionnalités importantes des processus DevOps qu'un système d'exploitation doit gérer. Cela est vrai que vous utilisiez des machines virtuelles ou des environnements traditionnels.

Chacune de ces fonctionnalités dispose de protocoles de sécurité adaptés à ses besoins. Dans le même temps, une autre application exécutée sur le système d'exploitation hôte a ses propres exigences en matière d'infrastructure. Non seulement ces applications externes volent des ressources du système d'exploitation à vos équipes DevOps, mais chacune d'entre elles crée par inadvertance une surface d'attaque supplémentaire. En effet, les mesures de sécurité des conteneurs nécessitent invariablement des ressources différentes de celles conçues pour sécuriser les autres programmes. Bien que votre système d'exploitation soit capable de protéger le code de l'application auxiliaire, il peut laisser vos conteneurs exposés.

2. Méfiez-vous du logiciel fourni avec le conteneur

Il est important de garder à l'esprit que, mis à part les affirmations du fournisseur, vous n'avez aucune idée de la solidité des mesures de sécurité des conteneurs, et encore moins de leur fonctionnement. Voici quelques questions importantes :

  • Le fournisseur a-t-il effectué l'analyse de vulnérabilité nécessaire ?
  • Quel type de système de prévention des intrusions ont-ils mis en place ?
  • Combiné à vos applications conteneurisées, l'environnement les expose-t-il à des risques inattendus ?

Comme vous ne connaissez pas les détails des outils de sécurité fournis avec le conteneur, vous ne pouvez ni voir ni prévoir les vulnérabilités potentielles. Par conséquent, avant de vous fier aux protections fournies avec votre conteneur, essayez de mettre en œuvre les meilleures pratiques de sécurité suivantes :

  • Vérifiez à nouveau le contenu du contenant
  • Ne lancez pas un conteneur dont le logiciel est obsolète
  • Si vous ne connaissez pas le logiciel, comprenez son fonctionnement avant de le déployer
  • Vérifiez chaque programme et chaque bibliothèque pour voir s'ils offrent effectivement les protections les plus récentes et les plus efficaces

3. Inspectez le temps d'exécution du conteneur

Les environnements d'exécution étant responsables du lancement et de la gestion des conteneurs, vous devez suivre attentivement leurs correctifs de sécurité. Les environnements d'exécution sont connus pour présenter des vulnérabilités distinctes. Bien que cela ne soit pas nécessairement courant, les retombées potentielles sont importantes.

Par exemple, dans certains cas, la configuration d'exécution peut donner au conteneur un accès complet aux périphériques de l'hôte, ainsi qu'à ses répertoires. Dans ce cas, le conteneur, une fois infecté par un logiciel malveillant, pourrait être utilisé pour lancer une attaque contre l'hôte. De plus, si vous n'avez pas implémenté de manière adéquate segmentation du réseau, d'autres conteneurs et zones affectés par les communications réseau pourraient également être infectés.

Les vulnérabilités peuvent être plus prononcées dans les anciens programmes d'exécution. Bien que le programme ait été codé pour la première fois, les cybercriminels ont conçu de nouvelles méthodes d'attaque depuis sa création. Par conséquent, les chances que les vulnérabilités soient exploitées dans les programmes d'exécution existants augmentent de mois en mois. De plus, dans un environnement open source, il peut être difficile de différencier les sources fiables des sources suspectes, ce qui souligne la nécessité de faire preuve de prudence.

4. Garantissez une visibilité totale

Avec l'adoption des conteneurs, le nombre de systèmes exécutés sur des charges de travail de machines virtuelles bare metal peut augmenter de façon exponentielle. En raison de la nature encapsulée des conteneurs, vous ne pouvez pas supposer que la visibilité de la charge de travail hébergeant le conteneur offre une visibilité adéquate pour le conteneur lui-même. Il est important de considérer chaque conteneur comme une entité à part entière et de mettre en place des mesures de visibilité en conséquence. Pour garantir une visibilité totale, vous devez :

  • Détaillez l'emplacement de chaque conteneur
  • Décrivez ce que fait chaque conteneur
  • Cartographier le flux de données entrant et sortant du conteneur
  • Décrivez les ressources que chaque conteneur peut consommer, notamment les applications, les fichiers et celles du système d'exploitation

Cette dernière mesure est cruciale car si le conteneur lui-même peut être sécurisé, il puise des ressources d'autres endroits. Par conséquent, cela peut, par inadvertance, provoquer des vulnérabilités ailleurs. En outre, selon votre secteur d'activité, vous devrez peut-être établir les normes de conformité nécessaires qui s'appliquent aux données de chaque conteneur.

5. Utiliser la segmentation du réseau

Lorsqu'un réseau est segmenté de manière réfléchie, vous bénéficiez des avantages de solutions de sécurité conçues sur mesure pour chaque segment, associées au contrôle amélioré qui résulte de la réduction de vos surfaces de protection respectives.

Comment la segmentation du réseau sécurise vos conteneurs

Un réseau non segmenté est comme un appartement sans murs. Si les ravageurs venaient à pénétrer à l'intérieur, ils auraient toute latitude pour se propager dans tous les espaces de vie. Un réseau sans segmentation présente le même type de vulnérabilité fondamentale. Les conteneurs, malgré leur nom, ne sont pas intrinsèquement « contenus » et ne sont pas protégés contre les malwares, les virus et autres cybernuisibles.

Si vous utilisez segmentation du réseau pour structurer votre réseau de manière à ce que les conteneurs possèdent leurs propres segments, la menace d'un segment n'a pas d'impact sur les autres. En fait, vous construisez des murs à l'abri des nuisibles. Même si une cybermenace pouvait pénétrer à l'intérieur, elle resterait bloquée dans ce segment. Cela empêche la contamination latérale, ou est-ouest, laissant votre équipe libre de maintenir sa productivité, même si une cyberattaque pénètre une section du réseau.

Grâce à la segmentation du réseau, à la triple vérification de la sécurité de vos conteneurs, à l'inspection des programmes d'exécution, à la suppression des applications superflues de votre système d'exploitation et à la garantie d'une visibilité totale, vous pouvez créer un environnement plus sûr et plus productif pour vos équipes DevOps.

En savoir plus

Découvrez comment Segmentation Zero Trust sécurise les déploiements de conteneurs, y compris les plateformes Kubernetes et RedHat OpenShift.

Assume Breach.
Minimisez l'impact.
Augmentez la résilience.

Ready to learn more about Zero Trust Segmentation?