OpenSSH Server : Installation et Sécurisation
Guide détaillé pour installer, configurer et sécuriser un serveur OpenSSH sur Linux.
OpenSSH (Open Secure Shell) est une suite d\'outils de connectivité réseau sécurisée qui fournit un remplacement chiffré pour des protocoles comme Telnet et FTP. Le composant serveur,
sshd, permet de se connecter à distance à une machine pour y exécuter des commandes de manière sécurisée.
Prérequis
- Une distribution Linux (Ubuntu, Debian, CentOS, etc.).
- Accès root ou privilèges
sudo.
Étape 1 : Installation du serveur OpenSSH
Sur de nombreuses distributions serveur, OpenSSH est déjà installé. Vous pouvez le vérifier avec systemctl status sshd.
Si ce n\'est pas le cas, installez-le :
# Sur Debian / Ubuntu
sudo apt-get update
sudo apt-get install -y openssh-server
# Sur CentOS / RHEL
sudo yum install -y openssh-server
Étape 2 : Gérer le service SSH
Une fois installé, le service (nommé ssh ou sshd selon la distribution) devrait démarrer automatiquement.
# Démarrer le service (si nécessaire)
sudo systemctl start sshd
# Activer le service au démarrage du système
sudo systemctl enable sshd
# Vérifier le statut
sudo systemctl status sshd
Étape 3 : Configuration et Sécurisation (Hardening)
La configuration par défaut est fonctionnelle, mais pas optimale en termes de sécurité. Le fichier de configuration principal est /etc/ssh/sshd_config. Sauvegardez-le avant de le modifier.
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo nano /etc/ssh/sshd_config
Voici les modifications les plus importantes à considérer :
Désactiver l\'accès root
Il est fortement recommandé de ne pas autoriser la connexion directe de l\'utilisateur root. Connectez-vous d\'abord avec un utilisateur standard, puis utilisez sudo.
PermitRootLogin no
Utiliser l\'authentification par clé uniquement
C\'est la mesure de sécurité la plus efficace. Elle désactive la connexion par mot de passe, rendant les attaques par force brute impossibles. Assurez-vous d\'avoir configuré votre clé SSH avant d\'activer cette option !
PasswordAuthentication no
PubkeyAuthentication yes
Changer le port par défaut
Changer le port par défaut (22) pour un autre (ex: 2222) peut réduire considérablement le "bruit" des bots qui scannent le port 22.
Port 2222
Attention : Si vous changez le port, n\'oubliez pas de l\'autoriser dans votre pare-feu !
Limiter les utilisateurs
Si seuls quelques utilisateurs ont besoin d\'un accès SSH, vous pouvez les spécifier explicitement.
AllowUsers utilisateur1 utilisateur2
Étape 4 : Appliquer la nouvelle configuration
Après avoir modifié le fichier sshd_config, testez la syntaxe et redémarrez le service.
# Tester la syntaxe du fichier de configuration
sudo sshd -t
# Si aucune erreur, redémarrer le service
sudo systemctl restart sshd
Votre serveur SSH est maintenant configuré avec des bases de sécurité solides.
Étape 5 : Configurer le pare-feu
N\'oubliez pas d\'autoriser votre port SSH (le nouveau si vous l\'avez changé) dans votre pare-feu.
# Pour UFW (port 2222)
sudo ufw allow 2222/tcp
sudo ufw reload
# Pour firewalld (port 2222)
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
Lorsque vous modifiez la configuration SSH, gardez toujours votre session actuelle ouverte. Ouvrez une nouvelle fenêtre de terminal pour tester la connexion avec les nouveaux paramètres. Si la nouvelle connexion échoue, vous pouvez corriger l\'erreur dans votre session initiale. Si vous fermez votre session après une mauvaise configuration, vous pourriez ne plus pouvoir vous reconnecter !
Conclusion
La configuration correcte et la sécurisation du serveur OpenSSH sont fondamentales pour l\'administration de n\'importe quel serveur Linux. En désactivant l\'accès root et en privilégiant l\'authentification par clé, vous éliminez la grande majorité des risques d\'attaques automatisées.