Skip to main content

Kubernetes a publié son audit de sécurité en open source. Qu’en retenir ?

Écrit par
Headshot of Hayley Denbraver

Hayley Denbraver

8 août 2019

0 minutes de lecture

Plus tôt cette semaine, le 6 août, la Cloud Native Computing Foundation (CNCF) a publié un article de blog présentant son récent audit de sécurité de Kubernetes. L’année dernière, la CNCF a lancé son programme d’audits de sécurité avec trois projets : CoreDNS, Envoy et Prometheus. Ce programme pilote ayant été un succès, la CNCF l’étend à d’autres projets de son écosystème.

Kubernetes est un moteur open source d’orchestration de conteneurs qui automatise le déploiement, la mise à l’échelle et la gestion des applications conteneurisées. C’est le plus grand projet de l’écosystème CNCF. Il est formidable que la CNCF donne la priorité à la sécurité de son projet phare.

À retenir

Les conclusions détaillées du rapport dépassent le cadre de cet article, mais nous souhaitions tout de même vous en donner un aperçu général. Bon nombre des recommandations du rapport portaient sur le nettoyage du code, l’ajout de tests et de documentation, ainsi que le renforcement de la sécurité des paramètres par défaut. Ces recommandations de base faciliteraient la correction et la résolution des problèmes détectés. Il est important de noter que cinq conclusions étaient classées « gravité élevée » et concernaient le contrôle d’accès, l’authentification, la gestion du temps et la validation des données. En bref, il s’agissait de :

  • Un contournement du contrôle d’accès de PodSecurityPolicy

  • K8s ne permet pas la révocation des certificats

  • Les connexions HTTPS ne sont pas authentifiées

  • Un problème de type « vérification puis utilisation » lié au déplacement d’un PID

  • Un parcours de répertoires mal corrigé dans kubectl cp

Ce rapport mérite vraiment d’être lu. Vous le trouverez ici.

Étendue ou profondeur de l’analyse de sécurité

L’audit a été défini de façon à examiner cinq familles de contrôles susceptibles de révéler des problèmes : la mise en réseau, la cryptographie, l’authentification et l’autorisation, la gestion des secrets et l’isolation multitenant. Kubernetes est un projet de grande envergure, et le rapport privilégie l’étendue plutôt que la profondeur de l’analyse des problèmes de sécurité. L’audit offre une vue d’ensemble de l’état de sécurité du projet.

Même si certaines parties du code mériteraient un examen plus approfondi, je pense que cette approche privilégiant l’étendue était un excellent choix. Prenons une analogie : si vous consultez un médecin et faites un ou deux tests sanguins au hasard, vous découvrirez peut-être quelque chose d’intéressant sur votre santé, sans pour autant en avoir une vue complète. À l’inverse, en évaluant votre santé dans son ensemble, vous aurez une meilleure idée de votre état général et votre médecin pourra plus facilement cibler les problèmes à examiner.

Ce rapport ne visait pas seulement à repérer un ou deux problèmes — même s’il en signale plusieurs —, mais à évaluer l’état général de Kubernetes, afin de définir des priorités et des objectifs bénéfiques à la sécurité et à la pérennité du projet dans son ensemble. Des objectifs à court et à long terme ont été recommandés pour chacune des cinq catégories de contrôle, nous donnant un aperçu de l’avenir possible de Kubernetes.

Des avantages pour les responsables de maintenance et les communautés

C’est formidable de voir un projet aussi important et largement utilisé faire l’objet d’un audit de sécurité. Il donne le bon exemple aux autres projets de cette envergure et profite à la fois aux responsables de sa maintenance et à toute la communauté.

La CNCF et les responsables de la maintenance de Kubernetes ont fait un investissement judicieux en réalisant un audit de sécurité. Un audit peut leur permettre de prendre une longueur d’avance sur les acteurs malveillants et d’adopter une approche proactive de la sécurité, plutôt que de simplement réagir aux problèmes. Il est toujours préférable de découvrir soi-même ses vulnérabilités avant que d’autres ne le fassent. Il vaut également mieux pouvoir corriger les problèmes signalés dans un rapport que vous attendiez, plutôt que de les découvrir au hasard, à un moment potentiellement mal choisi. Les corrections peuvent être priorisées et apportées avec soin, sans devoir travailler contre la montre comme lorsque des vulnérabilités sont divulguées par d’autres moyens. En réalisant cet audit et en publiant ses conclusions en open source, la CNCF et les responsables de Kubernetes font figure de modèles dans ce domaine et inciteront d’autres projets à suivre leur exemple en réalisant et en publiant des audits de sécurité.

De plus, en publiant les conclusions en open source, la communauté en tire des avantages non seulement une fois les objectifs à court et à long terme atteints, mais aussi dès maintenant. Ces avantages sont multiples. Tout d’abord, les utilisateurs peuvent choisir Kubernetes en toute confiance, sachant que la CNCF et les responsables du projet prennent la sécurité au sérieux. Ensuite, ils peuvent examiner les conclusions et faire des choix plus éclairés pour leurs propres projets. Enfin, ils peuvent profiter de toutes les ressources incluses dans l’audit, notamment le livre blanc et le modèle de menace, des lectures intéressantes pour quiconque souhaite approfondir ses compétences sur Kubernetes ou en sécurité.

Conclusion

Si vous souhaitez découvrir comment se déroulent des audits de sécurité comme celui-ci, ou même participer à de futurs audits, vous pouvez rejoindre le groupe d’intérêt spécial (SIG) de la CNCF consacré à la sécurité. Pour en savoir plus : https://github.com/cncf/sig-security.

Félicitations à la CNCF pour cette initiative essentielle, et bravo pour cet excellent travail. Nous espérons que l’audit vous sera très bénéfique. Nous partageons votre souhait : en publiant en open source ses audits et ses processus de sécurité, la CNCF inspirera d’autres projets à suivre son exemple.

La sécurité des conteneurs, pensée pour les développeurs

Snyk détecte et corrige automatiquement les vulnérabilités dans les images de conteneurs et les workloads Kubernetes.