Sécuriser votre VPS : les cinq premières minutes
Un nouveau serveur connecté à Internet est scanné en quelques minutes par des bots qui tentent de deviner les mots de passe. Grâce aux étapes suivantes, vous aurez une longueur d'avance sur eux. Exécutez-les en tant que root.
1. Tout mettre à jour et activer les mises à jour automatiques
- Ubuntu et Debian :
apt update && apt upgrade -y, puisapt install -y unattended-upgradesetdpkg-reconfigure -plow unattended-upgrades. - AlmaLinux et Rocky Linux :
dnf upgrade -y, puisdnf install -y dnf-automaticetsystemctl enable --now dnf-automatic-install.timer.
2. Se connecter avec une clé et désactiver les mots de passe
Placez d'abord votre clé SSH sur le serveur (voir Se connecter à votre VPS via SSH) et vérifiez que la connexion avec la clé fonctionne. Créez ensuite votre propre fichier de configuration /etc/ssh/sshd_config.d/00-eigen.conf contenant ces lignes :
PasswordAuthentication no KbdInteractiveAuthentication no
Ne les placez pas dans /etc/ssh/sshd_config lui-même : les fichiers de sshd_config.d sont prioritaires et, sur Ubuntu, 50-cloud-init.conf y réactive les mots de passe. Votre fichier 00-eigen.conf est lu avant lui et l'emporte. Vérifiez avec sshd -t (n'affiche rien si tout est correct) et sshd -T | grep -i passwordauthentication (doit afficher no). Redémarrez ensuite SSH avec systemctl restart ssh (AlmaLinux et Rocky : systemctl restart sshd). Gardez votre session actuelle ouverte jusqu'à ce que vous ayez vérifié, dans une deuxième fenêtre, que vous pouvez toujours vous connecter.
3. Un pare-feu
- Ubuntu et Debian :
apt install -y ufw, puisufw allow OpenSSH, éventuellementufw allow 80,443/tcppour un site web, etufw enable. - AlmaLinux et Rocky Linux : firewalld est déjà installé. Par exemple
firewall-cmd --permanent --add-service=http --add-service=httpsetfirewall-cmd --reload.
Laissez toujours SSH (port 22) ouvert, sinon vous vous retrouverez bloqué à l'extérieur.
4. Fail2ban contre les tentatives de devinette
apt install -y fail2ban ou dnf install -y epel-release && dnf install -y fail2ban, puis systemctl enable --now fail2ban. Par défaut, il bloque les adresses IP qui saisissent trop souvent un mot de passe erroné. Sur Debian 12, ajoutez également backend = systemd sous [sshd] dans /etc/fail2ban/jail.local et installez python3-systemd, sinon la surveillance de SSH ne démarre pas. Debian 13 et Ubuntu le font déjà automatiquement.
5. Un snapshot comme filet de sécurité

Créez un snapshot dans l'écran de votre VPS avant d'effectuer des modifications importantes. En cas de problème, vous le restaurez en un clic. Voir Snapshots et sauvegardes de votre VPS.
Conservez qemu-guest-agent
Le programme qemu-guest-agent est installé par défaut. Il vous permet de définir un nouveau mot de passe root dans l'écran du VPS et d'y voir l'utilisation du disque. Ne le supprimez pas.
Explications détaillées avec captures d'écran : Désactiver la connexion par mot de passe et en tant que root et Fail2ban contre les tentatives de devinette dans le manuel VPS.
Envie d'en savoir plus ? Suivez le cours gratuit VPS et administration de serveurs Linux, leçon 2.2 Configurer le serveur SSH en toute sécurité ou leçon 10.4 Contrôle final : votre serveur passé au crible.
