Jump to section

Clair, qu'est-ce que c'est ?

Copier l'URL

Clair est un projet Open Source qui fournit un outil pour surveiller la sécurité des conteneurs grâce à l'analyse statique des vulnérabilités dans les conteneurs appc et docker. Clair est un moteur d'analyse alimenté par API qui inspecte chaque couche des conteneurs à la recherche de failles de sécurité connues. Il permet ainsi de concevoir des services qui assurent la surveillance continue des vulnérabilités liées aux conteneurs.

Les données associées aux vulnérabilités sont importées en permanence depuis un ensemble connu de sources et corrélées avec le contenu indexé des images de conteneurs afin de produire des listes de vulnérabilités susceptibles de menacer ces derniers. Lorsque les données d'une vulnérabilité sont modifiées en amont, son nouvel et ancien état, ainsi que les images qu'elle affecte peuvent être envoyés via un webhook vers un point de terminaison configuré. Il est possible de personnaliser tous les composants principaux de manière programmatique lors de la compilation sans avoir à réaliser une copie du projet. Clair sécurise vos conteneurs grâce :

  • à la mise à jour des données de vulnérabilité à partir d'un ensemble de sources que vous définissez et au stockage de ces données dans sa base de données ;
  • à la possibilité pour les clients d'interroger cette base de données pour connaître les vulnérabilités au sein d'images spécifiques via une API ;
  • à l'indexation des images de conteneurs à l'aide d'une liste de fonctions présentes dans l'image via une API.

Clair analyse chacune des couches de conteneurs et signale les vulnérabilités susceptibles de présenter une menace, en s'appuyant sur la base de données CVE (Common Vulnerabilities and Exposures) et d'autres bases de données similaires de Red Hat®, Ubuntu et Debian. Étant donné que les couches peuvent être partagées entre de nombreux conteneurs, l'introspection est essentielle pour créer un inventaire de paquets et le corréler avec les CVE identifiées.

Clair prend également en charge les gestionnaires de paquets de langages de programmation, à commencer par Python, ainsi qu'une nouvelle API orientée image.

La détection automatique des vulnérabilités permettra de sensibiliser davantage aux menaces et de favoriser les meilleures pratiques de sécurité au sein des équipes de développement et d'exploitation, ainsi que d'encourager la production de correctifs et le traitement des vulnérabilités. À l'annonce de nouvelles vulnérabilités, Clair connaît d'emblée les couches menacées sans avoir à réaliser d'analyse, puis envoie des notifications.

Par exemple, la vulnérabilité CVE-2014-0160, aussi connue sous le nom « Heartbleed », est déjà connue depuis un certain temps, cependant l'analyse de sécurité de Red Hat Quay indique qu'il s'agit toujours d'une menace importante pour un grand nombre d'images de conteneurs stockées par les utilisateurs sur Quay. 

Notez qu'il faut souvent remplir des conditions particulières pour que les vulnérabilités puissent être exploitées. Par exemple, Heartbleed ne représente une menace que si le paquet OpenSSL vulnérable est installé et utilisé. Ainsi, Clair ne convient pas à ce niveau d'analyse et les équipes doivent continuer à en réaliser d'autres plus poussées au besoin.

Clair s'intègre à la solution Open Source Project Quay. La plateforme KubernetesRed Hat OpenShift® peut utiliser Clair pour la sécurité des conteneurs grâce à un opérateur Kubernetes qui fait lui-même partie de la solution Red Hat Quay. Red Hat Quay est une plateforme de registre d'images de conteneurs Open Source qui vous permet de créer, distribuer et déployer des conteneurs sur les datacenters du monde entier, en privilégiant des environnements et des modèles de développement cloud-native et DevSecOps.

L'opérateur de sécurité des conteneurs Quay, qui s'intègre à Red Hat OpenShift, vous permet de renforcer la sécurité de vos référentiels d'images grâce à des systèmes d'automatisation, authentification et autorisation. La solution Red Hat Quay est fournie avec Red Hat OpenShift ou disponible en tant que composant autonome.

La solution Red Hat OpenShift Service on AWS (ROSA) peut créer des images à partir de votre code source, les déployer et gérer leur cycle de vie. Elle fournit un registre d'images de conteneurs interne et intégré qui peut être déployé dans un environnement ROSA afin de gérer localement les images. Quay.io, une instance publique de registre de conteneurs Red Hat Quay fournie et gérée par Red Hat, met la plupart des images de conteneurs et des opérateurs à disposition des clusters ROSA. Red Hat Quay est disponible en tant que service géré et en tant que logiciel que vous pouvez installer dans votre propre datacenter ou environnement cloud. Les fonctions avancées de Red Hat Quay incluent la géoréplication, l'analyse d'images et la possibilité de les restaurer. Pour en bénéficier, il est nécessaire d'utiliser Clair dans le cadre de votre configuration OpenShift globale. 

Dans le cadre de notre engagement envers les communautés Open Source, nous continuerons à participer au développement de Project Quay en tant que membre de la Cloud Native Computing Foundation.

Nous contribuons massivement à la création de nouvelles fonctions pour Clair et Project Quay. Nous gérons également l'une des principales bases de données de vulnérabilités utilisées par Clair. Par ailleurs, nous exploitons la plus grande installation de Clair via quay.io, qui sert d'environnement de test de charge en conditions réelles.

Pour aller plus loin

ARTICLE

Conteneurs et machines virtuelles

Les conteneurs Linux et les machines virtuelles sont des environnements informatiques en paquets qui associent divers composants et les isolent du reste du système.

ARTICLE

L'orchestration des conteneurs, qu'est-ce que c'est ?

L'orchestration des conteneurs permet d'automatiser le déploiement, la gestion, la mise à l'échelle et la mise en réseau des conteneurs.

ARTICLE

Un conteneur Linux, qu'est-ce que c'est ?

Un conteneur Linux est un ensemble de processus isolés du système. Un conteneur s'exécute à partir d'une image distincte qui fournit tous les fichiers nécessaires à la prise en charge des processus qu'il contient.

En savoir plus sur les conteneurs

Produits

Une plateforme d'applications d'entreprise comprenant un ensemble unifié de services testés conçus pour distribuer des applications sur votre choix d'infrastructure.

Ressources

Formations

Cours gratuit

Présentation technique de l'exécution de conteneurs avec Red Hat

Cours gratuit

Présentation technique du déploiement d'applications conteneurisées

Cours gratuit

Développement d'applications cloud-native avec des architectures de microservices