Sécuriser un VPS

Base de connaissances

Sécuriser un VPS


Icons/System/eye-open Created with Sketch. 3309 vues 21.01.2026 Cloud / Serveurs privés virtuels

Objectif

Lorsque vous commandez votre VPS, vous pouvez choisir une distribution ou un système d'exploitation à pré-installer. Le serveur est donc prêt à être utilisé après la livraison. Il vous appartient cependant, en tant qu'administrateur, de mettre en oeuvre des mesures qui garantissent la sécurité et la stabilité de votre système.

Ce guide vous propose quelques conseils généraux pour sécuriser un serveur basé sur GNU/Linux.

OVHcloud vous met à disposition des services dont la configuration, la sécurité et la responsabilité vous appartiennent. En effet, nous n'avons pas accès aux données hébergées sur ces machines et n’en sommes pas les administrateurs. Il vous appartient de ce fait d’en assurer la gestion logicielle et la sécurisation au quotidien. Nous mettons à disposition ce guide afin de vous accompagner au mieux sur les tâches courantes. Toutefois, nous vous recommandons de faire appel à un prestataire spécialisé si vous éprouvez des difficultés ou des doutes quant à l’administration, l'utilisation ou la sécurisation de votre serveur. Plus d’informations dans la section « Aller plus loin » de ce guide.

Prérequis

  • Un VPS dans votre compte OVHcloud
  • Avoir un accès administrateur (sudo) à votre serveur via SSH

En pratique

Gardez à l'esprit qu’il s’agit d’un guide général basé sur les systèmes d’exploitation Ubuntu, Debian et CentOS. Certaines commandes nécessitent d’être adaptées à la distribution que vous utilisez et certaines astuces vous invitent à utiliser des outils tiers. Veuillez vous référer à la documentation officielle de ces applications si vous avez besoin d'aide.

S'il s'agit de votre première configuration d'un VPS OVHcloud, nous vous invitons à consulter en premier lieu notre guide Débuter avec un VPS.

Les exemples suivants supposent que vous êtes connecté en tant qu'utilisateur avec des autorisations élevées.

Sommaire :

Mettre à jour votre système d'exploitation

Les développeurs de distributions et de systèmes d’exploitation proposent de fréquentes mises à jour de paquets, très souvent pour des raisons de sécurité.
Faire en sorte que votre distribution ou système d'exploitation est à jour est un point essentiel pour sécuriser votre VPS.

Cette mise à jour passera par deux étapes.

  • La mise à jour de la liste des paquets :
sudo apt update
  • La mise à jour des paquets à proprement parler :
sudo apt upgrade
sudo apt update && sudo apt upgrade

La commande est identique à Ubuntu car Debian et Ubuntu utilisent tous deux apt.

sudo yum update

Sur CentOS, la commande pour mettre à jour le système d'exploitation utilise yum ou dnf, selon la version.

Cette opération doit être effectuée régulièrement afin de maintenir un système à jour.

Créer et utiliser une clé SSH

L’authentification par clé SSH est l’une des méthodes les plus efficaces pour sécuriser l’accès à votre VPS.
Contrairement à l’authentification par mot de passe, elle repose sur une paire de clés cryptographiques et permet de réduire considérablement les risques d’attaques par force brute.

Nous vous recommandons fortement de configurer une clé SSH dès la première connexion à votre serveur, puis de privilégier cette méthode pour vos accès administrateur.

Selon votre environnement et l’outil utilisé pour vous connecter à votre VPS, consultez l’un des guides suivants :

Ces guides détaillent les étapes pour :

  • générer une paire de clés SSH ;
  • déployer la clé publique sur votre serveur ;
  • vous connecter en toute sécurité via SSH.

Une fois l’authentification par clé SSH configurée et fonctionnelle, vous pouvez aller plus loin en renforçant la configuration du service SSH, par exemple en modifiant le port d’écoute ou en désactivant l’authentification par mot de passe.

Modifier le port d'écoute SSH par défaut

Avant toute modification du service SSH, assurez-vous de disposer d’un accès fonctionnel via une clé SSH afin d’éviter toute perte d’accès à votre serveur.

Pour cette section, les lignes de commande qui suivent sont identiques pour Ubuntu, Debian et CentOS.

L'une des premières actions à effectuer sur votre serveur est la configuration du port d'écoute du service SSH. Par défaut, celui-ci est défini sur le port 22, donc les tentatives de hack du serveur par des robots vont cibler ce port en priorité. La modification de ce paramètre, au profit d'un port différent, est une mesure simple pour renforcer la protection de votre serveur contre les attaques automatisées.

Pour cela, modifiez le fichier de configuration du service avec l'éditeur de texte de votre choix (nano est utilisé dans cet exemple) :

sudo nano /etc/ssh/sshd_config

Vous devriez trouver les lignes suivantes ou équivalentes :

#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0

Remplacez le nombre 22 par le numéro de port de votre choix.
Veillez toutefois à ne pas renseigner un numéro de port déjà utilisé sur votre système. Pour plus de sécurité, utilisez un numéro entre 49152 et 65535.

Vous pouvez également afficher les ports attribués à votre système à l'aide de la commande suivante :

sudo cat /etc/services

Si la ligne est "commentée" (c'est-à-dire si elle est précédée d'un "#") comme dans l'exemple ci-dessus, veillez à supprimer le "#" avant d'enregistrer le fichier pour que la modification soit prise en compte. Exemple :

Port 49152
#AddressFamily any
#ListenAddress 0.0.0.0

Si un pare-feu est configuré sur votre système d'exploitation (UFW ou iptables), vous devez ajuster ses paramètres pour autoriser le trafic sur le nouveau port avant de redémarrer le service. Si vous utilisez iptables, consultez ce guide : Configurer le pare-feu sous Linux avec Iptables. Si aucun pare-feu n'est configuré par défaut, redémarrez le service.

Enregistrez et quittez le fichier de configuration.

Redémarrez le service :

sudo systemctl restart sshd

Cela devrait être suffisant pour appliquer les changements. Dans le cas contraire, redémarrez le VPS (sudo reboot).

Pour Ubuntu 24.04 et versions ultérieures

Pour les dernières versions d'Ubuntu, la configuration SSH est désormais gérée dans le fichier ssh.socket.

Pour mettre à jour le port SSH, éditez la ligne Listenstream dans le fichier de configuration avec un éditeur de texte de votre choix (nano utilisé dans cet exemple) :

sudo nano /lib/systemd/system/ssh.socket

Votre fichier devrait ressembler aux exemples suivants, en fonction de la version d'Ubuntu que vous avez installée :

[Socket]
ListenStream=49152
Accept=no

ou

[Socket]
ListenStream=0.0.0.0:49152
ListenStream=[::]:22
BindIPv6Only=ipv6-only
Accept=no
FreeBind=yes

Enregistrez vos modifications et exécutez les commandes suivantes :

sudo systemctl daemon-reload

Redémarrez le service :

sudo systemctl restart ssh.socket

N'oubliez pas que vous devrez indiquer le nouveau port à chaque demande de connexion SSH à votre serveur :

ssh nomdutilisateur@IPv4_VPS -p NouveauPort

Exemple :

ssh ubuntu@203.0.113.100 -p 49152

Si vous êtes bloqué hors de votre système, vous pouvez utiliser notre mode rescue pour annuler vos modifications.

Créer un utilisateur avec des droits restreints

En général, les tâches qui ne requièrent pas de privilèges root doivent être effectuées via un utilisateur standard. Pour plus d'informations, consultez ce guide.

Configurer le pare-feu interne (iptables)

Les distributions GNU/Linux courantes sont fournies avec un service de pare-feu nommé iptables. Par défaut, ce service ne possède aucune règle active. Vous pouvez le constater en tapant la commande suivante :

iptables -L

Pour plus d'informations sur iptables, consultez notre guide dédié.

Il est alors recommandé de créer et d’ajuster à votre utilisation des règles de pare-feu. Pour plus d'informations sur les diverses manipulations possibles, reportez-vous à la documentation officielle de la distribution utilisée.

Installer Fail2ban

Fail2ban est un framework de prévention contre les intrusions dont le but est de bloquer les adresses IP depuis lesquelles des bots ou des attaquants tentent de pénétrer dans votre système.
Ce paquet est recommandé, voire indispensable dans certains cas, pour protéger votre serveur des attaques de types Brute Force ou Denial of Service.

Pour installer le package logiciel, utilisez la commande suivante :

sudo apt install fail2ban

Sur CentOS 7 et CentOS 8 (ou RHEL), installez d'abord le dépôt EPEL (Extra Packages for Enterprise Linux), puis Fail2ban :

sudo yum install epel-release
sudo yum install fail2ban

Vous pouvez personnaliser les fichiers de configuration Fail2ban pour protéger les services exposés à l'Internet public contre les tentatives de connexion répétées.

Comme le recommande Fail2ban, créez un fichier de configuration local de vos services en copiant le fichier "jail" :

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Ouvrez ensuite le fichier avec un éditeur de texte :

sudo nano /etc/fail2ban/jail.local

Prenez soin de lire les informations en haut du fichier, notamment les commentaires sous [DEFAULT].

Les paramètres [DEFAULT] sont globaux et s'appliqueront donc à tous les services définis pour être activés (enabled) dans ce fichier.

Il est important de savoir que les paramètres globaux ne seront pris en compte que s'il n'y a pas de valeurs différentes définies dans les sections services (JAILS) plus bas dans le fichier.

Prenons pour exemple ces lignes sous [DEFAULT] :

bantime  = 10m
maxretry = 5
enabled = false

Cela signifie qu'une adresse IP à partir de laquelle un hôte tente de se connecter sera bloquée pendant dix minutes après la cinquième tentative d'ouverture de session infructueuse.
De plus, tous les paramètres spécifiés par [DEFAULT] et dans les sections suivantes restent désactivés sauf si la ligne enabled = true est ajoutée pour un service (listée ci-dessous # JAILS).

À titre d’exemple d’utilisation, le fait d’avoir les lignes suivantes dans la section [sshd] activera des restrictions uniquement pour le service OpenSSH :

[sshd]
enabled = true
port = ssh
filter = sshd
maxretry = 3
findtime = 5m
bantime  = 30m

Dans cet exemple, si une tentative de connexion SSH échoue trois fois en cinq minutes, la période d’interdiction des IP sera de 30 minutes.

Vous pouvez remplacer "ssh" par le numéro de port réel si vous l'avez modifié.

La meilleure approche consiste à activer Fail2ban uniquement pour les services qui sont réellement exécutés sur le serveur. Chaque paramètre personnalisé ajouté sous # JAILS sera alors prioritaire sur les valeurs par défaut.

Une fois vos modifications terminées, enregistrez le fichier et fermez l'éditeur.

Redémarrez le service pour vous assurer qu'il s'exécute avec les personnalisations appliquées :

1. Commande recommandée avec systemctl :

sudo systemctl restart fail2ban

2. Commande avec service (ancienne méthode, toujours compatible) :

sudo service fail2ban restart

Fail2ban dispose de nombreux paramètres et filtres de personnalisation ainsi que d’options prédéfinies, par exemple lorsque vous souhaitez ajouter une couche de protection à un serveur web Nginx.

Pour toute information complémentaire et pour des recommandations concernant Fail2ban, n'hésitez pas à consulter la documentation officielle de cet outil.

Configurer le Network Firewall OVHcloud

Les solutions OVHcloud incluent la possibilité d'activer un pare-feu au point d'entrée de l'infrastructure, appelé Network Firewall. Une configuration correcte de ce pare-feu permet de bloquer les connexions avant même qu'elles n'arrivent sur votre serveur.

Consultez le guide « Configurer le Network Firewall » si vous souhaitez l'activer.

Sauvegarder votre système et vos données

Le concept de sécurité ne se limite pas à la protection d'un système contre les attaques.

La sécurisation de vos données est un élément clé, c'est pourquoi OVHcloud vous offre plusieurs options de sauvegarde en tant que services :

  • L'option Snapshot qui vous permet de créer un instantané manuel.
  • L'option de Sauvegarde automatique vous permet de conserver des sauvegardes régulières de votre VPS (à l'exception des disques supplémentaires).

Vous trouverez toutes les informations sur les solutions de sauvegarde disponibles pour votre service sur la page produit et dans les guides respectifs.

Aller plus loin

Débuter avec un VPS

Créer et utiliser des clés SSH

Configurer le pare-feu sous Windows

Configurer le pare-feu sous Linux avec Iptables

Configurer le Network Firewall

Échangez avec notre communauté d'utilisateurs.

Articles associés