Question Est-il dangereux de laisser une connexion SSH ouverte?


J'exécute un serveur virtuel Ubuntu sur un site distant et plusieurs personnes ont un accès SSH au serveur pour des raisons liées au Web-dev et à diverses autres choses. Lorsque j'ai configuré le serveur, j'ai défini divers paramètres, notamment «TMOUT = 1800», ce qui a entraîné l'arrêt de toutes les sessions SSH après 30 minutes d'inactivité.

L'un de mes développeurs Web me demande constamment de désactiver le délai d'attente, car il «continue à être déconnecté du serveur» et n'aime pas devoir entrer son mot de passe toutes les 30 minutes.

J'ai activé le délai d'attente pour des raisons de sécurité, afin de ne pas permettre aux sessions SSH de rester ouvertes pendant des périodes plus longues que nécessaire, car il s'agit d'une connexion ouverte au serveur avec un accès root.

Le développeur me dit qu’il est parfaitement acceptable de laisser la connexion ouverte en permanence, ce qui, je suppose, n’est pas une bonne chose.

Dois-je désactiver le délai SSH (est-il acceptable de laisser les connexions SSH inactives ouvertes)? Ou devrais-je lui dire de s'en occuper? Raisonnement?


3
2018-01-23 22:46


origine


Pourquoi ne dites-vous pas à votre développeur Web de définir ServerAliveInterval sur sa machine à la place? - terdon
La sécurité n'est pas un problème binaire. Il n'y a pas de activé = bon, ou désactivé = mauvais. La sécurité doit toujours être liée à la DES RISQUES Votre système est confronté à certaines considérations d’utilisation. La raison pour laquelle vous définissez un délai d'attente est que vous craignez que des personnes puissent prendre le contrôle d'un ordinateur avec des sessions actives. Si vous êtes certain que les clients sont sécurisés, le temps mort est inutile. La valeur des données est-elle élevée? Le système est-il un tremplin potentiel vers un autre système extrêmement critique? Seulement vous savez. - Zoredache
Pour la petite histoire, j'ai utilisé SSH, en tant que VPN, pendant quelques semaines entre deux systèmes, car je ne pouvais pas faire fonctionner mon logiciel VPN normal avec un pare-feu particulièrement strict, et les responsables du pare-feu étaient pas pour un moment. Le client / serveur étant très sécurisé, la connexion était sécurisée. Rien n'atteint la durée de la séance, ce qui la rendait peu sûre. - Zoredache
J'apprécie la réponse. Je suppose que jusqu'à ce que quelque chose se passe, je n'ai aucune raison de tout fermer. Ma préoccupation était la possibilité d'un détournement d'une session ouverte. - Matt Clark
La raison en est que ce n'est pas sûr parce que n'importe qui peut accéder à son ordinateur et émettre n'importe quelle commande. Le fait qu'il soit parfaitement sûr de laisser une connexion SSH ouverte n'est pas le souci que vous tentez de résoudre en ayant un délai d'attente. Je ne comprends pas sa plainte pour être honnête, car il existe des moyens de garder une connexion comme celle-ci en vie automatiquement. - Ramhound


Réponses:


Je ne crois pas que le fait de laisser la connexion ouverte constitue un risque plus important que d’avoir SSH disponible en premier lieu.

On pourrait même soutenir que les connexions répétées représentaient davantage un risque. Mais cela est très théorique car il permet de détecter les tentatives de connexion sur le réseau.

Le risque principal le plus réaliste de laisser la connexion ouverte est la possibilité que le PC client soit compromis lorsque la connexion est ouverte. Il serait donc judicieux de définir le délai d'attente sur une période raisonnable, par exemple 4, 8 ou 12 heures, en fonction des modèles d'utilisation et de la sensibilité des données sur le système hôte.

4 heures permettent un travail normal d'une demi-journée. 8 heures par jour de travail nominal et 12 heures pour une journée de travail plus réaliste. Sur un service de connexion à distance que je vous aide actuellement à spécifier, je viens de demander que les connexions distantes restent ouvertes pendant 12 heures au lieu de 8 afin de correspondre à une journée de travail plus normale. Je ne vois vraiment pas cela comme un risque accru, car le verrouillage automatique du PC client après 5 minutes d’inactivité contient des instructions permanentes pour verrouiller manuellement le PC lorsqu’il s’éloigne du bureau.


3
2018-01-23 23:49



En fait, vous devez tenir compte du fait que plus la connexion est ouverte, plus il y a de chances qu'un attaquant ait le temps de déchiffrer les clés en utilisant une attaque en force. C'est pourquoi il y a un mécanisme de re-clé dans SSH. Donc, si l'on choisit de garder la connexion SSH ouverte longtemps, il doit s'assurer que la recomposition se produit régulièrement. - Martin Prikryl
Un point Martin, particulièrement pertinent compte tenu de la récente remise en cause de WPA2. Comme je l'ai déjà dit, ces risques sont relativement faibles pour une utilisation normale. Cela pourrait être différent pour une utilisation de haute sécurité où les délais d'attente seraient certainement plus agressifs. - Julian Knight


Si les utilisateurs ssh ont des privilèges de superutilisateur. Ensuite, la question devient "les utilisateurs ont-ils un verrouillage de l'écran ou une autre mesure de sécurité pour empêcher une autre personne de s'asseoir devant son ordinateur et d'accéder à son shell?".

Il est possible dans un bureau à plan ouvert de demander à un collègue de s'asseoir au bureau d'un autre employé pour fermer et arrêter le serveur par inadvertance.

Un utilisateur mal intentionné pourrait créer lui-même un compte utilisateur ou modifier ses mots de passe pour accéder à des comptes existants.

etc...

Donc oui, il y a des problèmes de sécurité pour laisser les connexions ssh ouvertes pendant de longues périodes si la station de travail n'est pas sécurisée par des personnes non autorisées.

Je pense, demander au développeur s'il est prêt à assumer la responsabilité de tout le personnel de l'entreprise et si une tentative de piratage est effectuée sur un poste de travail non suivi, il deviendrait la seule personne responsable des dommages causés!

Il n'y a pas de risque de surveillance de mot de passe ou d'interception ssh en définissant le délai d'expiration que vous protégez l'entreprise contre les postes de travail et les opportunistes non sécurisés qui profiteraient d'un shell non supervisé avec des privilèges dommageables.


1
2018-01-24 01:04





Si la sécurité est un facteur, alors non, vous ne devez pas désactiver les délais d'attente. La commodité d'un développeur ne l'emporte pas sur le besoin d'une sécurité de base. Il n'est pas correct de laisser une connexion ouverte en permanence. Est-il assis à son bureau tout le temps qu'il est connecté? Et s'il s'absente une heure pour déjeuner et que quelqu'un s'assoit et a une connexion ouverte?


0
2018-01-24 01:25