Le commutateur « Privilèges » de l’application ZimaOS correspond en pratique au mode privilégié de Docker. Le support d’IceWhale l’a décrit comme accordant au conteneur des permissions similaires à celles de l’hôte, un accès direct au matériel et des capacités de niveau root. Activez-le uniquement lorsqu’une application nécessite réellement ce niveau d’accès.
Pour la plupart des applications, le mode privilégié est inutile et affaiblit l’isolation qui rend les conteneurs plus sûrs. Préférez mapper un seul périphérique ou ajouter une seule capacité Linux plutôt que d’accorder tous les accès au conteneur.
Ce que change le mode privilégié
Le guide actuel de Docker sur les conteneurs privilégiés indique que --privileged accorde au conteneur toutes les capacités Linux ainsi qu’un accès à tous les périphériques de l’hôte, tout en assouplissant des contrôles de sécurité majeurs.
Pourquoi IceWhale parle d’un accès de niveau hôte
La réponse officielle indique que le processus du conteneur peut accéder directement au matériel de l’hôte et s’exécuter avec des privilèges similaires à ceux de root. C’est une explication concise utile, mais l’impact pratique sur la sécurité est plus large : le conteneur n’est plus fortement isolé.
N’activez pas les privilèges pour corriger une erreur quelconque
Si une application ne peut pas accéder à un périphérique USB, à un GPU, à une fonction réseau ou à un point de montage, commencez par déterminer précisément quelle permission lui manque. Le mode privilégié peut masquer le véritable problème de configuration tout en exposant l’ensemble de l’hôte.
Préférez le mappage des périphériques
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
Pour un périphérique matériel précis, mappez celui-ci plutôt que tous les périphériques de l’hôte.
Préférez des capacités Linux spécifiques
cap_add:
- NET_ADMIN
Un conteneur VPN ou routeur peut nécessiter une capacité réseau précise. Accordez uniquement l’ensemble minimal requis au lieu d’activer le mode privilégié lorsque la documentation de l’application le permet.
Applications pouvant légitimement nécessiter davantage d’accès
Il peut s’agir d’outils matériels de bas niveau, de Docker-in-Docker, de certains équipements VPN ou réseau, d’outils de gestion USB ou des périphériques, ou encore de logiciels spécialisés de surveillance système. Même dans ce cas, consultez d’abord les instructions de déploiement du projet source.
Applications qui n’en ont généralement pas besoin
Les applications web classiques, les bibliothèques multimédias, les applications de prise de notes, les bases de données, les gestionnaires de photos, les tableaux de bord et la plupart des services d’API ne devraient pas nécessiter le mode privilégié complet pour fonctionner.
Revoyez les privilèges après une mise à jour
Un ancien paquet d’application peut avoir activé le mode privilégié par commodité, même si le projet source a depuis ajouté des permissions plus ciblées. Lors d’une mise à jour, vérifiez à nouveau les exigences Compose actuelles.
Le guide de sécurité Docker présente le modèle plus sûr pour les applications personnalisées.
Inspectez le conteneur avant de lui accorder davantage d’accès
docker inspect CONTAINER
Vérifiez les mappages de périphériques, les capacités, les points de montage, le mode réseau et la configuration de l’utilisateur existants. De nombreuses applications échouent parce qu’un périphérique ou un chemin requis manque, et non parce qu’elles ont besoin d’un accès sans restriction à l’hôte.
Le mode privilégié peut élargir le périmètre d’impact
Si une application web non privilégiée classique est compromise, l’isolation du conteneur peut limiter ce qu’un attaquant peut atteindre. Un conteneur privilégié peut accéder à bien davantage de périphériques de l’hôte et d’interfaces du noyau ; une vulnérabilité dans cette application peut donc avoir des conséquences sur l’ensemble du système.
Documentez la raison de l’activation des privilèges
Lorsque vous les activez intentionnellement, notez précisément la fonctionnalité qui les exige. Lors d’une mise à jour ultérieure de l’application, vérifiez si elle peut fonctionner avec des permissions plus limitées et désactivez le commutateur si ce n’est plus nécessaire.
FAQ
« Privilèges » signifie-t-il que le conteneur s’exécute en tant que root ?
Le mode privilégié va plus loin qu’une simple exécution en tant que root dans le conteneur : il accorde de vastes capacités sur l’hôte ainsi qu’un accès à ses périphériques.
Dois-je l’activer pour chaque application personnalisée ?
Non. Laissez-le désactivé, sauf si la documentation du projet source indique que la charge de travail l’exige.
Puis-je accorder uniquement l’accès au GPU ou à l’USB ?
Oui. Préférez des mappages de périphériques précis et des paramètres d’exécution au mode privilégié complet.
Le mode privilégié est-il dangereux ?
Il réduit considérablement l’isolation du conteneur ; une application privilégiée compromise peut donc avoir un impact bien plus important sur l’hôte.
