Pour gérer vos consentements :
Categories: Microservices

Conteneurs : la sécurité, affaire de minimalisme ?

Avez-vous vraiment besoin de tout cela dans vos conteneurs ? Ainsi pourrait-on résumer la question – pas nouvelle – que pose Trend Micro. Le postulat : diminuer la taille des images, c’est certes minimiser leur consommation de ressources, mais aussi réduire la surface d’attaque.

Outils à l’appui (Syft pour l’analyse de composition logicielle, Grype pour la découverte de vulnérabilités), le groupe américain fait une première différence entre des images de base de Debian et d’Alpine Linux. Sans préciser lesquelles, mais en soulignant l’intérêt des distros Linux « légères ».

Reste que ces OS légers contiennent eux-mêmes des outils dont on pourrait souhaiter se débarrasser dans une logique de sécurité. Sur Alpine Linux, par exemple, le gestionnaire de paquets apk et l’exécutable BusyBox, qui réunit des outils UNIX.

Image scratch et build multistage, pour des conteneurs plus sûrs ?

Dans l’absolu, la réflexion peut aller jusqu’à très bas niveau. Trend Micro mentionne la commande base64, potentiellement exploitable pour décoder des charges malveillantes à l’exécution. « Beaucoup de fournisseurs cloud utilisent des conteneurs ou des micro-VM basés sur des images qui contiennent plus de paquets que requis », ajoute l’éditeur. Sans citer de noms, mais en livrant l’analyse d’une image de base de chez Google et de deux chez AWS. La première contient trois paquets, sans faille connue. Les deux autres, chacune plus d’une centaine, avec respectivement deux et quatre vulnérabilités.

La solution ? Associer image scratch et build multistage. La première est une image virtuelle vide : pas de shell, d’outils de débogage, de bibliothèques dynamiques…

Le second, arrivé en 2017 sur Docker, permet d’enchaîner les instructions FROM dans le Dockerfile, chacune lançant une étape pouvant reprendre – sélectivement – les éléments de la précédente. Ce qui évite des paliers intermédiaires (téléchargement de code, installation de dépendances…) et donc des couches supplémentaires. Une solution plus commode que d’optimiser la structure du Dockerfile ; par exemple en fusionnant les instructions RUN.

En associant ces deux dimensions, on se rapproche du principe du serverless, les applications étant segmentées en fonctions.

À lire en complément : comment sécuriser Kubernetes en 2022 ?

Photo d’illustration © LuckyStep – Adobe Stock

Recent Posts

IA générative : l’Autorité de la concurrence pointe de sérieux risques

Dans un avis consultatif, l'Autorité de la concurrence a identifié les risques concurrentiels liés à…

2 jours ago

OpenAI signe un accord de contenu avec Time

OpenAI signe un « partenariat de contenu stratégique » avec Time pour accéder au contenu…

2 jours ago

Atos : David Layani (Onepoint) veut sortir du capital

Au lendemain du rejet de sa proposition de restructuration, David Layani annonce sa démission du…

2 jours ago

Évaluer les LLM, un défi : le cas Hugging Face

Après un an, Hugging Face a revu les fondements de son leaderboard LLM. Quels en…

3 jours ago

Mozilla face au dilemme de la GenAI dans Firefox

Mozilla commence à expérimenter divers LLM dans Firefox, en parallèle d'autres initiatives axées sur l'intégration…

3 jours ago

VMware tente d’orienter vers VCF les déploiements pré-Broadcom

VMware met VCF à jour pour y favoriser la migration des déploiements qui, sur le…

4 jours ago