31 bonnes pratiques pour sécuriser les conteneurs Docker
Les entreprises sâintĂ©ressent de plus en plus aux conteneurs â et en particulier Ă Docker (mĂȘme si des alternatives existent). « Le placement en conteneurs permet aux dĂ©veloppeurs de packager une application et toutes ses dĂ©pendances dans un format standardisĂ©, sans besoin ni de recompilation, ni de recherche ou dâinstallation des environnements adaptĂ©s », explique le Sans Institute, pour rĂ©sumer lâattrait des conteneurs. Une flexibilitĂ© qui fait mouche alors que se multiplient les environnements Cloud. DâoĂč la volontĂ© de nombre dâentreprises dâamener Docker jusque sur les environnements de production, alors que la technologie a dâabord gagnĂ© ses galons auprĂšs des dĂ©veloppeurs et sur les environnements de tests.
Comme le prĂ©cise le Sans Institute, une organisation amĂ©ricaine Ă but non lucratif regroupant 165 000 professionnels de la sĂ©curitĂ© (Sans signifiant Sysadmin, Audit, Network, Security), lâarrivĂ©e de Docker en production soulĂšve toutefois de nouvelles questions, en particulier pour les auditeurs de sĂ©curitĂ©. DâoĂč la publication par le Sans dâune checklist permettant Ă ces spĂ©cialistes dâaborder la sĂ©curisation de ces environnements. Une rĂ©elle difficultĂ© pour les entreprises, du fait tant de lâarchitecture sur laquelle reposent les conteneurs (diffĂ©rente de celle, familiĂšre, des VM, voir schĂ©ma ci-contre), des concepts nouveaux amenĂ©s par la technologie (devops, microservices),  que du manque de standardisation des outils de sĂ©curitĂ©, comme le souligne le Sans.
Vulnérabilités dispersées
« Auditer des dĂ©ploiements Docker peut sâavĂ©rer difficile tant du fait de lâarchitecture Docker elle-mĂȘme que des modĂšles de microservices et de dĂ©ploiement continu qui sont si bien alignĂ©s avec Docker », rĂ©sume lâorganisation. Selon les chiffres du spĂ©cialiste du monitoring New Relic, 46 % des conteneurs ont une durĂ©e de vie infĂ©rieure Ă une heure, et 11 % dâentre eux âviventâ mĂȘme moins dâune minute. Cette caractĂ©ristique, associĂ©e Ă la densitĂ© des architectures en conteneurs, peut aboutir à « un cauchemar » en matiĂšre de gestion des environnements. « Suivre exactement ce qui a Ă©tĂ© dĂ©ployĂ©, oĂč cela lâa Ă©tĂ© et quand » devient en soi un dĂ©fi, souligne le Sans.
Autre difficultĂ© relevĂ©e par lâorganisation : la dispersion des vulnĂ©rabilitĂ©s dans les conteneurs et dans les OS hĂŽtes. Des environnements qui requiĂšrent gĂ©nĂ©ralement des outils dâaudit diffĂ©rents, qui plus est. Qui plus est, si une organisation va chercher ses images Docker en externe, le risque de ramener une faille est grand. Un ingĂ©nieur de Docker a estimĂ© que 30 % des images prĂ©sentes sur le Docker Hub, la place de marchĂ© publique de lâĂ©diteur, contenaient des vulnĂ©rabilitĂ©s.
Les secrets mal gardés dans Docker
Sur la base de ces constats, le Sans Institute livre 31 bonnes pratiques de sĂ©curitĂ© dans les environnements Docker. Des classiques (comme lâinstallation des patchs au niveau des hĂŽtes mais aussi de Docker lui-mĂȘme, lâinstallation limitĂ©e aux seuls composants utiles, la sĂ©grĂ©gation des conteneurs en fonction de la confidentialitĂ© des donnĂ©es, la centralisation des logsâŠ), mais aussi des conseils plus spĂ©cifiques (comme le durcissement de lâOS hĂŽte, lâobligation dâutiliser des images signĂ©es, lâinterdiction de faire tourner un processus conteneurisĂ© en root, la limitation des ressources pour chaque conteneur afin dâĂ©viter les dĂ©nis de service).
En particulier, le Sans souligne que « de nombreuses techniques courantes employĂ©es pour stocker des secrets sur des hĂŽtes dĂ©diĂ©s ou des machines virtuelles â comme les dotfiles (fichiers cachĂ©s dans les systĂšmes Unix, NDLR) avec des accĂšs limitĂ©s ou le stockage dans des fichiers chiffrĂ©s â ne sont plus viables dans des environnements avec des conteneurs. » Dans ces derniers, si le secret est stockĂ© dans lâimage Docker, il sera accessible Ă quiconque rĂ©cupĂ©rant lâimage depuis un magasin de conteneurs (quâil sâagisse de celui public fourni par lâĂ©diteur ou de sa version privĂ©e). Stocker ledit secret dans les variables nâest guĂšre prĂ©fĂ©rable, puisquâil pourra fuiter via les logs, via des commandes de Docker ou ĂȘtre partagĂ© avec des conteneurs associĂ©s. Cette particularitĂ© doit pousser les entreprises Ă dĂ©ployer des solutions diffĂ©rentes comme Vault, Keywhiz, ou Crypt, insiste le Sans. MĂȘme si ces options souffrent encore dâun manque de maturitĂ©, selon lâorganisation.
Communications entre conteneurs
Autre spĂ©cificitĂ© de la technologie, offrant une piste intĂ©ressante Ă des assaillants : par dĂ©faut, les conteneurs peuvent envoyer du trafic via le rĂ©seau interne de Docker que les ports soient ouverts ou pas. « Les utilisateurs Docker devraient dĂ©sactiver ces communications inter-conteneurs et demander des associations explicites entre conteneurs ou lâouverture de ports publics pour ces Ă©changes », Ă©crit lâorganisation spĂ©cialisĂ©e dans la sĂ©curitĂ©.
Selon une Ă©tude menĂ©e par Devops.com et publiĂ©e en juin dernier, les difficultĂ©s que rencontrent les entreprises avec les conteneurs se concentrent sur lâexploitation : la sĂ©curitĂ© notamment, mais surtout le rĂ©seau et les problĂ©matiques de stockage persistant. Le signe dâun manque certain de maturitĂ© de la technologie quand elle aborde les environnements de production. Le Sans ne manque pas, de son cĂŽtĂ©, de relever la jeunesse des outils dâaudit Ă disposition des spĂ©cialistes de la sĂ©curitĂ©. MĂȘme si, pour lâorganisation, Docker Bench for Security (ici sur Github) est aujourdâhui une solution des plus prometteuse.
Les conteneurs de Docker sâimposent, y compris dans la prod
BlaBlaCar généralise les conteneurs et préfÚre Rocket à Docker
Open Source : Docker est-il menacĂ© dâimplosion ?
Crédit photo : Andrii Stashko via Visualhunt.com / CC BY-NC-ND
31 bonnes pratiques pour sécuriser les conteneurs Docker was originally published on JDCHASTA SAS