Publication de Bubblewrap 0.5.0, un conteneur pour créer des environnements isolés

La version de l'outil Bubblewrap 0.5.0, généralement utilisée pour restreindre les applications des utilisateurs non privilégiés, est maintenant disponible pour organiser le travail dans des environnements isolés. En pratique, Bubblewrap est utilisé par le projet Flatpak comme couche d'isolation pour les applications exécutées à partir de paquets. Le code du projet est écrit en langage C et est distribué sous la licence LGPLv2+.

L'isolation utilise des technologies de virtualisation de conteneurs traditionnelles pour Linux, basées sur l'utilisation de cgroups, d'espaces de noms (namespaces), de Seccomp et de SELinux. Pour effectuer des opérations privilégiées de configuration du conteneur, Bubblewrap est lancé avec les droits root (fichier exécutable avec le drapeau suid) et les privilÚges sont ensuite réinitialisés aprÚs l'initialisation du conteneur.

L'activation dans le systĂšme d'espaces de noms d'identifiants d'utilisateur (user namespaces), permettant d'utiliser un ensemble distinct d'identifiants dans les conteneurs, n'est pas requise pour le fonctionnement, car par dĂ©faut, elle ne fonctionne pas sur de nombreuses distributions (Bubblewrap est positionnĂ© comme une implĂ©mentation suid limitĂ©e d'un sous-ensemble des fonctionnalitĂ©s des espaces de noms d'utilisateurs — pour exclure tous les identifiants d'utilisateurs et de processus de l'environnement, sauf pour le courant, les modes CLONE_NEWUSER et CLONE_NEWPID sont utilisĂ©s). Pour une protection supplĂ©mentaire, les programmes exĂ©cutĂ©s sous Bubblewrap sont lancĂ©s en mode PR_SET_NO_NEW_PRIVS, interdisant l'acquisition de nouveaux privilĂšges, par exemple en cas de prĂ©sence du drapeau setuid.

La principale distinction par rapport Ă  un projet similaire

La distinction clé par rapport à un projet similaire, Firejail, qui utilise également un modÚle de démarrage avec application de setuid, est que dans Bubblewrap, la couche de création de conteneurs n'inclut que le minimum requis de fonctionnalités, tandis que toutes les fonctions avancées nécessaires au lancement d'applications graphiques, à l'interaction avec le bureau et à la filtration des appels à Pulseaudio, sont transférées à Flatpak et exécutées aprÚs que les privilÚges aient été réinitialisés. Firejail, quant à lui, regroupe toutes les fonctions associées dans un seul fichier exécutable, ce qui complique son audit et sa gestion de la sécurité.

La nouvelle version propose les options : « —chmod » pour modifier les permissions, « —clearenv » pour nettoyer les variables d'environnement (sauf PWD) et « —perms » pour dĂ©terminer les permissions appliquĂ©es lors de l'exĂ©cution des opĂ©rations « —bind-data », « —dir », « —file », « —ro-bind-data » et « —tmpfs ». Le diagnostic des problĂšmes rencontrĂ©s lors des Ă©checs de montage en mode bind a Ă©tĂ© amĂ©liorĂ©. La prise en charge de l'auto-complĂ©tion des commandes par pression de la touche tabulation a Ă©tĂ© ajoutĂ©e pour zsh.

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster