Pourquoi la sécurisation est-elle indispensable ?

Il existe des réseaux de machines malveillantes (bots) dont la seule fonction est de scanner et attaquer les serveurs vulnérables. Les principales attaques sont :

  • Scans de ports : recherche des services exposés (SSH, HTTP, FTP…).
  • Tentatives de connexion root : ciblage prioritaire du port SSH (22 par défaut).
  • Brute-force / dictionnaire : test automatique de milliards de combinaisons de mots de passe.

Sans sécurisation, votre VPS peut être compromis en quelques heures, voire quelques minutes après sa mise en ligne.


Niveau 1 – Mettre à jour le système

Un système non mis à jour est une cible facile, car les failles connues sont publiques.
Les éditeurs publient régulièrement des correctifs de sécurité : vous devez les appliquer rapidement.

Commandes essentielles :

apt update && apt upgrade -y

À répéter régulièrement. Pour automatiser, vous pouvez installer :

apt install unattended-upgrades

Cela permet l’installation automatique des mises à jour critiques de sécurité.


Niveau 2 – Utiliser un mot de passe fort (ou mieux : des clés SSH)

Un mot de passe faible ou prévisible sera découvert en quelques secondes par une attaque brute force.

Bonnes pratiques pour les mots de passe

  • Longueur minimale : 12 à 16 caractères.
  • Complexité : mélange de majuscules, minuscules, chiffres et caractères spéciaux.
  • Éviter absolument : noms, dates de naissance, mots du dictionnaire.
  • Ne jamais réutiliser le même mot de passe sur plusieurs services.

Exemple correct :

py$XoTTUdBYY@!9f

Pour changer le mot de passe root :

passwd root

Recommandation professionnelle

Évitez l’authentification par mot de passe quand c’est possible, et utilisez des clés SSH :

ssh-keygen -t ed25519

Puis ajoutez votre clé publique dans :
~/.ssh/authorized_keys

Ensuite, désactivez l’accès par mot de passe dans /etc/ssh/sshd_config :

PasswordAuthentication no

Niveau 3 – Modifier le port SSH

Changer le port SSH par défaut (22) complique la tâche des robots de scan.

Éditer le fichier :

nano /etc/ssh/sshd_config

Remplacez :

#Port 22

par un port de votre choix (ex. 22022).

Puis redémarrez le service :

systemctl restart ssh

⚠️ Avant de fermer votre session, ouvrez une seconde connexion pour tester le nouveau port.


Niveau 4 – Installer Fail2Ban

Fail2Ban surveille vos logs et bloque automatiquement les adresses IP effectuant trop de tentatives infructueuses.

Installation :

apt install fail2ban -y

Création d’une configuration personnalisée :

cd /etc/fail2ban/jail.d/
nano custom.conf

Exemple de configuration :

[DEFAULT]
ignoreip = 127.0.0.1
findtime = 3600
bantime  = 86400
maxretry = 3

[sshd]
enabled = true
port = 22022   # votre port SSH
logpath = /var/log/auth.log

Puis redémarrez :

systemctl restart fail2ban

Niveau 5 – Activer un pare-feu

Un VPS doit exposer uniquement les services nécessaires. Tout le reste doit être bloqué par défaut.

Avec UFW (simple)

apt install ufw -y
ufw default deny incoming
ufw default allow outgoing
ufw allow 22022/tcp   # SSH
ufw allow 80,443/tcp  # HTTP/HTTPS
ufw enable

Avec iptables/nftables (avancé)

Utile pour des règles plus complexes (DoS, filtrage par IP, etc.).


Niveau 6 – Créer un utilisateur non-root

L’utilisateur root ne devrait jamais être utilisé directement. Créez un utilisateur normal avec droits sudo :

adduser monuser
usermod -aG sudo monuser

Puis désactivez la connexion root SSH :

PermitRootLogin no

Niveau 7 – Sauvegardes et surveillance

Un serveur bien sécurisé ne doit pas seulement être protégé contre les intrusions, mais aussi être préparé à une récupération rapide.

  • Sauvegardes régulières : bases de données, fichiers critiques, configurations.
  • Monitoring : surveiller la charge CPU, RAM, espace disque et journaux (via Prometheus, Grafana, ou un service externe).
  • Détection d’intrusion : outils comme rkhunter, chkrootkit, ou Lynis.

Conclusion

Sécuriser son VPS n’est pas une option mais une obligation.
Un VPS non protégé est tôt ou tard compromis.

Résumé des étapes minimales :

  1. Maintenir le système à jour.
  2. Utiliser des mots de passe forts (ou mieux, clés SSH).
  3. Changer le port SSH et désactiver root.
  4. Installer Fail2Ban.
  5. Mettre en place un pare-feu.
  6. Créer un utilisateur non-root.
  7. Planifier des sauvegardes et surveiller le système.

En appliquant ces bonnes pratiques, vous augmentez considérablement la résilience de votre VPS face aux attaques.