VPS KVMVPS KVM

Sécuriser un VPS Linux : UFW, fail2ban, clé SSH, root

Guide pour sécuriser un VPS Linux Lordhosting : firewall UFW, protection brute-force fail2ban, authentification par clé SSH et désactivation du login root.

Un VPS exposé sur Internet est scanné en permanence. Sans configuration minimale, vous risquez des tentatives de brute-force SSH, des intrusions et la compromission de vos services. Ce guide pose les bases d'un VPS Debian/Ubuntu sécurisé en moins de 30 minutes.

⚙️ Prérequis

  • Un VPS Lordhosting (Debian 11/12 ou Ubuntu 22.04/24.04 recommandé)
  • Un client SSH (Terminal sur macOS/Linux, PowerShell ou PuTTY sur Windows)
  • Vos identifiants root reçus par email à la livraison

⚙️ 1. Connexion SSH initiale

Connectez-vous une dernière fois en root pour préparer la suite :

ssh root@votre_ip

⚙️ 2. Mise à jour du système

Toujours commencer par patcher les paquets installés :

apt update && apt upgrade -y

⚙️ 3. Créer un utilisateur sudo

Désactiver root est dangereux sans utilisateur de remplacement. Créez-en un avec les privilèges sudo :

adduser lordadmin
usermod -aG sudo lordadmin

Remplacez lordadmin par le nom d'utilisateur de votre choix.

⚙️ 4. Configurer l'authentification par clé SSH

Sur votre machine locale, générez une paire de clés si vous n'en avez pas déjà :

ssh-keygen -t ed25519 -C "votre_email@example.com"

Acceptez le chemin par défaut (~/.ssh/id_ed25519) et choisissez une passphrase forte.

Copiez ensuite la clé publique sur le VPS :

ssh-copy-id lordadmin@votre_ip

Si ssh-copy-id n'est pas disponible (Windows), copiez manuellement le contenu de ~/.ssh/id_ed25519.pub dans /home/lordadmin/.ssh/authorized_keys sur le VPS.

Testez la connexion par clé dans une nouvelle fenêtre :

ssh lordadmin@votre_ip

Si elle fonctionne sans demander de mot de passe, continuez. Sinon, ne touchez à rien et corrigez l'authentification d'abord.

⚙️ 5. Désactiver le login root et par mot de passe

Toujours connecté en tant que lordadmin, ouvrez la config SSH :

sudo nano /etc/ssh/sshd_config

Modifiez ou ajoutez les lignes suivantes :

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Sauvegardez (Ctrl+O, Entrée, Ctrl+X) puis rechargez SSH :

sudo systemctl restart ssh

⚠️ Ne fermez pas votre session active avant d'avoir vérifié, dans une nouvelle fenêtre, que vous arrivez bien à vous reconnecter en lordadmin avec votre clé. Si ça ne marche pas, vous êtes encore connecté et pouvez revenir en arrière.

⚙️ 6. Installer et configurer UFW (firewall)

UFW (Uncomplicated Firewall) est un wrapper simple autour d'iptables.

sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw enable

Vérifiez l'état :

sudo ufw status verbose

Pensez à ouvrir les ports nécessaires à vos services. Quelques exemples :

sudo ufw allow 80/tcp       # HTTP
sudo ufw allow 443/tcp      # HTTPS
sudo ufw allow 25565/tcp    # Minecraft Java
sudo ufw allow 19132/udp    # Minecraft Bedrock

⚙️ 7. Installer et configurer fail2ban

fail2ban bannit automatiquement les IP qui multiplient les tentatives de connexion échouées :

sudo apt install -y fail2ban

Créez une config locale (ne pas modifier jail.conf directement) :

sudo nano /etc/fail2ban/jail.local

Collez ceci :

[DEFAULT]
bantime = 1h
findtime = 10m
maxretry = 5

[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s

Démarrez le service :

sudo systemctl enable --now fail2ban

Pour voir les IP bannies en temps réel :

sudo fail2ban-client status sshd

⚙️ 8. Vérification finale

  • ✅ Connexion SSH par clé uniquement (pas de mot de passe)
  • ✅ Login root désactivé
  • ✅ UFW actif avec règles minimales
  • ✅ fail2ban surveille SSH

Vous pouvez maintenant installer vos services (web, Pterodactyl, bots Discord, etc.) sur un terrain assaini. Pour aller plus loin, pensez à activer les mises à jour automatiques de sécurité avec unattended-upgrades et à mettre en place une sauvegarde régulière de votre VPS.

Retour à VPS KVM
Cet article vous a-t-il aidé ?
Offre de bienvenue

Inscris-toi dès maintenant et profite de 10% de réduction sur ta première commande en entrant le code promotionnel : BIENVENUE

Logo LordHostingLordhosting est une association sous le numéro RNA suivant W941016871.