Linux capabilities : se passer des commandes su et sudo

Posté par . Édité par ZeroHeure, Benoît Sibaud, Pierre Jarillon, Davy Defaud et Trollnad Dump. Modéré par Benoît Sibaud. Licence CC by-sa.
59
6
sept.
2018
Administration système

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…