Retour au blog
linux12 min de lecture7 juin 2026

Sécuriser son VPS Linux Debian en 10 étapes

Guide complet pour sécuriser un VPS Debian fraîchement installé : SSH, fail2ban, pare-feu UFW, mises à jour automatiques et plus.

Un VPS fraîchement installé est une cible facile : root ouvert, SSH sur le port 22, aucun pare-feu. En moins d'une heure d'exploitation active, des bots automatisés auront déjà tenté des milliers de connexions. Ce guide couvre les 10 étapes essentielles pour durcir un Debian et dormir tranquille.

Étape 1 — Mettre à jour le système immédiatement

La première chose à faire après l'accès initial : mettre à jour tous les paquets pour corriger les vulnérabilités connues.

bash
apt update && apt upgrade -y
apt install -y curl wget git unzip ufw fail2ban

Étape 2 — Créer un utilisateur non-root

Ne jamais travailler en root au quotidien. Créez un compte dédié avec les droits sudo.

bash
adduser azuka
usermod -aG sudo azuka
# Vérification
groups azuka

Étape 3 — Configurer l'authentification SSH par clé

L'authentification par mot de passe est vulnérable aux attaques par brute force. Les clés SSH sont infiniment plus sûres.

bash
# Sur votre machine locale
ssh-keygen -t ed25519 -C "azuka@xytherion"
ssh-copy-id azuka@VOTRE_IP

# Ou manuellement sur le serveur
mkdir -p ~/.ssh && chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys  # coller votre clé publique
chmod 600 ~/.ssh/authorized_keys

Étape 4 — Durcir la configuration SSH

Éditez /etc/ssh/sshd_config pour désactiver root, les mots de passe et changer le port :

bash
nano /etc/ssh/sshd_config
ini
Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
MaxAuthTries 3
X11Forwarding no
AllowTcpForwarding no
ClientAliveInterval 300
ClientAliveCountMax 2
bash
systemctl restart sshd

Testez votre nouvelle connexion dans un second terminal AVANT de fermer la session actuelle. Un mauvais paramètre SSH vous lockout définitivement.

Étape 5 — Configurer le pare-feu UFW

UFW (Uncomplicated Firewall) est le moyen le plus simple de gérer iptables sur Debian.

bash
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp    # votre port SSH personnalisé
ufw allow 80/tcp      # HTTP
ufw allow 443/tcp     # HTTPS
ufw enable
ufw status verbose

Étape 6 — Installer et configurer Fail2Ban

Fail2Ban surveille les logs et bannit automatiquement les IPs qui tentent trop de connexions.

bash
# /etc/fail2ban/jail.local
[DEFAULT]
bantime  = 3600
findtime = 600
maxretry = 5

[sshd]
enabled = true
port    = 2222
logpath = /var/log/auth.log
bash
systemctl restart fail2ban
fail2ban-client status sshd

Étape 7 — Désactiver les services inutiles

Chaque service actif est une surface d'attaque potentielle. Listez et désactivez ce que vous n'utilisez pas.

bash
# Lister les services actifs
systemctl list-units --type=service --state=running

# Désactiver un service
systemctl disable --now postfix   # si vous n'envoyez pas d'emails
systemctl disable --now cups      # impression

Étape 8 — Activer les mises à jour automatiques

bash
apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades
ini
# /etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Mail "votre@email.com";
Unattended-Upgrade::Remove-Unused-Dependencies "true";

Étape 9 — Installer un IDS léger (rkhunter)

rkhunter scanne les rootkits, backdoors et fichiers suspects.

bash
apt install -y rkhunter
rkhunter --update
rkhunter --check --skip-keypress

# Cron quotidien
echo "0 3 * * * root rkhunter --check --skip-keypress --report-warnings-only | mail -s 'rkhunter report' votre@email.com" >> /etc/crontab

Étape 10 — Surveiller les accès (logwatch)

bash
apt install -y logwatch
# Rapport quotidien par email
logwatch --output mail --mailto votre@email.com --detail high

Récapitulatif des commandes essentielles

  • ssh-keygen -t ed25519 — générer une clé SSH moderne
  • ufw status verbose — vérifier les règles du pare-feu
  • fail2ban-client status — voir les IPs bannies
  • ss -tlnp — lister les ports en écoute
  • last -n 20 — voir les dernières connexions
  • journalctl -u sshd -n 50 — logs SSH récents

Automatisez ce hardening avec un script Ansible pour vos futurs VPS. Une fois le playbook écrit, sécuriser un nouveau serveur prend moins de 5 minutes.

#linux#vps#sécurité#debian#ssh

Testez vos configurations

Xytherion Tools propose des outils gratuits pour vérifier vos DNS, auditer votre SSL, tester SPF/DKIM/DMARC et bien plus — directement depuis votre navigateur.

Sécuriser son VPS Linux Debian en 10 étapes — Xytherion Tools