1. Introduction
Souvent, lorsque nous voulons sécuriser nos infrastructures ou nos clusters Kubernetes, nous sommes amenés à nous poser les questions suivantes : par quoi devons-nous commencer et que devons-nous regarder en premier ? D’autant plus, qu’il existe une multitude de normes et de bonnes pratiques qu’il est possible de suivre. Il devient alors difficile de s’y retrouver.
Et lorsque dans une équipe la sécurité est du ressort de tout le monde et qu’il n’y a pas de profil dédié pour s’en occuper, il est tentant de laisser cette question à plus tard, et parfois ce plus tard se transforme en jamais. Ayant été confronté à cette problématique à plusieurs reprises, j’ai décidé de rédiger un article pour vous présenter une des voies qu’il est possible de suivre : les benchmarks CIS.
2. Qu’est-ce que le CIS (Center of Internet Security) ?
Avant d’aller plus loin, parlons du CIS. Le CIS, acronyme pour Center of Internet Security, est un organisme à but non lucratif qui a pour mission d’améliorer la cybersécurité en développant et en promouvant des normes, des bonnes pratiques, des outils et du contenu informationnel en lien avec la cybersécurité.
Parmi les outils et les services promus, nous pouvons citer :
-
Les contrôles CIS : qui sont un ensemble de bonnes pratiques qui ont pour objectif d’aider les organisations à renforcer la sécurité des systèmes d’information et des données face aux cybermenaces.
-
Les benchmarks CIS : qui font l’objet de ce présent article.
3. Qu’est-ce que les benchmarks CIS ?
Les benchmarks CIS sont un ensemble de recommandations et de bonnes pratiques mondialement reconnues par la communauté technique ainsi que par les entreprises pour sécuriser les systèmes informatiques.
Pour élaborer ces recommandations, une communauté mondiale d’expertes et d’experts s’est constituée au sein du CIS. Le résultat de leurs travaux est un consensus autour d’une liste de configurations sécurisées qui concernent plusieurs familles de produits :
- Fournisseurs cloud (AWS, GCP, Azure…)
- Logiciels (conteneurs, orchestrateurs, hyperviseurs…)
- Outils DevOps (GitLab et GitHub)
- Appareils mobiles
- Appareils réseaux
- Systèmes d’exploitation
- …
Comme nous le voyons à la liste ci-dessus, les travaux concernent un très large éventail d’outils et d’appareils. Ainsi, ces recommandations peuvent s’appliquer à un nombre important d’organisations.
4. Dans quel cadre utiliser les benchmarks CIS ?
Plusieurs raisons peuvent nous pousser à utiliser les benchmarks CIS. Les principales sont les suivantes :
-
Renforcer la sécurité de ses systèmes informatiques : Les benchmarks CIS sont conçus pour réduire les risques face aux vulnérabilités et aux failles les plus courantes. Les organisations peuvent ainsi se prémunir d’une part de risque importante en réduisant la surface d’attaque.
-
Se conformer aux réglementations : Certaines organisations doivent se conformer à des normes de sécurité qui imposent des exigences de sécurité assez importantes. Les benchmarks CIS aident les entreprises à se conformer à ces exigences.
-
Standardiser ses pratiques : Les benchmarks CIS offrent un cadre clair et des instructions détaillées sur ce que doivent être les configurations mises en place par les équipes informatiques. Les risques liés à de mauvaises configurations sont alors réduits.
5. Profils CIS
Les recommandations de sécurité peuvent être catégorisées en au moins deux profils :
- Profil niveau 1 : Il s’agit de recommandations de configuration de base dont la mise en œuvre est facile et l’impact sur les organisations qui les adoptent ou sur les systèmes est minimes.
- Profil niveau 2 : ce profil est une extension du profil niveau 1. Il s’adresse aux contextes plus sensibles que le niveau 1, car la mise en œuvre de ces recommandations nécessite une expertise particulière pour réduire l’impact sur les systèmes informatiques qu’elles sécurisent et l’activité de l’entreprise.
Il peut exister d’autres profils, en plus des deux cités. Il est important de se référer aux référentiels concernés à chaque fois pour en consulter les détails.
6. Exemple des benchmarks CIS pour Kubernetes
Kubernetes est l’orchestrateur de conteneurs le plus utilisé dans le monde. Qu’il soit déployé on premise ou qu’il soit géré par un fournisseur cloud, sa courbe d’adoption ne cesse d’augmenter et la liste de ses fonctionnalités de s’enrichir. Dans le même temps, l’intérêt et la créativité des attaquants malveillants ne cessent de nous surprendre.
De nos jours, de plus en plus d’applications sont déployées sur Kubernetes. Et les organisations ont de plus en plus besoin de sécuriser leurs environnements. C’est pour cela que le CIS a décidé de travailler sur des recommandations autour de ce sujet.
Plusieurs versions de Kubernetes sont concernées par ces travaux :
- Kubernetes vanilla
- Amazon Elastic Kubernetes Service (EKS)
- Azure Kubernetes Service (AKS)
- Google Kubernetes Engine (GKE)
- Red Hat OpenShift Container Platform
- Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE)
Les recommandations qui concernent Kubernetes visent à sécuriser : les différents nœuds, les composants du control plane (API Server, Scheduler, controller-manager), les fichiers de configuration, les configurations, la base etcd, les composants des nœuds de type worker et bien d’autres éléments.
7. Comment automatiser les benchmarks CIS ?
Pour reprendre l’exemple des benchmarks CIS qui concernent Kubernetes, prenons pour exemple un des rapports qui le concerne. À la date de la rédaction de cet article, le rapport pour sécuriser Kubernetes Vanilla fait plus de 300 pages. Faut-il lire autant de pages à chaque fois pour vérifier que son cluster est sécurisé ?
Par chance, les rapports à plusieurs centaines de pages ne sont pas l’unique moyen de vérifier sa conformité vis-à-vis des benchmarks CIS. Une multitude d’outils existent pour nous aider à automatiser ces tâches.
8. Quelques outils pour automatiser les benchmarks CIS
8.1. CIS-CAT Pro et CIS-CAT Lite
Outils officiels fournis par le (CIS), CIS-CAT Pro qui automatisent l’évaluation des systèmes par rapport à leurs benchmarks. Ils scannent les configurations des systèmes et génèrent des rapports détaillés sur la conformité.
Site : CIS-CAT Pro
8.2. Ansible Lockdown
Ansible, un outil d’automatisation open source, propose des playbooks spécifiques pour automatiser la configuration des systèmes conformément aux benchmarks CIS. C’est le cas du projet Ansible Lockdown, qui propose d’automatiser la mise en conformité de ses systèmes grâce avec Ansible.
Site : Ansible Lockdown
8.3. Kube-bench
Kube-bench est un outil qui vérifie la conformité des clusters Kubernetes avec les benchmarks CIS. C’est un outil assez complet qui fonctionne aussi bien sur des clusters managés que non.
Site : Kube-bench
8.4. Trivy
Trivy est un outil très populaire dans le domaine de la sécurisation des environnements cloud et de conteneurs. Il inclut des fonctionnalités pour automatiser les benchmarks CIS, notamment pour les plateformes cloud.
Site : Trivy
8.5. OpenSCAP
OpenSCAP est un outil open source de gestion de la conformité qui permet de scanner et de vérifier les configurations système par rapport aux benchmarks CIS.
Site : OpenSCAP
8.6. Autres outils
La liste d’outils mentionnés ci-dessus n’est bien évidemment pas exhaustive. Il existe d’autres projets et outils qui permettent de vérifier la conformité de ses systèmes par rapport aux benchmarks CIS. Certains de ces outils sont directement proposés par les fournisseurs cloud qui peuvent scanner en temps réel vos infrastructures.
9. Conclusion
Les benchmarks CIS sont une ressource essentielle pour toute organisation cherchant à renforcer sa cybersécurité. En fournissant des recommandations spécifiques et détaillées pour une variété de systèmes et de technologies, le CIS aide les entreprises à protéger leurs infrastructures contre les cybermenaces croissantes. L’adoption de ces bonnes pratiques permet non seulement d’améliorer la sécurité globale, mais aussi de répondre aux exigences réglementaires et de réduire les risques d’erreurs humaines. Dans un environnement numérique toujours plus complexe, les benchmarks CIS constituent une étape incontournable pour toute stratégie de cybersécurité solide.