Introduction
Dès sa mise en ligne, un VPS ou serveur dédié subit des vagues continues d'analyses et de tentatives d'intrusions automatisées sur le port SSH (22). Sans protection adéquate, votre infrastructure est vulnérable. Ce guide pratique vous enseigne les 6 étapes cruciales pour blinder votre système Debian ou Ubuntu et éliminer la majorité des risques de sécurité.
1. Mettre à jour le système d'exploitation
La première règle de sécurité absolue consiste à s'assurer que tous vos paquets et correctifs de sécurité système sont à jour.
apt update && apt upgrade -y
# Configurer les mises à jour de sécurité automatiques (optionnel mais recommandé)
apt install -y unattended-upgradesConseil important
Pensez à planifier des redémarrages périodiques pour appliquer les mises à jour des noyaux Linux.
2. Créer un utilisateur système sécurisé non-root
L'utilisation quotidienne du compte 'root' est dangereuse. Créez un compte utilisateur standard et accordez-lui les droits d'administration à l'aide de 'sudo'.
# Créer un nouvel utilisateur (remplacez 'tewilladmin' par votre identifiant)
adduser tewilladmin
# Accorder les privilèges administrateur (Sudo)
usermod -aG sudo tewilladminConseil important
Utilisez un mot de passe complexe comportant des majuscules, minuscules, chiffres et caractères spéciaux.
3. Configurer l'authentification par clés SSH
L'authentification par clé publique/privée est infiniment plus sûre qu'un mot de passe vulnérable aux attaques de force brute. Générez une clé SSH sur votre ordinateur local puis copiez-la sur le serveur.
# DEPUIS VOTRE ORDINATEUR LOCAL (PowerShell ou Terminal Linux) :
ssh-keygen -t ed25519 -C "admin-key"
ssh-copy-id -i ~/.ssh/id_ed25519.pub tewilladmin@IP_DE_VOTRE_VPS
# Connectez-vous ensuite au VPS avec votre clé pour tester :
ssh -i ~/.ssh/id_ed25519 tewilladmin@IP_DE_VOTRE_VPSConseil important
La clé de chiffrement Ed25519 est recommandée pour son excellent ratio performances / sécurité.
4. Changer le port SSH et interdire l'accès root direct
Modifiez la configuration du service SSH pour modifier le port de connexion par défaut (par exemple vers 22022) et interdire totalement les connexions directes avec l'utilisateur 'root' ou avec de simples mots de passe.
# Éditer le fichier de configuration SSH
sudo nano /etc/ssh/sshd_config
# Modifiez ou ajoutez les lignes suivantes :
Port 22022
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
# Enregistrez (Ctrl+O, Entrée, puis Ctrl+X) et redémarrez le démon SSH
sudo systemctl restart sshdConseil important
IMPORTANT : Ne fermez surtout pas votre session SSH active ! Ouvrez une nouvelle fenêtre de terminal pour tester la connexion sur le nouveau port ('ssh -p 22022 tewilladmin@IP_DE_VOTRE_VPS') afin d'éviter de vous bloquer dehors si vous avez commis une erreur.
5. Mettre en place un Pare-feu UFW
UFW (Uncomplicated Firewall) permet de bloquer tous les accès réseau entrants non explicitement autorisés. N'autorisez que le port SSH personnalisé, le trafic HTTP et le trafic HTTPS.
sudo apt install -y ufw
# Configurer les règles par défaut
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Autoriser les ports requis (attention à utiliser votre port SSH personnalisé !)
sudo ufw allow 22022/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
# Activer le pare-feu
sudo ufw enable
# Vérifier le statut
sudo ufw status verboseConseil important
Si vous hébergez d'autres services (serveur Minecraft, BDD, etc.), n'oubliez pas d'ouvrir leurs ports respectifs dans UFW.
6. Installer Fail2ban contre les attaques de force brute
Fail2ban analyse en continu les logs de votre VPS et bannit temporairement (ou définitivement) les adresses IP présentant un comportement suspect (nombreuses tentatives de connexion échouées).
sudo apt install -y fail2ban
# Créer une configuration locale personnalisée
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
# Modifiez sous la section [sshd] :
enabled = true
port = 22022
maxretry = 3
bantime = 1h
# Démarrer et activer Fail2ban
sudo systemctl enable --now fail2banConseil important
Vous pouvez inspecter les IP bannies en temps réel à l'aide de la commande 'sudo fail2ban-client status sshd'.
En conclusion
Votre VPS Linux est maintenant une véritable forteresse. Les pirates automatisés se casseront les dents sur votre port SSH introuvable, vos clés de chiffrement inviolables et le bannissement automatique de Fail2ban. Vous pouvez déployer vos applications l'esprit serein !