Linux : limitez les utilisateurs simultanés sur votre serveur avec SSH

Linux : limitez les utilisateurs simultanés sur votre serveur avec SSH

Linux est un système multi-utilisateurs. Cela ne signifie pas seulement qu’il peut permettre à un serveur ou à un ordinateur de bureau d’héberger plusieurs utilisateurs, mais cela signifie également que ces utilisateurs peuvent tous se connecter en même temps. Théoriquement, des centaines, voire des milliers d’utilisateurs Linux pourraient être connectés simultanément au même serveur.

Mais le voudriez-vous ?

Non seulement cela pourrait épuiser considérablement les ressources de votre système, mais cela pourrait aussi devenir un problème sérieux si plusieurs administrateurs se connectent, chacun essayant de modifier les options de configuration en même temps.

Vous pouvez même avoir le même utilisateur connecté plusieurs fois à un seul système.

Tout cela pourrait conduire au chaos… peut-être même à une hystérie collective.

Heureusement, Secure Shell (SSH), qui est le moyen le plus courant de se connecter à des serveurs Linux distants, propose des options qui peuvent aider à résoudre ce problème éventuel et je vais vous montrer comment y remédier.

Ce dont vous aurez besoin

Les seules choses dont vous aurez besoin sont une instance en cours d’exécution de Linux et un utilisateur disposant des privilèges sudo. Bien entendu, la machine sur laquelle vous travaillez doit également disposer d’une connexion Internet. Sinon, c’est tout. Faisons un peu de magie SSH.

Limitation des sessions simultanées SSH

La première chose que nous allons faire est de limiter le nombre de sessions simultanées que votre serveur acceptera. Cela permet de fixer une limite stricte au nombre de sessions SSH autorisées simultanément. Lorsque la limite est atteinte, toutes les sessions seront automatiquement supprimées et personne d’autre ne pourra se connecter jusqu’à ce que quelqu’un mette fin à une session.

Par défaut, SSH ne limite pas le nombre de sessions simultanées. Cependant, il existe une ligne dans le fichier de configuration du démon à cet effet spécifique. Ouvrez le fichier de configuration avec :

sudo nano /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

Vous pouvez rechercher la ligne requise en appuyant sur la combinaison de touches Ctrl+W, ce qui fera apparaître le champ de recherche nano. Dans ce champ, tapez MaxStartups et appuyez sur Entrée sur votre clavier. Ce qui apparaîtra est la ligne :

Voici l’explication de cette ligne :

  • MaxStartups est l’option
  • 10 est le nombre de connexions non authentifiées avant que SSH ne commence à disparaître
  • 30 est le pourcentage de chance d’interrompre une connexion, une fois la limite atteinte
  • 60 est le nombre maximum de connexions à partir duquel SSH commence à tout supprimer

Activez la fonctionnalité en supprimant le caractère # de la ligne, pour obtenir le résultat suivant :

Il est important de noter que MaxStartups correspond au nombre de connexions simultanées non authentifiées au démon SSH. Ceci est utilisé pour aider à protéger un système contre les attaques par déni de service, je suggère donc de le laisser tel quel (autre que de supprimer le caractère #).

Bien entendu, cela ne limite pas le nombre de connexions autorisées simultanées. Pour cela, nous devons configurer la ligne MaxSessions, qui ressemblera à ceci :

Pour limiter le nombre de connexions SSH simultanées à 10, remplacez cette ligne par :

Enregistrez et fermez le fichier.

Redémarrez le démon SSH avec la commande :

sudo systemctl redémarrer ssh

sudo systemctl redémarrer ssh

Si vous utilisez une distribution basée sur Fedora, la commande de redémarrage serait :

sudo systemctl redémarrer sshd

sudo systemctl redémarrer sshd

Limiter le nombre de connexions SSH par utilisateur

Disons que vous avez des administrateurs qui ont l’habitude d’oublier qu’ils sont connectés via SSH ou qui ont simplement tendance à se connecter plusieurs fois sans quitter. Pour cela, SSH propose encore une autre astuce, qui vous permet de limiter le nombre de connexions SSH par utilisateur.

Disons que vous avez l’utilisateur Aaron et que nous souhaitons le limiter à une seule connexion SSH simultanée. Pour ce faire, ouvrez le fichier limites.conf avec la commande :

sudo nano /etc/security/limits.conf

sudo nano /etc/security/limits.conf

Faites défiler vers le bas de ce fichier et ajoutez la ligne :

Enregistrez et fermez le fichier.

Il n’est pas nécessaire de redémarrer SSH pour cette configuration.

Désormais, si Aaron est déjà connecté au serveur via SSH, s’il réessaye, il verra ce qui suit :

Il y avait trop de connexions pour Aaron. Dernière connexion : lundi 29 janvier 2024 à 11:26:21 à partir du 192.168.1.73 Connexion au 192.168.1.183 fermée.

Il y avait trop de connexions pour Aaron.

Dernière connexion : lundi 29 janvier 2024 à 11:26:21 à partir du 192.168.1.73

Connexion au 192.168.1.183 fermée.

Jusqu’à ce qu’Aaron se déconnecte de la connexion d’origine, il ne pourra pas se reconnecter.

Maintenant, je vais faire une suggestion assez importante. Ne limitez pas tous les administrateurs à une seule connexion. Pourquoi? Il peut arriver que vous ayez apporté une modification au serveur et que vous deviez vous connecter avec une deuxième connexion pour vous assurer que la modification fonctionne. J’ai eu certains cas où je me suis déconnecté de la connexion d’origine, pour constater que les modifications ne fonctionnaient pas et que je ne parvenais pas à me reconnecter au serveur via SSH. Lorsque cela s’est produit, la seule façon pour moi d’accéder au serveur était d’être sur place.

Vous pouvez également faire la même chose avec les groupes, mais au lieu d’ajouter un nom d’utilisateur, vous utiliserez le nom du groupe, comme ceci :

@groupname dur maxlogins 4

@groupname dur maxlogins 4

nom de groupe est le nom du groupe en question.

Ou, vous pouvez simplement limiter toutes les connexions SSH à une limite stricte comme ceci :

Et c’est tout ce qu’il faut pour limiter la limite des connexions simultanées SSH. Assurez-vous de tester cela sur un serveur hors production, avant de configurer vos machines de production avec ces limites, sinon vous pourriez vous retrouver avec un voyage ou un appel téléphonique entre les mains.

YOUTUBE.COM/THENEWSTACK

La technologie évolue vite, ne manquez aucun épisode. Abonnez-vous à notre chaîne YouTube pour diffuser tous nos podcasts, interviews, démos et bien plus encore.

S’ABONNER

Groupe créé avec Sketch.

Jack Wallen est ce qui arrive lorsqu’un esprit de la génération Xer se fusionne avec le snark d’aujourd’hui. Jack est un chercheur de vérité et un écrivain de mots avec un crayon mécanique quantique et un rythme disjoint de son et d’âme. Bien qu’il réside…

Lire la suite de Jack Wallen
2024-02-17 17:05:19
1708179673


#Linux #limitez #les #utilisateurs #simultanés #sur #votre #serveur #avec #SSH

Facebook
Twitter
LinkedIn
Pinterest

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.