Dans notre équipe, nous avons trois administrateurs système Linux expérimentés chargés d'administrer quelques dizaines de serveurs Debian. Auparavant, nous avons tous travaillé en tant que root en utilisant l'authentification par clé publique SSH. Mais nous avons eu une discussion sur quelle est la meilleure pratique pour ce scénario et nous n'avons pu nous mettre d'accord sur rien.
La clé publique SSH de tout le monde est placée dans ~root/.ssh/authorized_keys2
- Avantage : facile à utiliser, le transfert d'agent SSH fonctionne facilement, peu de surcharge
- Inconvénient : manque d'audit (on ne sait jamais quel "root" a apporté un changement), les accidents sont plus probables
Utilisation de comptes personnalisés et sudo
De cette manière, nous nous connecterions avec des comptes personnalisés en utilisant des clés publiques SSH et utiliserions sudo pour effectuer des tâches ponctuelles avec les permissions de root. De plus, nous pourrions nous donner le groupe "adm" qui nous permet de consulter les fichiers journaux.
- Avantage : bon audit, sudo nous empêche de faire des choses idiotes trop facilement
- Inconvénient : le transfert d'agent SSH ne fonctionne plus, c'est une corvée car presque rien ne peut être fait en tant que non-root
Utilisation de plusieurs utilisateurs UID 0
C'est une proposition très originale de l'un des administrateurs système. Il propose de créer trois utilisateurs dans /etc/passwd ayant tous l'UID 0 mais des noms de connexion différents. Il affirme que ce n'est pas réellement interdit et permet à tout le monde d'avoir l'UID 0 tout en étant capable d'auditer.
- Avantage : le transfert d'agent SSH fonctionne, l'audit pourrait fonctionner (non testé), pas de problème avec sudo
- Inconvénient : cela semble assez peu recommandé - je n'ai trouvé aucune documentation qui l'autorise comme méthode permise
Que suggéreriez-vous ?