Si un attaquant obtient une connexion root à votre système, il peut faire plus de dégâts que s'il obtient une connexion utilisateur normale. Nous avons vu dans notre article précédent - Comment désactiver la connexion à distance pour l'utilisateur root sur une machine Linux. Maintenant, nous verrons après tout si nous avons environ 10 comptes d'utilisateurs créés sur un serveur Linux (pour différentes activités de groupe comme les RH, les finances, etc.), nous n'avons pas besoin d'autoriser la connexion à distance à l'ensemble de ces 10 comptes. Dans ce didacticiel, nous verrons comment autoriser ou refuser à des comptes d'utilisateurs spécifiques de se connecter à distance au serveur Linux.
SSH fournit les 4 directives suivantes pour autoriser ou refuser l'accès au serveur. Par défaut, il autorise tous les groupes et utilisateurs.
- Autoriser les groupes
- Autoriser les utilisateurs
- Refuser les groupes
- Refuser les utilisateurs
Remarque :Avant de modifier une configuration au niveau du système, veuillez effectuer les sauvegardes nécessaires.
Pour permettre à deux utilisateurs spécifiques appelés Amy et Henry de se connecter à distance au serveur, ajoutez les lignes ci-dessous dans le fichier /etc/ssh/sshd_config à l'aide de votre éditeur préféré (VIM est mon éditeur préféré).
AllowUsers admin amy
En plus de contrôler facilement pour l'avenir, vous pouvez ajouter plusieurs utilisateurs à un seul groupe et autoriser l'utilisateur en fonction du groupe auquel il appartient. Par exemple :considérez que Henry et Amy travaillent ensemble dans le département des finances. Créez un nom de groupe commun appelé finance comme indiqué ci-dessous :
groupadd –r finance
Créez maintenant les utilisateurs henry et amy appartenant au groupe finance comme indiqué ci-dessous :
useradd -G finance henry
useradd -G finance amy
Pour autoriser les utilisateurs appartenant à un groupe spécifique appelé finance pour vous connecter à distance au serveur, ajoutez la ligne ci-dessous dans le fichier /etc/ssh/sshd_config.
AllowGroups finance
Avec cela, nous n'avons pas besoin d'utiliser AllowUsers .
Les autres directives alternatives sont DenyGroups et DenyUsers qui effectuent exactement le contraire des AllowGroups susmentionnés et Autoriser les utilisateurs respectivement.
Pour vérifier la bonne mise à jour du fichier de configuration, sans redémarrer le service sshd exécutez les commandes ci-dessous :
[root@catest ~]# /usr/sbin/sshd -t [root@catest ~]# echo $? 0 [root@catest ~]#
Si le echo $ ? sortie de commande 0 alors la vérification est réussie, sinon vous verrez une erreur indiquant quelles sont les données erronées :
[root@catest ~]# /usr/sbin/sshd -t /etc/ssh/sshd_config: line 116: Bad configuration option: AllowUser /etc/ssh/sshd_config: terminating, 1 bad configuration options [root@catest ~]#
Après vérification n'oubliez pas de redémarrer sshd comme indiqué ci-dessous :
[root@catest ~]# /etc/init.d/sshd restart