. Référence non définie 06/03/2020 . RECOMMANDATIONS DE SÉCURITÉ RELATIVES AUX D
. Référence non définie 06/03/2020 . RECOMMANDATIONS DE SÉCURITÉ RELATIVES AUX DÉPLOIEMENTS DE CONTENEUR DOCKER . FICHE TECHNIQUE . PUBLIC VISÉ : Développeur Administrateur RSSI DSI Utilisateur . . . . Informations . . Attention . Ce document rédigé par l’ANSSI présente les « Recommandations de sécurité relatives aux déploiements de conteneur Docker ». Il est téléchargeable sur le site www.ssi.gouv.fr. Il constitue une production originale de l’ANSSI placée sous le régime de la « Licence ouverte v2.0 » publiée par la mission Etalab [3]. Conformément à la Licence Ouverte v2.0, le guide peut être réutilisé librement, sous réserve de mentionner sa paternité (source et date de la dernière mise à jour). La réutilisation s’entend du droit de communiquer, diffuser, redistribuer, publier, transmettre, reproduire, copier, adapter, modifier, extraire, transformer et exploiter, y compris à des fins commer- ciales. Ce document est la synthèse d’une étude de cette technologie, réalisée en temps contraint, qui ne vise donc pas l’exhaustivité. Sauf disposition réglementaire contraire, ces recomman- dations n’ont pas de caractère normatif ; elles sont livrées en l’état et adaptées aux menaces au jour de leur publication. Au regard de la diversité des systèmes d’information, l’ANSSI ne peut garantir que ces informations puissent être reprises sans adaptation sur les systèmes d’in- formation cibles. Dans tous les cas, la pertinence de l’implémentation des éléments proposés par l’ANSSI doit être soumise, au préalable, à la validation de l’administrateur du système et/ou des personnes en charge de la sécurité des systèmes d’information. . Évolutions du document : . VERSION . DATE . NATURE DES MODIFICATIONS . 1.0 . 06/03/2020 . Version initiale . . RECOMMANDATIONS DE SÉCURITÉ RELATIVES AUX DÉPLOIEMENTS DE CONTENEUR DOCKER – 1 . Table des matières 1 Préambule 3 1.1 Qu’est ce que Docker ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Périmètre de l’étude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.3 Convention de lecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Risques résiduels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Recommandations 6 2.1 Cloisonnement du conteneur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Cloisonnement des ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Restriction des privilèges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.4 Limitation des accès aux ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.5 Journalisation du conteneur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Annexe A Correspondance avec les recommandations du Center for Internet Security 16 Liste des recommandations 17 Bibliographie 18 2 – RECOMMANDATIONS DE SÉCURITÉ RELATIVES AUX DÉPLOIEMENTS DE CONTENEUR DOCKER . 1 Préambule 1.1 Qu'est ce que Docker ? Docker est une plateforme ouverte pour le développement, le déploiement et l’exécution d’appli- cations. Il permet d’embarquer et d’exécuter une application dans un environnement cloisonné appelé conteneur. Ce cloisonnement permet d’exécuter plusieurs conteneurs simultanément sur un hôte donné. À la différence de la virtualisation où la machine virtuelle contient un système d’exploitation complet, les outils associés et l’application hébergée, le conteneur ne contient que les bibliothèques et les outils nécessaires à l’exécution de l’application, et il fonctionne directement dans le noyau de la machine hôte. Un conteneur est une unité standard de logiciel, qui embarque le code et toutes ses dépendances, afin que l’application « conteneurisée » fonctionne normalement et de façon fiable, quelle que soit la machine hôte. L’image d’un conteneur, présente sur le système, devient un conteneur au mo- ment de l’exécution. Dans le cas d’un conteneur Docker, l’image devient un conteneur lorsqu’elle fonctionne sur le Docker daemon, ou Docker Engine. L’application « conteneurisée » fonctionnera toujours de la même manière, quel que soit l’hôte. Docker peut s’exécuter soit sur un serveur, soit dans un Cloud privé, ou public, apportant une capacité de portabilité et de flexibilité dans le déploiement et l’exécution de l’application. Docker repose sur une architecture client-serveur (figure 1.1). Un client Docker communique avec le Docker daemon pour gèrer la construction et le fonctionnement des conteneurs Docker ainsi que la distribution des images Docker issues d’un Docker Registry, public ou privé. RECOMMANDATIONS DE SÉCURITÉ RELATIVES AUX DÉPLOIEMENTS DE CONTENEUR DOCKER – 3 . F1.1 – Architecture Docker 1.2 Périmètre de l'étude Ce document a pour objectif de présenter les bonnes pratiques de sécurité relatives au déploiement et à l’exécution de conteneur Docker. De ce fait, le Docker daemon et la gestion des images Docker sont hors périmètre de l’étude. Bien que hors périmètre, les Linux Security Modules ou LSM (AppArmor 1, SELinux 2, TOMOYO 3, etc.) permettent de renforcer la sécurité des conteneurs 4 Docker. Dans un souci de défense en profondeur, l’étude de leur mise en oeuvre ne peut donc qu’être conseillée. Les tests réalisés, qui ne visent pas l’exhaustivité du sujet, l’ont été sur la version 18.09.3, build 774a1f4, de Docker Community Edition (CE). 1.3 Convention de lecture Pour certaines recommandations, il est proposé plusieurs solutions techniques qui se distinguent par leur niveau de sécurité. Le lecteur a ainsi la possibilité de choisir une solution en adéquation avec ses besoins de sécurité. En outre, dans une démarche itérative de sécurisation, les différents niveaux de sécurité proposés peuvent permettre de fixer une cible technique et d’identifier les étapes pour l’atteindre. Ainsi, les recommandations sont présentées de la manière suivante : 1. https://docs.docker.com/engine/security/apparmor/. 2. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_atomic_host/7/html/container_ security_guide/docker_selinux_security_policy. 3. https://www.kernel.org/doc/html/v4.15/admin-guide/LSM/tomoyo.html. 4. https://docs.docker.com/engine/security/security/. 4 – RECOMMANDATIONS DE SÉCURITÉ RELATIVES AUX DÉPLOIEMENTS DE CONTENEUR DOCKER . I Rx constitue une recommandation à l’état de l’art ; I Rx - et Rx - - constituent des recommandations alternatives à Rx, d’un niveau de sécurité moindre et respectivement décroissant. I Rx + constitue une recommandation alternative à Rx, ayant des objectifs de sécurité plus élevés. Par ailleurs, dans ce guide, l’utilisation du verbe « devoir » est volontairement plus prescriptive que la formulation « il est recommandé ». 1.4 Risques résiduels Les risques résiduels suivants sont à prendre en compte : I Docker Community Edition (CE) n’a pas été évalué par l’ANSSI et ne dispose donc pas de visa de sécurité. De ce fait, l’ANSSI ne garantit pas la robustesse de ce produit du point de vue de la sécurité ; I les processus Docker Community Edition (CE) s’exécutent avec les droits de l’utilisateur root (UID=0). C’est en particulier le cas du Docker daemon, qui permet d’administrer et de confi- gurer Docker, et qui est fortement exposé à des flux non maîtrisés. Un durcissement du système et des services Docker conformément au guide « Recommandations de configuration d’un sys- tème GNU/Linux » [1] publié par l’ANSSI doit être réalisé pour réduire la surface d’attaque et les risques de compromission de l’hôte ; I Docker Community Edition (CE) présente peu de vulnérabilités connues. La plupart d’entre elles concernent la création de conteneur à partir d’une image malveillante. Cependant, la sécu- rité de Docker repose principalement sur les mécanismes de sécurité du noyau et sur des com- posants externes. Des vulnérabilités les affectant peuvent donc être exploitées pour compro- mettre Docker ou son hôte. RECOMMANDATIONS DE SÉCURITÉ RELATIVES AUX DÉPLOIEMENTS DE CONTENEUR DOCKER – 5 . 2 Recommandations 2.1 Cloisonnement du conteneur Docker crée les systèmes de fichiers et les fichiers indispensables au fonctionnement de chaque conteneur et au cloisonnement des conteneurs entre eux, ainsi que par rapport à l’hôte : I un système de fichiers racine (/) ou root filesystem ; I un système de fichiers des périphériques (/dev) avec un nombre restreint de périphériques ma- tériels ou pseudo-périphériques (ou devices). Par défaut, les conteneurs sont démarrés 5 sans accès au système de fichiers des périphériques (/dev) de uploads/Politique/ docker-fiche-technique.pdf
Documents similaires










-
47
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 18, 2022
- Catégorie Politics / Politiq...
- Langue French
- Taille du fichier 0.4043MB