Un VPS fraîchement livré est scanné dans les minutes qui suivent sa mise en ligne. Ce n'est pas de la paranoïa : des robots balaient en permanence l'espace d'adressage à la recherche d'un port 22 avec un mot de passe faible. Voici la liste à dérouler avant tout le reste.
1. Changer le mot de passe root
La première commande, avant même d'installer quoi que ce soit :
passwd
Un mot de passe long et unique, généré par un gestionnaire. Pas de variation du nom de domaine.
2. Créer un utilisateur non root
Travailler en root en permanence transforme la moindre erreur de frappe en incident :
adduser artaun
usermod -aG sudo artaun
Sur Rocky ou AlmaLinux, remplacez sudo par wheel.
3. Passer aux clés SSH
C'est le changement qui apporte le plus de sécurité pour le moins d'effort. Depuis votre machine :
ssh-keygen -t ed25519 -C "mon-poste"
ssh-copy-id artaun@votre-ip
Testez la connexion par clé dans un second terminal avant de fermer le premier. Une erreur ici vous enferme dehors.
4. Désactiver la connexion par mot de passe
Dans /etc/ssh/sshd_config :
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Puis systemctl restart ssh. À partir de là, les milliers de tentatives quotidiennes par dictionnaire n'ont plus aucune chance.
5. Activer un pare-feu
Le principe est de tout fermer, puis d'ouvrir seulement le nécessaire :
ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow 80,443/tcp
ufw enable
6. Installer fail2ban
Il bannit automatiquement les adresses qui multiplient les échecs d'authentification :
apt install fail2ban
systemctl enable --now fail2ban
La configuration par défaut protège déjà SSH, ce qui couvre l'essentiel du risque.
7. Activer les mises à jour de sécurité automatiques
apt install unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades
C'est la mesure la plus rentable de toute la liste : la majorité des compromissions exploitent des failles corrigées depuis des mois.
8. Limiter les services exposés
Vérifiez ce qui écoute réellement sur le réseau :
ss -tulpn
Une base de données ne devrait écouter que sur 127.0.0.1. Un MySQL ouvert sur 0.0.0.0 est une invitation.
9. Mettre en place vos sauvegardes
Les sauvegardes de l'hébergeur protègent l'infrastructure, pas vos données applicatives. Installez restic ou borg, planifiez une tâche quotidienne vers un stockage externe, et — le point essentiel — testez une restauration. Une sauvegarde jamais restaurée n'est qu'une hypothèse.
10. Surveiller
Consultez régulièrement l'espace disque, la mémoire et la charge. Un disque plein à 100 % arrête un service aussi sûrement qu'une attaque, et c'est bien plus fréquent.
Notre documentation VPS Linux détaille chacune de ces étapes commande par commande, avec les variantes selon la distribution.