Builders Academy
Sécuriser un VPS — Pratiques DevSecOps
1 of 1

Chapitre 1 · Leçon 1

Sécuriser un VPS

Checklist de sécurité post-installation

Section 1

SSH par clés et désactivation du root

Step 1

Configurer SSH par clés

L'authentification par clé SSH est infiniment plus sécurisée que par mot de passe. Après avoir activé les clés, on désactive l'authentification par mot de passe.

snippet.bash

bash
1# === Sur ta machine locale ===
2
3# Générer une paire de clés (si pas déjà fait)
4ssh-keygen -t ed25519 -C "usher@usher.dev" -f ~/.ssh/usher_vps
5
6# Copier la clé publique sur le VPS
7ssh-copy-id -i ~/.ssh/usher_vps.pub deployer@ton-vps.com
8
9# Ou manuellement :
10cat ~/.ssh/usher_vps.pub
11# Copier le contenu
12
13# === Sur le VPS ===
14# Ajouter la clé (connecté en root initialement)
15mkdir -p ~/.ssh && chmod 700 ~/.ssh
16echo "ta-clé-publique" >> ~/.ssh/authorized_keys
17chmod 600 ~/.ssh/authorized_keys
18
19# === Sécuriser la config SSH ===
20sudo nano /etc/ssh/sshd_config

Step 2

Configuration sshd_config

Modifier /etc/ssh/sshd_config pour durcir la configuration SSH.

snippet.bash

bash
1# === Sur ta machine locale ===
2
3# Générer une paire de clés (si pas déjà fait)
4ssh-keygen -t ed25519 -C "usher@usher.dev" -f ~/.ssh/usher_vps
5
6# Copier la clé publique sur le VPS
7ssh-copy-id -i ~/.ssh/usher_vps.pub deployer@ton-vps.com
8
9# Ou manuellement :
10cat ~/.ssh/usher_vps.pub
11# Copier le contenu
12
13# === Sur le VPS ===
14# Ajouter la clé (connecté en root initialement)
15mkdir -p ~/.ssh && chmod 700 ~/.ssh
16echo "ta-clé-publique" >> ~/.ssh/authorized_keys
17chmod 600 ~/.ssh/authorized_keys
18
19# === Sécuriser la config SSH ===
20sudo nano /etc/ssh/sshd_config

Section 2

Pare-feu UFW et Fail2Ban

Step 3

Configurer UFW

UFW (Uncomplicated Firewall) simplifie la gestion d'iptables. La règle : bloquer tout, n'ouvrir que ce qui est nécessaire.

Step 4

Configuration Fail2Ban

Fail2Ban surveille les logs et banne automatiquement les IPs qui font trop de tentatives d'authentification.

snippet.bash

bash
1# === Sur ta machine locale ===
2
3# Générer une paire de clés (si pas déjà fait)
4ssh-keygen -t ed25519 -C "usher@usher.dev" -f ~/.ssh/usher_vps
5
6# Copier la clé publique sur le VPS
7ssh-copy-id -i ~/.ssh/usher_vps.pub deployer@ton-vps.com
8
9# Ou manuellement :
10cat ~/.ssh/usher_vps.pub
11# Copier le contenu
12
13# === Sur le VPS ===
14# Ajouter la clé (connecté en root initialement)
15mkdir -p ~/.ssh && chmod 700 ~/.ssh
16echo "ta-clé-publique" >> ~/.ssh/authorized_keys
17chmod 600 ~/.ssh/authorized_keys
18
19# === Sécuriser la config SSH ===
20sudo nano /etc/ssh/sshd_config

Topics and skills covered

  • Linux
  • SSH
  • UFW
  • Fail2Ban
  • Sécurité serveur