Prérequis
- Un VPS Linux actif
- Accès SSH en tant que root
- Connaissances de base en ligne de commande
Un VPS exposé sur Internet est une cible potentielle pour les attaques. Ce guide vous présente les mesures de sécurité essentielles à mettre en place dès l'installation de votre serveur.
Important
Effectuez ces opérations avec précaution. Une mauvaise configuration du pare-feu ou de SSH peut vous bloquer l'accès au serveur.
1. Mettre à jour le système
Première étape indispensable : mettre à jour tous les paquets du système.
apt update && apt upgrade -ydnf update -y2. Créer un utilisateur non-root
Évitez d'utiliser le compte root au quotidien. Créez un utilisateur avec des privilèges sudo :
# Créer l'utilisateur
adduser monuser
# Lui donner les droits sudo
usermod -aG sudo monuser # Ubuntu/Debian
usermod -aG wheel monuser # CentOS/AlmaLinux3. Configurer le pare-feu (UFW)
UFW (Uncomplicated Firewall) est un pare-feu simple à configurer :
# Installer UFW
apt install ufw -y
# Autoriser SSH (IMPORTANT : faire AVANT d'activer)
ufw allow 22/tcp
# Autoriser HTTP et HTTPS si serveur web
ufw allow 80/tcp
ufw allow 443/tcp
# Activer le pare-feu
ufw enable
# Vérifier le statut
ufw statusAttention
Autorisez TOUJOURS le port SSH (22) AVANT d'activer le pare-feu, sinon vous serez bloqué hors du serveur !
4. Sécuriser SSH
Renforcez la configuration SSH pour limiter les attaques :
nano /etc/ssh/sshd_configModifications recommandées :
# Désactiver la connexion root directe
PermitRootLogin no
# Utiliser uniquement le protocole 2
Protocol 2
# Limiter les tentatives d'authentification
MaxAuthTries 3
# Timeout de connexion
LoginGraceTime 60systemctl restart sshdAvant de désactiver root
Assurez-vous que votre utilisateur non-root peut se connecter et utiliser sudo AVANT de désactiver PermitRootLogin.
5. Installer Fail2Ban
Fail2Ban bloque automatiquement les IP qui tentent des attaques par force brute :
# Ubuntu/Debian
apt install fail2ban -y
# CentOS/AlmaLinux
dnf install fail2ban -y
# Démarrer et activer
systemctl start fail2ban
systemctl enable fail2ban# Créer une configuration locale
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
# Éditer la configuration
nano /etc/fail2ban/jail.local[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
bantime = 36006. Mises à jour automatiques
Activez les mises à jour de sécurité automatiques :
apt install unattended-upgrades -y
dpkg-reconfigure -plow unattended-upgradesRésumé des étapes
- Mettre à jour le système
- Créer un utilisateur non-root avec sudo
- Configurer le pare-feu (autoriser SSH avant d'activer !)
- Sécuriser SSH (désactiver root après test)
- Installer Fail2Ban
- Activer les mises à jour automatiques
VPS sécurisé
Ces mesures de base protègent votre serveur contre les attaques les plus courantes. Pour une sécurité renforcée, envisagez également : l'authentification par clé SSH, un IDS/IPS, et des audits de sécurité réguliers.