Dans ma phase d’apprentissage personnelle, de mes différentes recherches pour durcir Linux de différents moyens, je m’attaque à la surface lié à l’usage des commandes ‘su’, et ‘sudo’ …
Premier fait intéressant que j’ai appris récemment est le fait suivant :
- Lors de l’installation d’une Debian, si tu ne précises pas l’identification root, celui-ci n’est pas créé, et le système bascule automatiquement en mode sudo, avec pour la gestion administrative, le premier compte créé.
Et, oui, Debian fonctionne, soit en mode ‘su’, soit en mode ‘sudo’ et ce nativement …
Bien, dans les faits d’un durcissement de ces deux binaires, il est intéressant donc d’utiliser la commande ‘dpkg-statoverride’.
- Dans le premier cas, où il y a eu gestion du compte root, puis création d’un compte utilisateur :
dpkg-statoverride --update --add root sudo 4750 /bin/su
Ce qui a pour propos de refuser l’accès au binaire ‘su’ pour tout le monde, sauf ceux qui font partie du groupe ‘sudo’.
Et de fait, on se retrouve bien avec un refus ferme et catégorique d’accès au binaire.
Hors dans ce contexte, personne ne fait partie du groupe ‘sudo’ … donc, même le premier compte ne pourra plus utiliser ‘su’ - très bien !
Au lieu d’ajouter le premier compte au groupe sudo, on va créer un groupe système, tel que ‘gsu’ pour l’exemple … puis ajouter son user au groupe.
addgroup -r gsu
adduser user_id gsu
(où ‘user_id’ est à modifier par votre propre identifiant…)
Ensuite, il faut annuler la gestion de dpkg-statoverride pour préciser le bon groupe :
dpkg-statoverride --remove /bin/su
dpkg-statoverride --update --add root gsu 4750 /bin/su
On se déco, se reco !
Normalement, votre utilisateur, et seul votre utilisateur a le droit d’utiliser la commande ‘su’ …
Ensuite, on installe le binaire ‘sudo’ … sauf à n’avoir pas géré le compte root, lors de l’installation …
Mais, là, on va durcir les choses aussi !
En effet, on ne vas pas utiliser le groupe ‘sudo’, mais le groupe ‘gsu’ créé précédemment …
Pour cela, il faut avec les droits admins modifier le fichier sudoers principal …
pour remplacer la ligne qui déclare le groupe ‘sudo’ ayant tous les droits :
#%sudo ALL=(ALL:ALL) ALL
%gsu ALL=(ALL:ALL) ALL
On vérifie bien que votre id fait bien partie du groupe ‘gsu’ …
# getent group gsu
gsu:x:999:votre_user
On applique la politique ‘dpkg-statoverride’ sur /usr/bin/sudo afin que seuls les utilisateurs du groupe est le droit d’accéder au binaire, et pas le reste du monde !
dpkg-statoverride --update --add root gsu 4750 /usr/bin/sudo
On se déco à nouveau, et se reco !
Et, c’est là, un truc que je n’ai pas du comprendre …
Parce que mon compte utilisateur a beau faire partie du groupe admin en question, ici nommé ‘gsu’ … il peut gérer ‘su’ mais ‘sudo’, est en échec, refus de reconnaître le pass du compte utilisateur …
Alors que n’aies-je pas compris, dans l’usage de sudo ?