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.
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
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
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.
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
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.
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
En cas de problème ou pour des conseils supplémentaires, rejoignez notre Discord.
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.