Pourquoi ces 10 étapes
Un VPS exposé sur Internet reçoit ses premières tentatives de bruteforce SSH dans les minutes qui suivent sa mise en ligne. Cette checklist est celle que nos ingénieurs appliquent à chaque machine — appliquez-la avant d'installer quoi que ce soit d'autre.
1. Mettre à jour immédiatement
apt update && apt upgrade -y — la majorité des exploits ciblent des paquets non patchés.
2. Créer un utilisateur non-root
adduser deploy && usermod -aG sudo deploy3. Installer vos clés SSH
Copiez votre clé publique dans /home/deploy/.ssh/authorized_keys (Ed25519 recommandé : ssh-keygen -t ed25519).
4. Durcir sshd
Dans /etc/ssh/sshd_config : PasswordAuthentication no, PermitRootLogin no, et un port non standard (ex. 2222). Testez dans une seconde session avant de fermer la première.
5. Activer UFW
ufw default deny incoming && ufw default allow outgoing
ufw allow 2222/tcp && ufw enable6. Installer Fail2ban
apt install fail2ban — la jail sshd par défaut suffit pour commencer. Ajustez bantime à 1 h et maxretry à 3.
7. Activer les mises à jour de sécurité automatiques
apt install unattended-upgrades puis activez les security updates dans /etc/apt/apt.conf.d/50unattended-upgrades.
8. Désactiver les services inutiles
systemctl list-unit-files --state=enabled — désactivez ce que vous n'utilisez pas (cups, avahi…).
9. Configurer un swap minimal si RAM < 4 GB
Un swap de 1 GB évite les OOM kills brutaux : fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile.
10. Vérifier et surveiller
ss -tlnp pour lister les ports ouverts ; installez Netdata pour la supervision. Un serveur sécurisé est un serveur surveillé.