web-dev-qa-db-fra.com

Est-il dangereux d'avoir un utilisateur ansible avec sudo sans mot de passe?

Je suis nouveau à Ansible. La plupart des guides d'approvisionnement VPS que j'ai vus jusqu'à présent font ceci:

  1. désactiver la connexion de root
  2. créer un nouvel utilisateur qui ne peut se connecter qu'avec ssh (pas de mot de passe)
  3. ajouter le nouvel utilisateur au groupe wheel, avec l'autorisation Sudo sans mot de passe

Je comprends (1) et (2), mais pas (3).

Sûrement sans mot de passe Sudo, c'est comme se connecter en tant que root? Je comprends l'avantage (commodité), mais n'est-ce pas très précaire?

Je me rends compte que les administrateurs gèrent leurs réseaux de différentes manières, et donc cela pourrait être dit "subjectif", mais c'est une pratique TRÈS courante, elle est même montrée dans divers documents officiels ansibles ainsi que dans des guides publiés par des sociétés d'hébergement. Cela va à l'encontre du bon sens. Quelle est la logique derrière cela?

10
lonix

Si le compte de service peut exécuter Sudo sans mot de passe, vous devez protéger l'accès à ce compte.

Avoir le compte pas avoir un mot de passe, et utiliser uniquement des clés ssh pour s'y connecter, accomplit cela, à condition que vous puissiez également garder la clé privée ssh sécurisée.

18
Michael Hampton

Le nouvel utilisateur créé en (2) ne peut se connecter qu'avec la clé SSH, pas de mot de passe. La clé SSH donne un accès root indirect. Cela revient donc à autoriser simplement la connexion root avec une clé.

Le compte n'ayant pas de mot de passe, il n'est pas possible que Sudo demande un mot de passe. Ansible doit également pouvoir exécuter des commandes. Avoir un mot de passe supplémentaire à fournir au même endroit que la clé n'augmenterait pas la sécurité.

4
RalfFriedl

Le problème est qu'ansible est destiné aux administrateurs et à l'automatisation, donc si vous avez besoin d'entrer un mot de passe pour exécuter un script, ce n'est pas vraiment la meilleure façon. De plus, il n'est pas sûr de stocker le mot de passe de Sudo dans un fichier ou une base de données et de l'obtenir à chaque fois qu'il exécute le playbook. Ainsi, la combinaison de Sudo sans mot de passe et de l'authentification avec les clés ssh est la meilleure méthode pour garantir la sécurité et aucun problème en exécutant le playbook. Vous êtes également administrateur et savez ce que vous programmez dans le playbook. Le playbook ne peut donc pas détruire vos serveurs.

2
NicoKlaus