Nous proposons un module qui permet de se passer des commandes su et sudo. Lâavantage de notre module est quâil permet de contrĂŽler la liste des privilĂšges donnĂ©s aux programmes.
Traditionnellement, lâadministration des systĂšmes GNU/Linux repose sur lâexistence dâun seul utilisateur puissant (appelĂ© superâutilisateur) qui dĂ©tient Ă lui seul la liste complĂšte des privilĂšges du systĂšme. Cette vision a Ă©tĂ© critiquĂ©e car tous les programmes exĂ©cutĂ©s dans le contexte du superâutilisateur obtiennent beaucoup plus de privilĂšges quâils nâen ont besoin. Par exemple, tcpdump demande uniquement le privilĂšge cap_net_raw pour sâexĂ©cuter. Cependant, en lâexĂ©cutant dans le contexte de superâutilisateur, tcpdump obtient la liste complĂšte des privilĂšges du systĂšme. Ainsi, lâapproche traditionnelle de lâadministration GNU/Linux rompt le principe du moindre privilĂšge, qui garantit quâun processus doit juste avoir les privilĂšges nĂ©cessaires pour effectuer son travail. Un attaquant pourrait exploiter les vulnĂ©rabilitĂ©s de tcpdump afin de compromettre la sĂ©curitĂ© du systĂšme.
Nous proposons un module que on l'appelle RAR (Root As Role) qui implĂ©mente une approche basĂ©e sur les rĂŽles afin de distribuer les privilĂšges aux utilisateurs. Notre module est livrĂ© avec un outil appelĂ© sr (switch role) qui permet aux utilisateurs de contrĂŽler la liste des privilĂšges quâils accordent aux programmes.
Ainsi, avec notre module, les utilisateurs de GNU/Linux peuvent cesser dâutiliser les commandes sudo et su, qui ne permettent pas de contrĂŽler la liste des privilĂšges Ă donner aux programmes.
Le code (GPLâŻv3) et des exemples plus complets sont disponibles sur la page GitHub du projet (https://github.com/SamerW/RootAsRole)