Un VPS tout juste mis en ligne est scanné et sondé en quelques minutes. La bonne nouvelle : une heure de durcissement ordonné stoppe l’écrasante majorité des attaques opportunistes. Voici la checklist, dans l’ordre qui compte, pour un nouveau serveur axé sur la confidentialité.
1. Verrouiller SSH en premier
Créez un utilisateur non-root avec sudo, ajoutez votre clé publique, puis désactivez l’authentification par mot de passe et la connexion root dans sshd_config (PasswordAuthentication no, PermitRootLogin no). Le SSH par clés uniquement suffit à lui seul à déjouer la force brute sur mot de passe, qui constitue l’essentiel du bruit visant votre serveur. Redémarrez SSH et vérifiez qu’une nouvelle session fonctionne avant de fermer la session en cours.

2. Placer un pare-feu devant
Refus par défaut du trafic entrant, autorisation uniquement de ce dont vous avez besoin. Avec ufw : refusez l’entrant, autorisez le sortant, puis ouvrez votre port SSH ainsi que les ports de services spécifiques que vous exploitez. Un pare-feu transforme « chaque port ouvert est une cible » en « seules les portes que j’ai choisies existent », ce qui réduit considérablement la surface d’attaque.
3. Ajouter fail2ban
Installez fail2ban pour surveiller les journaux d’authentification et bannir temporairement les IP qui échouent à répétition. Même avec un SSH par clés uniquement, cela réduit le bruit dans les journaux et atténue les tentatives de force brute contre tout service que vous exposez. Les réglages par défaut sont judicieux ; activez la prison sshd et toute prison pour les services que vous exploitez.
4. Activer les mises à jour de sécurité automatiques
Activez unattended-upgrades (Debian/Ubuntu) pour que les correctifs de sécurité arrivent sans que vous ayez à y penser. La façon la plus courante dont les serveurs sont compromis reste une vulnérabilité connue pour laquelle un correctif était déjà disponible — automatiser les mises à jour referme cette fenêtre pendant que vous dormez.
5. Réduire la surface d’attaque
Désinstallez les services que vous n’utilisez pas, liez les démons à usage local à 127.0.0.1, et vérifiez ce qui écoute avec ss -tlnp. Chaque service à l’écoute est un point d’entrée potentiel ; moins vous en exploitez et exposez, moins il y a de surface à attaquer. Mettez ensuite en place des sauvegardes hors serveur, afin qu’une compromission reste réparable plutôt que catastrophique.
L’heure, résumée
SSH par clés uniquement, pare-feu à refus par défaut, fail2ban, mises à jour automatiques, et une surface d’écoute minimale. Rien de tout cela n’est exotique, tout est rapide à mettre en place, et ensemble, ces mesures stoppent les attaques automatisées responsables de la quasi-totalité des compromissions réelles. Faites-le avant de déployer quoi que ce soit d’important.