Aller au contenu principal

Sécuriser son VPS Linux

Ce guide présente les meilleures pratiques pour sécuriser votre VPS Linux. La sécurité est un processus continu, ces étapes constituent une base solide.

Important

Testez chaque modification avant de fermer votre session SSH actuelle pour éviter de vous retrouver bloqué.


1. Mettre à jour le système

La première étape de sécurisation consiste à maintenir votre système à jour.

Installation des mises à jour

apt update && apt upgrade -y
Mise à jour régulières

Prévoyez de vérifier régulièrement les mises à jour de sécurité. Vous pouvez automatiser cela, mais le faire manuellement reste préférable pour garder le contrôle, car certaines mises à jour peuvent nécessiter une intervention.


2. Créer un utilisateur non-root

Ne jamais utiliser root pour les opérations quotidiennes.

Créer un nouvel utilisateur

adduser votrenom

Ajouter l'utilisateur au groupe sudo

usermod -aG sudo votrenom

Tester la connexion

Dans un nouveau terminal, testez la connexion avec le nouvel utilisateur :

ssh votrenom@VOTRE_IP_VPS

Vérifiez que sudo fonctionne :

sudo apt update

3. Sécuriser SSH

Le service SSH est la porte d'entrée de votre VPS, il doit être correctement configuré.

3.1. Modifier la configuration SSH

Une fois un utilisateur non-root créé, connectez-vous avec celui-ci et éditez le fichier de configuration SSH :

sudo nano /etc/ssh/sshd_config

Modifiez ou ajoutez ces lignes :

# Désactiver la connexion root
PermitRootLogin no

# Limiter les tentatives d'authentification
MaxAuthTries 3

# Timeout de connexion
LoginGraceTime 30

# Désactiver les connexions X11
X11Forwarding no

# Limiter l'accès à certains utilisateurs (optionnel)
AllowUsers votrenom

3.2. Changer le port SSH (optionnel)

Pour éviter les scans automatiques sur le port 22 :

Port 2222
Attention

Si vous changez le port SSH, notez-le ! Vous devrez ensuite vous connecter avec :

ssh -p 2222 votrenom@VOTRE_IP_VPS

Ou changer la configuration de votre client SSH.

VPN/Pare-feu

Si vous utilisez un VPN ou un pare-feu spécifique pour accéder à votre VPS, assurez-vous que le nouveau port est autorisé.

3.3. Redémarrer SSH

Testez d'abord la configuration :

sudo sshd -t

Si tout est OK, redémarrez :

sudo systemctl restart sshd

# ou selon la distribution

sudo systemctl restart ssh
Important

Ne fermez pas votre session actuelle ! Ouvrez un nouveau terminal et testez la connexion SSH avant de fermer l'ancienne session.


4. Configurer un pare-feu (UFW)

UFW (Uncomplicated Firewall) est un pare-feu simple et efficace.

Pourquoi un pare-feu ?

Un pare-feu contrôle le trafic réseau entrant et sortant, protégeant votre VPS contre les accès non autorisés.

Si par exemple, vous passez par un VPN, vous souhaitez peut-être restreindre l'accès SSH uniquement aux IP du VPN.

Il n'y a pas que UFW, il existe aussi iptables, firewalld, etc. UFW est recommandé pour sa simplicité.

Installation

sudo apt install -y ufw

Configuration de base

# Bloquer tout le trafic entrant par défaut
sudo ufw default deny incoming

# Autoriser tout le trafic sortant
sudo ufw default allow outgoing

# Autoriser SSH (port par défaut 22)
sudo ufw allow 22/tcp

# Si vous avez changé le port SSH
sudo ufw allow 2222/tcp

Autoriser d'autres services

Selon vos besoins :

# HTTP
sudo ufw allow 80/tcp

# HTTPS
sudo ufw allow 443/tcp

# MySQL (uniquement si nécessaire depuis l'extérieur)
sudo ufw allow 3306/tcp

# PostgreSQL
sudo ufw allow 5432/tcp

Activer le pare-feu

sudo ufw enable

Vérifier le statut

sudo ufw status verbose

5. Installer Fail2ban

Fail2ban protège contre les attaques par force brute en bannissant les IP suspectes.

Installation

sudo apt install -y fail2ban

Configuration

Créez une configuration locale :

sudo nano /etc/fail2ban/jail.local

Ajoutez cette configuration de base :

[DEFAULT]
# Bannir pendant 1 heure
bantime = 3600

# Fenêtre de détection de 10 minutes
findtime = 600

# Nombre maximum de tentatives
maxretry = 5

# Action par défaut
banaction = ufw

[sshd]
enabled = true
port = 22
# Si vous avez changé le port SSH, modifiez cette ligne
# port = 2222
logpath = %(sshd_log)s
backend = systemd

Démarrer Fail2ban

sudo systemctl enable fail2ban
sudo systemctl start fail2ban

Vérifier le statut

sudo fail2ban-client status
sudo fail2ban-client status sshd

🎉 Félicitations

Votre VPS Linux est désormais beaucoup plus sécurisé ! N'oubliez pas que la sécurité est un processus continu :

  • Surveillez régulièrement vos logs
  • Maintenez votre système à jour
  • Effectuez des sauvegardes régulières
  • Auditez périodiquement votre configuration
Besoin d'aide ?

En cas de problème ou pour des conseils supplémentaires, rejoignez notre Discord.

Sauvegardes

La sécurité ne remplace pas les sauvegardes ! Besoin de sauvegardes ?

Nous proposons des solutions de sauvegarde pour vos VPS. Contactez notre support pour en savoir plus.