// VPS

Sécuriser un VPS : les 30 premières minutes

Sécuriser un VPS : les 30 premières minutes

Sécuriser un VPS, c'est idéalement juste après la livraison, car une nouvelle adresse IP est vite scannée par des bots à la recherche de ports ouverts et de mots de passe faibles. En une demi-heure, tu poses les bases : mises à jour, ton propre utilisateur, clés SSH, connexion par mot de passe et connexion root désactivées, un pare-feu avec ufw, fail2ban et des mises à jour de sécurité automatiques.

Sécuriser ton VPS, c'est ton rôle : ce qu'il faut savoir avant

Un VPS chez MC-Node est self-managed : tu reçois l'accès root et tu gères toi-même les mises à jour et la sécurité, même si notre support te donne un coup de main quand tu bloques. Les étapes ci-dessous partent d'Ubuntu, que tu choisis à la commande pour le VPS KVM et le VDS, et que tu installes toi-même dans le panneau VPS pour le VPS Premium. Elles valent pour tout VPS Linux, du VPS pas cher au VPS Premium avec Ryzen 9. Exécute les commandes en tant que root, ou avec sudo devant dès que tu travailles avec ton propre utilisateur. Tu tournes sous Windows Server ? Passe alors à la partie sur RDP.

Sécuriser un VPS en huit étapes : mises à jour, ton propre utilisateur, clé SSH, connexion par mot de passe désactivée, ufw, fail2ban, mises à jour automatiques et sauvegardes
Les 30 premières minutes après ta commande : huit étapes pour verrouiller un nouveau VPS.

Étape 1 : mises à jour et ton propre utilisateur

Connecte-toi avec les identifiants de ton e-mail de livraison (voir se connecter via SSH) et commence par tout mettre à jour :

apt update && apt upgrade -y
[ -f /var/run/reboot-required ] && reboot

La deuxième ligne ne redémarre le VPS que si une mise à jour le demande, généralement après un nouveau noyau. Change ensuite le mot de passe root avec passwd (ou via le panneau VPS, voir changer le mot de passe root) et crée ton propre utilisateur avec des droits d'administration :

adduser tonnom
usermod -aG sudo tonnom

À partir de maintenant, tu travailles en tant que tonnom et tu mets sudo devant les commandes d'administration. Root n'a alors plus besoin de se connecter directement, et cette porte-là, tu la fermes à l'étape 3.

Étape 2 : des clés SSH au lieu de mots de passe

Une clé SSH est une paire de clés : la partie privée reste sur ton propre ordinateur, la partie publique va sur le serveur. La deviner devient alors peine perdue, peu importe combien de fois un bot essaie. Crée la paire sur ton propre ordinateur ; Windows 10 et 11, macOS et Linux intègrent ssh-keygen :

ssh-keygen -t ed25519

Choisis une phrase de passe : un fichier de clé volé ne suffit alors pas à lui seul. Place ensuite la partie publique sur le VPS. Sur macOS et Linux :

ssh-copy-id tonnom@ton-ip

Sur Windows, ssh-copy-id n'existe pas ; dans PowerShell, tu fais la même chose avec :

type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh tonnom@ton-ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Tu préfères PuTTY ? Suis alors configurer des clés SSH avec PuTTYgen. Teste dans une nouvelle fenêtre : ssh tonnom@ton-ip doit maintenant te connecter sans le mot de passe de ton compte, uniquement avec la phrase de passe de ta clé.

Étape 3 : désactiver la connexion par mot de passe et la connexion root

Maintenant que la clé fonctionne, tu peux fermer la porte aux mots de passe. Crée ton propre fichier de configuration :

sudo nano /etc/ssh/sshd_config.d/00-beveiliging.conf

avec ces deux lignes :

PasswordAuthentication no
PermitRootLogin no

Pourquoi ce 00- dans le nom ? Pour chaque paramètre, OpenSSH utilise la première valeur qu'il rencontre, et les fichiers de sshd_config.d sont lus par ordre alphabétique, avant le reste de sshd_config. Sur les images cloud, on trouve parfois un fichier comme 50-cloud-init.conf avec PasswordAuthentication yes ; avec 00-, c'est toi qui passes en premier. Vérifie et redémarre :

sudo sshd -t && sudo systemctl restart ssh
sudo sshd -T | grep -Ei '^(passwordauthentication|permitrootlogin)'

La dernière ligne doit afficher passwordauthentication no et permitrootlogin no. Ne ferme ta session actuelle qu'une fois que tu as réussi à te reconnecter dans une deuxième fenêtre.

Étape 4 : pare-feu avec ufw (OpenSSH d'abord !)

ufw ferme tout ce que tu n'ouvres pas explicitement. L'ordre compte : autorise SSH avant d'activer le pare-feu, sinon tu te bloques toi-même dehors.

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 25565/tcp
sudo ufw enable
sudo ufw status verbose

La ligne avec 25565 est un exemple pour un serveur Minecraft ; n'ouvre que les ports que tu utilises vraiment. Pour FiveM, c'est le port 30120 en TCP et UDP (voir serveur FiveM sur ton propre VPS), pour les jeux Steam, tu trouves les ports dans serveur de jeu Steam sur ton VPS. Un port d'administration, comme celui de txAdmin (40120), tu ne l'ouvres que pour ta propre adresse IP : sudo ufw allow from ton-ip-maison to any port 40120.

Attention avec Docker, et donc aussi avec Pterodactyl Wings : selon la documentation de Docker, les ports que tu publies avec Docker contournent les règles d'ufw. Ces ports, tu les gères donc dans Docker ou dans ton panneau de jeu, pas seulement dans ufw. Et sur le VPS pas cher, tu partages le noyau avec l'hôte via OpenVZ : après l'activation, vérifie avec sudo ufw status verbose que le pare-feu y est vraiment actif.

Étape 5 : fail2ban contre le brute force

fail2ban lit tes fichiers journaux et bloque temporairement une adresse IP après trop de tentatives de connexion échouées. Sur Ubuntu, la protection pour SSH est active dès l'installation :

sudo apt install fail2ban
sudo fail2ban-client status sshd

Tu veux des règles plus strictes ? Crée alors /etc/fail2ban/jail.local. Ne modifie pas jail.conf lui-même, car ce fichier peut être écrasé lors d'une mise à jour.

[sshd]
maxretry = 5
bantime = 1h

Ensuite, sudo systemctl restart fail2ban. Avec uniquement des clés SSH, plus personne ne devine ton mot de passe, mais fail2ban garde tes journaux propres et freine les bots. Tu t'es banni toi-même, par exemple après plusieurs essais avec la mauvaise clé ? Retire alors ton adresse IP via la console avec sudo fail2ban-client set sshd unbanip ton-ip.

Étape 6 : mises à jour de sécurité automatiques

Sur Ubuntu Server, unattended-upgrades est installé par défaut et installe tout seul les mises à jour de sécurité. Vérifie qu'il est activé :

cat /etc/apt/apt.conf.d/20auto-upgrades

Si tu vois APT::Periodic::Unattended-Upgrade "1";, tout est bon. Sinon, installe-le avec sudo apt install unattended-upgrades et active-le avec sudo dpkg-reconfigure -plow unattended-upgrades. Un nouveau noyau n'est pris en compte qu'après un redémarrage, et le redémarrage automatique est désactivé par défaut. Tu le veux quand même ? Ajoute alors Unattended-Upgrade::Automatic-Reboot "true"; dans /etc/apt/apt.conf.d/50unattended-upgrades, avec une heure creuse via Automatic-Reboot-Time. Si un serveur de jeu tourne dessus, fais en sorte qu'il redémarre tout seul avec systemd.

Windows Server : verrouiller RDP

Sur un VPS Windows, le Bureau à distance (RDP, port 3389) est la porte à laquelle les bots frappent. Les bases :

  • Un mot de passe long et unique pour Administrator, et pas de comptes supplémentaires avec des mots de passe faibles.
  • Laisser Windows Update activé, et aller vraiment au bout des mises à jour avec un redémarrage.
  • Dans le Pare-feu Windows Defender, limiter la règle du Bureau à distance à ta propre adresse IP, via l'onglet Étendue (Scope) de cette règle.
  • Laisser Network Level Authentication activé : quelqu'un doit alors d'abord se connecter avant qu'une session ne démarre.

Pour en savoir plus sur la licence, RDP et les cas où Linux est le meilleur choix, lis louer un VPS Windows ; la connexion elle-même est expliquée dans se connecter au Bureau à distance.

Ce que la protection DDoS fait et ne fait pas

Chaque VPS chez MC-Node dispose d'une protection DDoS via le réseau de PletX, toujours active et incluse dans le prix (voir comment fonctionne la protection DDoS). Elle filtre les attaques qui veulent paralyser ta connexion sous un flot de trafic. Mais un filtre DDoS regarde le trafic, pas qui se connecte : un mot de passe deviné, un token qui a fuité ou une faille dans un plugin obsolète, il ne les arrête pas. C'est à ça que servent les étapes ci-dessus. Pour les serveurs de jeu, tu en apprends plus dans ce qu'est une attaque DDoS et sécuriser ton serveur Minecraft.

Ton filet de sécurité : la console et une sauvegarde

Tu as activé ufw sans règle SSH, ou fait une faute de frappe dans la configuration SSH ? Ton VPS n'est pas cassé, il est juste inaccessible via SSH. Le panneau VPS contient une console : tu travailles alors comme si tu étais devant l'écran du serveur, indépendamment de SSH et du pare-feu. Connecte-toi là et annule la modification, par exemple avec sudo ufw disable ou en supprimant 00-beveiliging.conf.

Prévois aussi des sauvegardes, de préférence avant de faire de gros changements : place une copie de ta configuration et de tes données ailleurs que sur le VPS lui-même, pour qu'une erreur ou un piratage ne signe pas la fin de ton projet.

Questions fréquentes

Comment sécuriser un nouveau VPS ?

Commence par tout mettre à jour et crée ton propre utilisateur avec des droits sudo. Connecte-toi ensuite avec une clé SSH, désactive la connexion par mot de passe et la connexion root, ferme avec ufw tous les ports sauf SSH et ceux que tu utilises vraiment, puis installe fail2ban. Vérifie enfin que les mises à jour de sécurité automatiques sont activées.

Dois-je changer le port SSH ?

Tu peux, mais ce n'est pas une vraie sécurité. Un autre port réduit le bruit dans tes journaux, car moins de bots le trouvent ; quelqu'un qui cherche de façon ciblée le trouve quand même. Les clés SSH, la connexion par mot de passe désactivée et fail2ban font le vrai travail. Si tu changes le port, ouvre d'abord le nouveau port dans ufw.

Que faire si je me suis bloqué dehors ?

Utilise la console du panneau VPS. Elle fonctionne indépendamment de SSH et du pare-feu, donc tu peux t'y connecter et annuler la modification, par exemple avec ufw disable ou en supprimant ton nouveau fichier de configuration SSH.

La protection DDoS protège-t-elle contre les hackers ?

Non, pas contre les intrusions. La protection DDoS filtre les attaques qui veulent submerger ta connexion de trafic, et elle est toujours active sur chaque VPS chez MC-Node. Contre les mots de passe devinés et les failles logicielles, ce qui aide, ce sont les mises à jour, les clés SSH, un pare-feu et fail2ban.

Un VPS chez MC-Node est-il managed ou unmanaged ?

Self-managed : tu reçois l'accès root ou Administrator et tu gères toi-même les mises à jour et la sécurité. Notre support te donne un coup de main si tu bloques. Tu préfères ne pas t'occuper de cette gestion ? Alors un serveur de jeu clé en main est souvent le meilleur choix.

À lire aussi

// ESSAYEZ VOUS-MÊME
Votre serveur Minecraft en ligne en 60 secondes
Voir les offres →