Des lecteurs comme vous aident à soutenir MUO. Lorsque vous effectuez un achat en utilisant des liens sur notre site, nous pouvons gagner une commission d'affiliation. En savoir plus.

Docker est l'une des plates-formes de conteneurisation les plus utilisées et est très appréciée des ingénieurs en logiciel. Il est livré avec un puissant outil CLI pour gérer les conteneurs Docker et d'autres tâches connexes.

Par défaut, vous avez besoin des privilèges root pour exécuter toutes les commandes liées à Docker sous Linux. Bien sûr, vous pouvez modifier cela pour plus de commodité et exécuter des commandes Docker sans privilèges root, mais vous devez être conscient des implications en matière de sécurité.

Qu'est-ce que la surface d'attaque Docker ?

Une surface d'attaque est le nombre de points d'attaque, plus comme le nombre de fenêtres, qu'un utilisateur malveillant peut utiliser pour pénétrer dans votre système et causer des ravages. En règle générale, les systèmes informatiques doivent avoir des surfaces d'attaque minimales pour réduire les risques de sécurité.

instagram viewer

En général, la surface d'attaque de Docker est très minime. Les conteneurs s'exécutent dans un environnement isolé sécurisé et n'affectent pas le système d'exploitation hôte, sauf indication contraire. De plus, les conteneurs Docker n'exécutent que des services minimaux, ce qui les rend plus sécurisés.

Vous pouvez configurer votre système Linux pour contrôler Docker sans privilèges sudo. Cela peut être pratique dans les environnements de développement, mais peut constituer une grave faille de sécurité dans les systèmes de production. Et voici pourquoi vous ne devriez jamais exécuter Docker sans sudo.

1. Capacité à contrôler les conteneurs Docker

Sans les privilèges sudo, toute personne ayant accès à votre système ou serveur peut contrôler tous les aspects de Docker. Ils ont accès à vos fichiers journaux Docker et peuvent arrêter et supprimer des conteneurs à volonté ou accidentellement. Vous pourriez également perdre des données critiques qui sont vitales pour la continuité des activités.

Si vous utilisez des conteneurs Docker dans des environnements de production, les temps d'arrêt entraînent une perte d'activité et de confiance.

2. Prenez le contrôle des répertoires du système d'exploitation hôte

Docker Volumes est un service puissant qui vous permet de partager et de conserver des données de conteneur en les écrivant dans un dossier spécifié sur le système d'exploitation hôte.

L'une des plus grandes menaces que présente Docker sans sudo est que n'importe qui sur votre système peut prendre le contrôle des répertoires du système d'exploitation hôte, y compris le répertoire racine.

Tout ce que vous avez à faire est d'exécuter une image Linux Docker, par exemple l'image Ubuntu, et de la monter sur le dossier racine à l'aide de la commande suivante :

docker run -ti -v /:/hostproot ubuntu bash

Et puisque les conteneurs Linux Docker s'exécutent en tant qu'utilisateur racine, cela signifie essentiellement que vous avez accès à l'intégralité du dossier racine.

La commande susmentionnée téléchargera et exécutera la dernière image Ubuntu et la montera dans le répertoire racine.

Sur le terminal à conteneurs Docker, accédez au /hostproot répertoire utilisant la commande cd:

CD /hostproot

Lister le contenu de ce répertoire à l'aide de la commande ls affiche tous les fichiers du système d'exploitation hôte qui sont maintenant disponibles dans votre conteneur. Désormais, vous pouvez manipuler des fichiers, afficher des fichiers secrets, masquer et afficher des fichiers, modifier des autorisations, etc.

3. Installer des logiciels malveillants

Une image Docker bien conçue peut s'exécuter en arrière-plan et manipuler votre système ou collecter des données sensibles. Pire encore, un utilisateur malveillant pourrait propager du code malveillant sur votre réseau via des conteneurs Docker.

Il y a plusieurs cas pratiques d'utilisation des conteneurs Docker, et chaque application s'accompagne d'un ensemble différent de menaces de sécurité.

Sécurisez vos conteneurs Docker sous Linux

Docker est une plateforme puissante et sécurisée. L'exécution de Docker sans sudo augmente votre surface d'attaque et rend votre système vulnérable. Dans les environnements de production, il est fortement recommandé d'utiliser sudo avec Docker.

Avec autant d'utilisateurs sur un système, il devient extrêmement difficile d'attribuer des autorisations à chaque utilisateur. Dans de tels cas, suivre les meilleures pratiques de contrôle d'accès peut vous aider à maintenir la sécurité de votre système.