OffshoreVps
Sécurité25 sept. 20269 min de lecturePar l’équipe OffshoreVps

Comment sécuriser un nouveau VPS Linux en 15 minutes

Une liste de contrôle à copier-coller pour un VPS Ubuntu ou Debian tout neuf : clés SSH, utilisateur non root, pare-feu, fail2ban, mises à jour automatiques et supervision de base.

Un nouveau VPS doté d’une adresse IP publique reçoit des tentatives de connexion automatisées en quelques minutes. Rien de tout cela n’est personnel ; des bots scannent simplement toutes les adresses. Quelques étapes de base en bloquent presque la totalité. Cette liste de contrôle suppose un serveur Ubuntu 24.04 ou Debian 12/13 tout neuf et prend environ quinze minutes.

Fenêtre de terminal sur un VPS montrant les commandes utilisées pour sécuriser un nouveau VPS, à commencer par « apt update && apt full-upgrade -y »
Le type de commandes que vous exécuterez sur votre serveur dans ce guide.

1. Commencez par tout mettre à jour

apt update && apt full-upgrade -y
reboot

Reconnectez-vous après le redémarrage. Partez toujours d’un système entièrement à jour.

2. Créez un utilisateur non root

Travailler en permanence en root rend chaque faute de frappe dangereuse. Créez un utilisateur normal avec les droits sudo :

adduser deploy
usermod -aG sudo deploy

3. Configurez des clés SSH

Sur votre propre ordinateur, créez une paire de clés si vous n’en avez pas et copiez la moitié publique sur le serveur :

ssh-keygen -t ed25519 -C "my-vps"
ssh-copy-id deploy@YOUR_SERVER_IP

Ouvrez un second terminal et vérifiez que vous pouvez vous connecter en tant que deploy avec la clé avant de continuer. Ne fermez pas votre session d’origine tant que ce n’est pas fait.

4. Désactivez la connexion par mot de passe et en root

Modifiez la configuration du démon SSH :

sudo nano /etc/ssh/sshd_config.d/99-hardening.conf

Placez ces lignes dans le fichier :

PermitRootLogin no
PasswordAuthentication no
KbdInteractiveAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3

Vérifiez la syntaxe et rechargez :

sudo sshd -t && sudo systemctl reload ssh

5. Activez un pare-feu

UFW est l’option la plus simple. Autorisez d’abord SSH, puis activez le pare-feu :

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp   # only if you run a web server
sudo ufw enable
sudo ufw status verbose

N’ouvrez des ports que pour les services que vous exécutez réellement. Tout le reste reste fermé par défaut.

Les étapes de ce guide dans l’ordre : 1. 1. Tout mettre à jour d’abord ; 2. 3. Configurer les clés SSH ; 3. 5. Activer un pare-feu ; 4. 6. Ajouter fail2ban ; 5. 8. Vérifier ce qui écoute ; 6. Et ensuite
Les étapes de ce guide, dans l’ordre.

6. Ajoutez fail2ban

Fail2ban surveille les journaux et bannit temporairement les adresses qui échouent sans cesse à se connecter.

sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd

Les valeurs par défaut conviennent pour SSH. Comme vous avez déjà désactivé les mots de passe, cela sert surtout à réduire le bruit dans les journaux et le CPU gaspillé.

7. Activez les mises à jour de sécurité automatiques

sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Cela installe automatiquement les correctifs de sécurité. Redémarrez de temps en temps pour les mises à jour du noyau, ou laissez l’outil le faire à une heure creuse.

8. Vérifiez ce qui écoute

sudo ss -tulpn

Tout ce qui écoute sur 0.0.0.0 et que vous n’attendiez pas mérite une enquête. Les services destinés à un usage local uniquement (bases de données, caches, panneaux d’administration) doivent écouter sur 127.0.0.1.

9. Surveillance de base et sauvegardes

  • Surveillez les journaux avec journalctl -u ssh --since today de temps en temps.
  • Vérifiez les ressources avec htop et df -h pour qu’un disque plein ou un processus emballé ne vous surprenne pas.
  • Faites des sauvegardes. Prenez un instantané du serveur avant les gros changements et gardez une copie hors serveur de tout ce que vous ne pouvez pas recréer.

Et ensuite

Vous disposez maintenant d’un serveur beaucoup plus difficile à pénétrer que la configuration par défaut. À partir de là, gardez les logiciels à jour, exécutez chaque service sous son propre utilisateur non privilégié et n’exposez que le nécessaire. Si vous voulez un tunnel privé vers le serveur, notre guide pour configurer WireGuard est une bonne prochaine étape.

Questions fréquentes

Que faire en premier sur un nouveau VPS ?

Mettez à jour les paquets, créez un utilisateur non root, passez aux clés SSH, désactivez la connexion par mot de passe et activez un pare-feu.

Dois-je changer le port SSH ?

Cela réduit le bruit dans les journaux, mais ce n’est pas une vraie sécurité. Les clés et un pare-feu comptent bien davantage.