J'aime l'idée d'accéder aux serveurs via des clés, pour ne pas avoir à saisir mon mot de passe chaque fois que je me trouve ssh
dans une boîte. Je verrouille même le root
mot de passe de l' utilisateur (pas ) ( passwd -l username
), de sorte qu'il est impossible de se connecter sans clé.
Mais tout cela se casse si je dois entrer un mot de passe pour les sudo
commandes. Je suis donc tenté de configurer sans motsudo
de passe pour rendre les choses conformes à la connexion sans mot de passe.
Cependant, j'ai toujours le sentiment que cela peut se retourner contre moi de façon inattendue, cela me semble tout simplement peu sûr. Y at-il des mises en garde avec une telle configuration? Recommanderiez-vous / ne recommanderiez-vous pas cette opération pour un compte d'utilisateur sur un serveur?
Des clarifications
- Je parle de l'utilisation de
sudo
dans une session utilisateur interactive ici, pas pour des services ou des scripts administratifs - Je parle d'utiliser un serveur cloud (je n'ai donc aucun accès local physique à une machine et je ne peux me connecter qu'à distance)
- Je sais qu'il y
sudo
a un délai d'attente pendant lequel je n'ai pas besoin de ressaisir mon mot de passe. Mais mon concert ne consiste pas vraiment à perdre le temps supplémentaire nécessaire pour taper physiquement un mot de passe. Mon idée cependant était de ne pas avoir à gérer de mot de passe du tout, car je suppose que:- Si je dois le mémoriser du tout, c'est très probablement trop court pour être sécurisé ou réutilisé
- Si je génère un mot de passe long et unique pour mon compte distant, je dois le stocker quelque part (programme de gestion de mot de passe local ou service cloud) et le récupérer à chaque fois que je souhaite l'utiliser
sudo
. J'espérais pouvoir l'éviter.
Donc, avec cette question, je voulais mieux comprendre les risques, les mises en garde et les compromis d'une configuration possible par rapport aux autres.
Suivi 1
Toutes les réponses disent que le mot de passe sudo
sans mot de passe n'est pas sécurisé, car il permet une escalade "facile" des privilèges si mon compte d'utilisateur personnel est compromis. Je comprends que. Par contre, si j'utilise un mot de passe, tous les risques classiques sont associés à des mots de passe (chaîne trop courte ou trop commune, répétition sur différents services, etc.). Mais je suppose que si je désactive l’authentification par mot de passe /etc/ssh/sshd_config
afin que vous ayez toujours une clé pour vous connecter, puis-je utiliser un mot de passe plus simple simplement pour sudo
que ce soit plus facile à saisir? Est-ce une stratégie valable?
Suivi 2
Si j'ai aussi une clé pour me connecter en tant que root
ssh, si quelqu'un a accès à mon ordinateur et vole mes clés (ils sont toujours protégés par le mot de passe du trousseau du système d'exploitation!), Ils peuvent également obtenir un accès direct au root
compte. , en contournant le sudo
chemin. Quelle devrait être la politique d'accès au root
compte alors?
/etc/passwd
tel que nologin, ne définissez aucun mot de passe, puis définissez sans mot de passe dans visudo. Si vous faites cela, vous devez également vous assurer que le paramètre visudo ne concerne que ce dont ce compte système a absolument besoin, c'est-à-dire qu'il est verrouillé sur les seules commandes qu'il doit exécuter.