Lennart Poettering prsente run0 dans systemd v256, une nouvelle approche de l’lvation de privilges scurise, visant liminer progressivement les binaires SUID traditionnels.
sudo est un programme pour les systmes d’exploitation informatiques de type Unix qui permet aux utilisateurs d’excuter des programmes avec les privilges de scurit d’un autre utilisateur. Il signifiait l’origine « superuser do » car c’tait tout ce qu’il faisait, et c’est son utilisation la plus courante.
Contrairement la commande similaire su, les utilisateurs doivent, par dfaut, fournir leur propre mot de passe pour l’authentification, plutt que le mot de passe de l’utilisateur cible. Aprs l’authentification, et si le fichier de configuration autorise l’accs de l’utilisateur, le systme invoque la commande demande. Le fichier de configuration propose des autorisations d’accs dtailles, notamment l’activation des commandes uniquement partir du terminal d’invocation, l’exigence d’un mot de passe par utilisateur ou par groupe, l’exigence d’une nouvelle saisie du mot de passe chaque fois ou l’absence totale de mot de passe pour une ligne de commande particulire.
La commande sudo est largement considre comme un outil fondamental dans les oprations quotidiennes sous Linux, tel point sa prsence est tenue presque pour acquise. Mais suite cette prsentation, il se pourrait que ses jours soient peut-tre compts et que les nouvelles versions de systemd pourraient marquer le dbut de son dclin.
Dans son dernier billet, Lennart Poettering, le matre d’uvre de systemd, prsente une critique rflchie et un remplacement robuste de la commande sudo, qui existe depuis longtemps. Selon lui, le problme principal de sudo rside dans sa nature SUID, qui permet un processus de s’excuter avec des privilges levs partiellement contrls par du code non privilgi, exigeant un nettoyage manuel mticuleux – une recette pour des failles de scurit potentielles.
Je pense personnellement que le plus gros problme de sudo est le fait qu’il s’agisse d’un binaire SUID – la grande surface d’attaque, les plugins, l’accs au rseau, etc. qui viennent ensuite ne font qu’aggraver le problme principal…
la lumire de ce qui prcde, sa vision d’un systme plus sr implique l’limination complte des binaires SUID et la mise en place d’une architecture o le code privilgi fonctionne indpendamment des interfrences non privilgies.
Dans mon monde idal, nous aurions un systme d’exploitation entirement dpourvu de SUID. Jetons le concept de SUID sur la dcharge des mauvaises ides d’UNIX. Un contexte d’excution pour le code privilgi qui est moiti sous le contrle du code non privilgi et qui ncessite un nettoyage manuel minutieux n’est tout simplement pas la faon dont l’ingnierie de la scurit devrait tre faite en 2024.
Voici run0, la dernire innovation de systemd dont la sortie est prvue pour la version 256. Il ne s’agit pas seulement d’un nouvel outil, mais d’un systemd-run rimagin, accessible via un lien symbolique, qui imite sudo sans tre rellement un binaire SUID.
Il fonctionne en demandant au gestionnaire de services d’excuter des commandes sous l’UID de l’utilisateur cible, en crant un nouveau PTY (pseudoterminal) et en transfrant des donnes entre l’ATS d’origine et ce PTY. Cette configuration garantit que la commande s’excute dans un environnement isol, partir du PID 1, sans hriter d’un contexte problmatique de la part du client.
De plus, run0 vite les complexits de la configuration traditionnelle en utilisant polkit pour l’autorisation, en rationalisant les interactions avec l’utilisateur et en scurisant davantage le processus d’excution. L’outil ajoute galement une touche de convivialit : lorsqu’il fonctionne avec des privilges levs, il modifie l’arrire-plan du terminal en lui donnant une teinte rougetre, ce qui sert de repre visuel pour indiquer le statut lev de l’utilisateur – un rappel simple mais efficace pour grer les privilges de manire responsable.
En conclusion, une chose est sre : cela suscitera de nouveaux dbats au sein de la communaut Linux. Une autre certitude est que systemd v256 est maintenant achev 88 %, et qu’il ne reste plus grand-chose avant la sortie de la version stable finale. Reste savoir ce qui se passera ensuite.
Source : Lennart Poettering
Et vous ?
Pensez-vous que run0 est crdible ou pertinente ?
Quel est votre avis sur le sujet ?
Voir aussi :