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.
Il existe cependant une autre voie, non officielle, mais intégrée au noyau Linux depuis 1998…