{"id":4147,"date":"2025-03-27T22:07:58","date_gmt":"2025-03-27T19:07:58","guid":{"rendered":"https:\/\/demensdeum.com\/blog\/2025\/03\/27\/docker-rootless\/"},"modified":"2025-03-27T22:34:42","modified_gmt":"2025-03-27T19:34:42","slug":"docker-rootless","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/fr\/2025\/03\/27\/docker-rootless\/","title":{"rendered":"Docker Safety: Pourquoi le lancement de Root est-il une mauvaise id\u00e9e"},"content":{"rendered":"<p>Docker est devenu un outil indispensable dans les DevOps et le d\u00e9veloppement modernes. Il vous permet d&#8217;isoler l&#8217;encerclement, de simplifier la tenue et de mettre \u00e0 l&#8217;\u00e9chelle rapidement les applications. Cependant, par d\u00e9faut, Docker a besoin d&#8217;une racine, ce qui cr\u00e9e une zone potentiellement dangereuse, qui est souvent ignor\u00e9e dans les premiers stades.<\/p>\n<h2> Pourquoi Docker fonctionne-t-il \u00e0 Root? <\/h2>\n<p>Docker utilise les capacit\u00e9s du Linux: CGroups, des espaces de noms, des iptables, du mont, de la mise en r\u00e9seau et d&#8217;autres fonctions syst\u00e8me. Ces op\u00e9rations ne sont disponibles que pour le super utilisateur.<\/p>\n<p>C&#8217;est pourquoi:<br \/>\n* Dockerd Demon commence \u00e0 partir de la racine,<br \/>\n* Les commandes Docker sont transmises \u00e0 ce d\u00e9mon.<\/p>\n<p>Cela simplifie le travail et donne un contr\u00f4le total sur le syst\u00e8me, mais en m\u00eame temps, il ouvre des vuln\u00e9rabilit\u00e9s potentielles.<\/p>\n<h2> Pourquoi est-il dangereux: Breakout de conteneurs, CVE, RCE <\/H2><\/p>\n<h3> Breakout de conteneur <\/H3><\/p>\n<p>Avec une isolation faible, un attaquant peut utiliser Chroot ou Pivot_Root pour entrer l&#8217;h\u00f4te.<\/p>\n<p>Exemples d&#8217;attaques r\u00e9elles:<\/p>\n<p>* CVE-2019-5736-Vuln\u00e9rabilit\u00e9 \u00e0 Runc, autoris\u00e9 \u00e0 r\u00e9\u00e9crire l&#8217;application et \u00e0 ex\u00e9cuter le code sur l&#8217;h\u00f4te.<br \/>\n* CVE-2021-3156-Vuln\u00e9rabilit\u00e9 \u00e0 Sudo, autoris\u00e9 \u00e0 obtenir une racine \u00e0 l&#8217;int\u00e9rieur du conteneur et \u00e0 sortir.<\/p>\n<h3> RCE (ex\u00e9cution de code distant) <\/h3>\n<p>Si l&#8217;application dans le conteneur est vuln\u00e9rable et commence \u00e0 partir de root, RCE = contr\u00f4le complet sur l&#8217;h\u00f4te.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2025\/03\/mediadocker-rootless.png\"><\/p>\n<h2> docker sans racine: solution du probl\u00e8me <\/h2>\n<p>Pour minimiser ces risques, le mode sans racine est apparu dans Docker. Dans ce mode, le d\u00e9mon et les conteneurs sont lanc\u00e9s au nom de l&#8217;utilisateur habituel, sans aucune privialit\u00e9 racine. Cela signifie que m\u00eame si un attaquant re\u00e7oit le contr\u00f4le du conteneur, il ne pourra pas nuire au syst\u00e8me h\u00f4te.<br \/>\nIl y a des restrictions: vous ne pouvez pas utiliser les ports inf\u00e9rieurs \u00e0 1024 (par exemple, 80 et 443), le mode priviled, ainsi que certains modes de r\u00e9seau, n&#8217;est pas disponible. Cependant, dans la plupart des sc\u00e9narios de d\u00e9veloppement et Docker sans racine CI \/ CD, il fait face \u00e0 sa t\u00e2che et augmente consid\u00e9rablement le niveau de s\u00e9curit\u00e9.<\/p>\n<h2> Historiquement, lancez \u00e0 partir de Root &#8211; Antipattern <\/h2>\n<p>D\u00e8s le d\u00e9but, le principe des plus petits privil\u00e8ges a \u00e9t\u00e9 appliqu\u00e9 dans le monde Unix \/ Linux. Moins les droits du processus sont moins \u00e9lev\u00e9s, moins il peut faire de mal. Docker a initialement exig\u00e9 un acc\u00e8s root, mais aujourd&#8217;hui, il est consid\u00e9r\u00e9 comme une menace potentielle.<\/p>\n<h2> Sources <\/h2>\n<p><a href=\"https:\/\/docs.docker.com\/engine\/security\/rootless\/\" rel=\"noopener\" target=\"_blank\">https:\/\/docs.docker.com\/engine\/security\/rootless\/<\/a><br \/>\n<a href=\"https:\/\/rootlesscontaine.rs\/\" rel=\"noopener\" target=\"_blank\">https:\/\/rootlesscontaine.rs\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker est devenu un outil indispensable dans les DevOps et le d\u00e9veloppement modernes. Il vous permet d&#8217;isoler l&#8217;encerclement, de simplifier la tenue et de mettre \u00e0 l&#8217;\u00e9chelle rapidement les applications. Cependant, par d\u00e9faut, Docker a besoin d&#8217;une racine, ce qui cr\u00e9e une zone potentiellement dangereuse, qui est souvent ignor\u00e9e dans les premiers stades. Pourquoi Docker<a class=\"more-link\" href=\"https:\/\/demensdeum.com\/blog\/fr\/2025\/03\/27\/docker-rootless\/\">Continue reading <span class=\"screen-reader-text\">&#8220;Docker Safety: Pourquoi le lancement de Root est-il une mauvaise id\u00e9e&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[49],"tags":[],"class_list":["post-4147","post","type-post","status-publish","format-standard","hentry","category-blog","entry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"fr","enabled_languages":["en","ru","zh","de","fr","ja","pt","hi"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false},"hi":{"title":false,"content":false,"excerpt":false}}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/4147","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/comments?post=4147"}],"version-history":[{"count":6,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/4147\/revisions"}],"predecessor-version":[{"id":4153,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/posts\/4147\/revisions\/4153"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/media?parent=4147"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/categories?post=4147"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/fr\/wp-json\/wp\/v2\/tags?post=4147"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}