Sécurité du VPS Imprimer

  • VPS
  • 0

4. Sécurité du VPS

La sécurisation d’un VPS est une étape fondamentale de son administration. Un serveur exposé à Internet est constamment scanné et testé par des robots automatisés. Une configuration incomplète peut entraîner compromission, élévation de privilèges, fuite de données ou interruption de service.

Cette section décrit les bonnes pratiques essentielles pour renforcer la sécurité d’un VPS sous Linux (Ubuntu/Debian).


1. Modifier le port SSH par défaut

Par défaut, le service SSH écoute sur le port 22, cible privilégiée des scans automatisés. Modifier ce port réduit le bruit des attaques opportunistes (sans remplacer une vraie politique de sécurité).

    1. Éditer la configuration SSH :
      sudo nano /etc/ssh/sshd_config
    2. Modifier la ligne :
      Port 22Port 2222 (ou tout port > 1024 non utilisé)
    3. Autoriser le nouveau port dans le firewall AVANT redémarrage :

sudo ufw allow 2222/tcp

  1. Redémarrer le service SSH :
    sudo systemctl restart ssh

Important : Ouvrir une nouvelle session SSH pour tester le nouveau port avant de fermer la session active.


2. Désactiver la connexion root par mot de passe

L’accès root direct par mot de passe est fortement déconseillé.

    1. Éditer le fichier :

sudo nano /etc/ssh/sshd_config

    1. Modifier ou ajouter :

PermitRootLogin prohibit-password

    1. Redémarrer SSH :

sudo systemctl restart ssh

Option recommandée : créer un utilisateur administrateur avec privilèges sudo :

sudo adduser admin
sudo usermod -aG sudo admin

Puis, une fois validé, désactiver totalement root :

PermitRootLogin no


3. Utiliser des clés SSH (authentification forte)

L’authentification par clé publique est nettement plus sécurisée qu’un mot de passe.

Génération d’une clé (poste local)

ssh-keygen -t ed25519 -C "admin@vps"

L’algorithme ed25519 est recommandé (rapide, moderne, sécurisé). Toujours définir une passphrase.

Copie de la clé publique

ssh-copy-id -p 2222 admin@adresse_IP_du_VPS

Désactiver totalement les mots de passe SSH

Dans /etc/ssh/sshd_config :

PasswordAuthentication no
PubkeyAuthentication yes

Puis redémarrer :

sudo systemctl restart ssh

Ne jamais désactiver l’authentification par mot de passe avant d’avoir validé la connexion par clé.


4. Configurer un firewall (UFW)

Le firewall limite l’exposition des services réseau.

Configuration minimale recommandée :

    1. Autoriser le port SSH personnalisé :

sudo ufw allow 2222/tcp

    1. Autoriser HTTP/HTTPS si serveur web :

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

    1. Activer UFW :

sudo ufw enable

    1. Vérifier la configuration :

sudo ufw status verbose


5. Installer Fail2Ban

Fail2Ban analyse les logs et bloque temporairement les IP après plusieurs tentatives échouées.

    1. Installation :

sudo apt update && sudo apt install fail2ban -y

    1. Créer une configuration locale :

sudo nano /etc/fail2ban/jail.local

  1. Configuration minimale pour SSH :
[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 3600

Redémarrer le service :

sudo systemctl restart fail2ban


6. Maintenance et surveillance

    • Mettre à jour régulièrement :

sudo apt update && sudo apt upgrade -y

    • Activer les mises à jour de sécurité automatiques :

sudo apt install unattended-upgrades

    • Vérifier les ports ouverts :

sudo ss -tulpn

    • Analyser les connexions SSH :

sudo journalctl -u ssh

  • Désactiver les services inutiles.
  • Restreindre les permissions critiques avec chmod et chown.

7. Résumé des mesures essentielles

  • ✔ Port SSH personnalisé
  • ✔ Authentification par clé uniquement
  • ✔ Root désactivé ou restreint
  • ✔ Firewall actif
  • ✔ Fail2Ban configuré
  • ✔ Mises à jour régulières

Conclusion : La sécurité d’un VPS n’est pas un réglage unique mais un processus continu. Une surveillance régulière, des mises à jour fréquentes et une réduction de la surface d’attaque sont indispensables pour maintenir un niveau de sécurité élevé.


Cette réponse était-elle pertinente?

« Retour