|

SÉCURISER UN VPS LINUX

Connexion au VPS en root

Se connecter avec putty, kitty ou le terminal au VPS, en root via SSH:
ssh root@00.00.00.00

Avec la commande suivante on change le mot de passe root:
passwd root
On entre le nouveau mot de passe et on valide avec « Entrer ».


Ajout d’un utilisateur au VPS

On ajoute un nouvel utilisateur avec la commande suivante:
adduser "username"

Un mot de passe sera demandé. On écris le mot de passe pour le nouvel utilisateur et on confirme avec la touche « Entrer ».
D’autres informations concernant le nouvel utilisateur sont demandées, mais on peut les ignorer.
On ajoute le nouvel utilisateur au groupe sudo avec la commande:
usermod -aG sudo "username"


Mise à jour du VPS

Sans changer d’utilisateur, on met le système à jour avec la commande suivante:
apt update && apt upgrade -y


Installation du pare-feu ufw sur le VPS

avec la commande suivante on peut voir si le pare-feu est ou pas installé et ce qui est configurer:

sudo ufw status verbose

Installation et pré-configuration le pare-feu:

sudo apt update # Met à jour la liste des paquets
sudo apt install -y ufw # Installe le pare-feu UFW

sudo ufw default allow outgoing # Autorise toutes les connexions sortantes
sudo ufw default deny incoming # Bloque toutes les connexions entrantes par défaut

sudo ufw allow ssh # Autorise SSH (port 22 par défaut)
sudo ufw limit ssh # Limite les tentatives SSH (anti brute-force)

sudo ufw allow sftp # Autorise SFTP (basé sur SSH)

sudo ufw logging on # Active les logs du pare-feu
sudo ufw enable # Active le pare-feu

🧠 Ce que fait UFW en interne

Cette règle n’ouvre pas juste le port SSH, elle ajoute une limitation automatique des connexions basée sur l’IP source.

Concrètement :

  • SSH reste accessible
  • Les tentatives répétées sont temporairement bloquées
  • C’est un anti brute-force basique, mais efficace

⚙️ Règle réelle appliquée (en coulisses)

UFW s’appuie sur iptables et crée une règle de type :

  • Maximum 6 connexions en 30 secondes
  • Par adresse IP
  • Si dépassé → IP bloquée temporairement

Ce n’est pas configurable directement via UFW (sans passer par iptables).


🔁 Scénario concret

Cas normal
  • On se connectes une fois en SSH
  • Tout passe ✔️
Cas attaque brute-force
  • Un bot tente 50 connexions en 10 secondes
  • À la 7ᵉ tentative :
    • Connexion refusée
    • IP mise en attente (drop)
    • Logs enregistrés

⏱️ Durée du blocage

  • Blocage temporaire
  • L’IP est automatiquement autorisée à nouveau après un délai
  • Aucun bannissement permanent

Contrairement à fail2ban, qui peut bannir plusieurs heures/jours.

Autoriser un port spécifique en IPv4 (et IPv6 si dispo.) avec UFW:

sudo ufw allow 8843/tcp

Pour enlever un port on utilise la commande suivante:

sudo ufw delete allow 8443/tcp

⚠️ ATTENTION! Ne jamais fermer le port 22 (SSH) si aucun autre port n’a été configurer !


Configuration des connexions SSH

SSH, c’est quoi ?

SSH (Secure Shell) permet de se connecter à distance à un serveur en toute sécurité.
Il chiffre les échanges (mots de passe, commandes, fichiers).

  • administrer un serveur
  • exécuter des commandes
  • transférer des fichiers (SCP / SFTP)

⚙️ sshd, c’est quoi ?

sshd est le service serveur SSH. Sans lui Impossible de se connecter en SSH.

Il écoute généralement sur le port 22.

Le fichier /etc/ssh/sshd_config sert à configurer le serveur SSH. On y définit par exemple :

  • Les IP autorisées
  • Le port SSH
  • L’accès root (autorisé ou non)
  • Mot de passe ou clé SSH

Si on décide de changer le port SSH (22) par défaut, il faut allé dans le fichier avec la commande suivant:

sudo /etc/ssh/sshd_config

dans le fichier, on cherche #Port 22 et on rajoute Port suivie du port qu’on veux rajouter. P.ex.:

Après modification :

sudo systemctl restart ssh

Ne coupé surtout pas votre connexion ssh. Faite le test de connexion avec le nouveau port dans une autre session Kitty ou Putty avant de coupé la première session. Si la nouvelle connexion s’établi alors c’est bon. Par contre, si vous resté bloqué avec la connexion et que vous êtes sur que tout est juste, alors faite un sudo reboot, des fois ça fais des miracles …


Ajout de mémoire SWAP au VPS

Ajout de mémoire swap (optionnel juste en cas de RAM trop faible):
sudo apt -y install nano
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

On édite le fichier fstab avec la commande nano /etc/fstab et on ajoute la ligne suivante à la fin du fichier: /swapfile none swap sw 0 0

Puis appuyez sur Ctrl + X pour fermer l’éditeur, puis Y et Entrée pour enregistrer le fichier.


Installation de fail2ban sur le VPS

On installe fail2ban et on l’active avec les commandes:
sudo apt -y install fail2ban
systemctl enable fail2ban
systemctl start fail2ban


À Tester et complété ce qui suit !
Installation de rkhunter & AIDE:
sudo apt -y install rkhunter
sudo apt -y install aide

On redémarre le serveur:
sudo reboot

On se connecte avec notre nouveau compte utilisateur :
ssh "username"@00.00.00.00

On désactive le login root via SSH :
nano /etc/ssh/sshd_config

On cherche et modifi la ligne ligne suivante PermitRootLogin yes par PermitRootLogin no

On relance SSH:
/etc/init.d/sshd restart

Pour switcher sur le compte root on utilise la commande suivante:
su -

mes sources: https://www.youtube.com/watch?v=BtoZ4XQtFDw&ab_channel=DECRYPT


Laisser un commentaire