Recherche de site Web

5 conseils pour sécuriser SSH sur votre serveur ou bureau Linux


Le Shell Sécurisé est l'une des options les plus sécurisées pour se connecter à un système Linux à distance. Mais il existe des moyens de rendre cette technologie encore plus sécurisée.

J'utilise Secure Shell (SSH) depuis des décennies. Avec cet outil de connexion à distance, je peux être assuré que mes machines distantes acceptent les connexions de manière sécurisée et efficace. En même temps, je comprends aussi que rien n'est jamais 100 % sécurisé sur un appareil connecté à un réseau, c'est pourquoi je prends toujours le temps de mieux sécuriser SSH sur chaque ordinateur que j'utilise.

Vous pourriez être surpris de voir à quel point il est facile d'ajouter quelques « couches » de sécurité supplémentaires. Comme je le souligne ci-dessous, il existe quelques conseils faciles à appliquer qui aideront votre bureau Linux et votre serveur à être un peu plus sécurisés, afin que vous puissiez avoir confiance qu'ils sont mieux protégés contre les connexions non désirées.

Mettons-nous au travail.

1. Installer fail2ban

L'une des premières choses à faire (surtout sur un serveur) est d'installer fail2ban, qui empêche les attaques de connexion malveillantes et par force brute et peut également être utilisé pour surveiller d'autres protocoles réseau (comme HTTP, SSH et FTP).

Avec fail2ban, vous créez des prisons, qui sont des configurations qui indiquent au système quoi faire lorsque certaines choses se produisent (comme une tentative de connexion SSH échouée). Les fichiers de prison (généralement nommés jail.local) se trouvent dans /etc/fail2ban/ et peuvent ressembler à ceci :

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
findtime = 300
bantime = 28800
ignoreip = 127.0.0.1

Vous pouvez installer fail2ban sur un système basé sur Debian, avec la commande suivante :

sudo apt-get install fail2ban -y

Sur un système basé sur Fedora, cette commande serait :

sudo dnf install fail2ban -y

2. Changez le port par défaut

Par défaut, SSH utilise le port 22 pour les connexions entrantes. Cette connexion est de notoriété publique et peut causer des problèmes. Sur mes systèmes les plus importants, je change toujours le port pour quelque chose d'autre, comme 2124. Il est important de changer le port pour quelque chose qui n'est pas utilisé par un autre système.

La configuration du port est définie dans le fichier /etc/ssh/sshd_config et dans la ligne #Port 22.

Assurez-vous de supprimer le caractère # et de changer 22 par le port que vous souhaitez utiliser. Une fois que vous avez effectué le changement, n'oubliez pas de redémarrer SSH avec :

sudo systemctl restart ssh

Dans le cas des systèmes basés sur Fedora, cette commande serait :

sudo systemctl restart sshd

3. Bloquer les utilisateurs avec des mots de passe vides

Bien que vous n'ayez probablement pas d'utilisateurs sur votre système avec des mots de passe vides, ce conseil relève de la catégorie "mieux vaut prévenir que guérir". Si vous avez un utilisateur avec un mot de passe vide, et qu'un acteur malveillant le découvre, il pourrait accéder à votre machine avec facilité. Pour éviter cette situation, ouvrez le fichier /etc/ssh/sshd_config et recherchez la ligne :

#PermitEmptyPasswords no

Change cette ligne en :

PermitEmptyPasswords no

Enregistrez et fermez le fichier, puis redémarrez SSH.

4. Restreindre les connexions à des adresses IP spécifiques

Une autre astuce très pratique consiste à limiter l'accès SSH à des adresses IP spécifiques. Par exemple, si vous n'avez qu'une seule personne qui doit accéder à une machine, et que son adresse IP est 192.168.1.11, vous pouvez limiter l'accès SSH à l'aide du fichier /etc/hosts.allow. Ouvrez ce fichier avec votre éditeur de texte préféré, comme nano, et ajoutez la ligne suivante en bas :

sshd: 192.168.1.62, 192.168.1.11

Si vous avez plus d'une adresse IP que vous souhaitez autoriser, vous pouvez en ajouter autant que nécessaire, en séparant chaque adresse par une virgule, comme ceci :

sshd: 192.168.1.62, 192.168.1.11, 192.168.1.12, 192.168.1.13, 192.168.1.14

Enregistrez et fermez le fichier.

5. Utilisez l'authentification par clé SSH

L'importance de l'authentification par clé SSH ne peut être sous-estimée. J'ai déjà montré dans un autre article comment cette technique est mise en place, alors assurez-vous de lire cet article et de mettre en œuvre cette tactique. En conjonction avec fail2ban, l'authentification par clé SSH est un excellent moyen de prévenir les connexions SSH indésirables.

Et voilà -- cinq façons simples de sécuriser SSH sur vos bureaux et serveurs Linux. Parce que SSH contient le mot sécurisé, cela ne signifie pas qu'il doit être considéré comme un moyen pour une fin sécurisée. Avec un peu de configuration supplémentaire, vos connexions SSH seront mieux protégées contre les acteurs malveillants qui parcourent Internet à la recherche d'accès aux systèmes.