La connexion SSH avec le compte root est une fonctionnalité qui permet d’accéder à distance à un serveur Linux en tant qu’administrateur. Cependant, cette fonctionnalité présente aussi des risques de sécurité importants, car elle expose le serveur à des attaques de force brute ou à des compromissions de mot de passe.
Dans cet article, nous allons vous expliquer comment désactiver ou limiter la connexion SSH avec le compte root sous Linux, afin de renforcer la sécurité de votre serveur et de protéger vos données.
Il va sans dire qu’avant de modifier l’accès root via SSH vous devez vous assurer d’avoir un autre moyen de vous connecter à votre serveur sinon vous risquez d’avoir un petit problème 😅! Généralement il est possible de se connecter en mode console même si vous avez un VPS chez un hébergeur. C’est par exemple le cas pour mes VPS hébergés sur IONOS ou AZURE.
Comment désactiver l’accès root via SSH
C’est le plus radical mais aussi le plus efficace si vous voulez élevé significativement le niveau de sécurité de votre serveur.
Modifiez le fichier de configuration SSH en ligne de commande avec la commande suivante:
nano /etc/ssh/sshd_config
A la fin du fichier remplacez
PermitRootLogin yes
par
PermitRootLogin no
Quittez nano en tapant CTRL + X et pressez y pour enregistrer.
Redémarrez ensuite le service SSH et l’accès root est désormais désactivé.
/etc/init.d/ssh restart
Limiter l’accès root à une adresse IP spécifique
C’est l’option que je pratique pour mes VPS, je ne désactive pas l’accès SSH via le compte root mais je le restreins uniquement à l’adresse IP de ma station de travail.
Comme précédemment modifiez le fichier de configuration du service SSH en ligne de commande avec la commande suivante:
nano /etc/ssh/sshd_config
Ajoutez la commande suivante à la fin du fichier en remplaçant xxx.xxx.xxx.xxx par l’adresse IP autorisée à accéder à votre serveur.
AllowUsers root@xxx.xxx.xxx.xxx
Redémarrez le service SSH.
/etc/init.d/ssh restart
Pour tester que l’accès est bien bloqué depuis une autre IP vous pouvez tout simplement utiliser un VPN