Lionel DebrouxLe 29/01/2021 à 21:42
A mon sens, NOPASSWD est pratique pour certaines opérations automatiques, mais au-delà de ça, c'est une mauvaise chose pour la sécurité. Et comme j'imagine que distinguer un appel interactif d'un appel batch n'est pas toujours faisable de manière fiable ou portable, on ne peut pas proposer l'un sans laisser la porte ouverte à l'autre.
Ce qui me fait le plus râler, ce sont les machines produites par certaines infrastructures comme cloud-init - au moins dans certaines conditions - où le login de base est configuré comme:
xyz ALL=(ALL) NOPASSWD:ALL
Ce compte-là peut donc faire un simple
$ sudo -i
pour obtenir un prompt # sans même rentrer un quelconque mot de passe. On ajoute donc une LPE directe à une ACE/RCE sur ce compte-là, qui ne devrait pas certes tourner des services si c'était bien fait, mais on sait tous comment ça se passe en pratique. Et donc, dans le cadre d'une infrastructure à base des faibles conteneurs Linux, c'est en sus un container escape, puisque le root dans un conteneur doit être considéré comme équivalent root sur le host.