Comment accorder un accès temporaire au serveur?

15

J'ai embauché un consultant à distance pour régler mes serveurs. Maintenant, je ne suis pas sûr à 100% de lui donner le mot de passe root et de lui permettre de faire ce qu'il veut faire sur les serveurs. Idéalement, je veux voir tout ce qu'il fait sur mes serveurs (en temps réel) et aussi trouver un moyen de ne pas partager le mot de passe root avec lui.

Existe-t-il des meilleures pratiques pour permettre à un consultant à distance d'accéder à votre serveur?

EDIT: Pour clarifier, je veux faire une sorte de partage d'écran avec le consultant. Existe-t-il une méthode par laquelle ses commandes sont acheminées via mon compte sans qu'il obtienne un mot de passe?

PS: Mes serveurs sont sur Ubuntu 9.10

Paras Chopra
la source
4
Je pense que la confiance doit passer avant toute autre chose . Si vous ne lui faites pas confiance (assez), ne le laissez pas jouer avec votre serveur. Faites également une sauvegarde au cas où et essayez de ne pas avoir de données confidentielles sur le serveur.
Cristian Ciupitu

Réponses:

8

Vous pouvez le laisser se connecter avec un compte régulier, puis surveiller sa session SSH . La solution basée sur écran est la meilleure à mon avis et vous permettra de faire une administration système "par paire". Par exemple, il pourrait taper les commandes sudo et vous saisiriez le mot de passe au cas où cela serait nécessaire.

PS Si vous utilisez un écran, cela ne signifie pas que vous ne devriez pas également utiliser sudosh2 ou d'autres solutions.

Cristian Ciupitu
la source
15

Au lieu de lui accorder le mot de passe root, utilisez sudo.

Si vous voulez voir tout ce qu'il fait en temps réel en tant que superutilisateur, consultez sudosh2 . De la documentation:

sudosh est un filtre shell d'audit et peut être utilisé comme shell de connexion. Sudosh enregistre toutes les frappes et sorties et peut lire la session comme un magnétoscope.

«Toutes les frappes» comprend les frappes des espaces arrière, la suppression de caractères, le «mot d'effacement» de BASH, etc. Vous pouvez regarder les fautes de frappe et corrections embarrassantes de quelqu'un, etc.

sudosh prend en charge syslog et vous pouvez envoyer les journaux à un serveur syslog distant. Cela garantirait que l'utilisateur ne pourrait pas effacer toutes les copies des journaux d'audit.

Notez que le projet original sudosh (la première version) a été abandonné par son auteur. sudosh2 est bel et bien vivant.

Stefan Lasiewski
la source
2

Cela dépend vraiment du niveau d'accès que vous souhaitez lui accorder. Je n'activerais jamais les connexions root distantes en premier lieu. Seuls les comptes "normaux" doivent avoir un accès à distance, puis configurer sudo pour tout ce dont cette personne a besoin.

Chris S
la source
Mais un compte avec sudo n'est-il pas équivalent à fournir un accès root?
Paras Chopra
4
@Paras Chopra - cela dépend du type de configuration que vous utilisez - vous pouvez limiter l' sudoaccès à certaines commandes, par exemple
warren
2

Tout d'abord, vous devriez avoir des objectifs clairement définis pour ce que vous aimeriez qu'il fasse. Une fois ces objectifs définis, vous pouvez lui accorder le niveau d'accès requis pour atteindre ces objectifs.

C'est comme déposer ma voiture à l'atelier de réparation et leur dire de "réparer". La prochaine chose que vous savez, j'ai une facture de milliers de dollars et ils ont fait des choses que je ne voulais pas faire et que je n'ai pas demandées.

joeqwerty
la source
0

J'ajoute une autre réponse différente en réponse à votre mise à jour.

En utilisant l'écran GNU, vous pouvez partager un écran avec un autre utilisateur. Cela signifie qu'il peut taper des commandes, et vous voyez tout ce qu'il tape. Vous pouvez taper des commandes et il peut voir ce que vous tapez. Lorsqu'il est invité à entrer un mot de passe, vous pouvez taper le mot de passe, mais le contenu du mot de passe n'est pas imprimé à l'écran (Remarque: Bien que le texte ne soit pas imprimé à l'écran, je ne suis pas sûr que l'autre utilisateur puisse y accéder à vos frappes d'une autre manière, ou avoir accès au tampon de frappe, etc.).

Plus d'informations sur http://www.debian-administration.org/article/Using_GNU_screen%27s_multiuser_feature_for_remote_support

Autre suggestion: remplacez préalablement le mot de passe root par un mot de passe temporaire. Lorsqu'il est parti, restaurez le mot de passe root sur le mot de passe d'origine.

Stefan Lasiewski
la source
0

Si vous autorisez uniquement l'accès à la clé publique à votre serveur mais pas de connexion par mot de passe, vous pouvez révoquer le droit d'accès à tout moment en supprimant la clé que vous avez donnée au consultant.

Une fois sur la machine, l'écran GNU devrait fournir toutes les fonctionnalités souhaitées - comme l'a suggéré Cristian Ciupitu. Si vous voulez ajouter plus de confort, sudosh2 pourrait vous aider, mais votre historique des shells et la copie d'écran de votre écran pourraient vous aider à lire les commandes plus tard ...

MaoPU
la source