Objectif du jour
Sécuriser un serveur Debian fraîchement installé pour le rendre résistant aux attaques automatisées.
Ce que j’ai fait
1. Création d’un utilisateur non-root
Pourquoi ? Travailler en root, c’est comme conduire sans ceinture. Une mauvaise commande peut détruire tout le système.
J’ai créé un utilisateur avec les droits sudo, puis j’ai désactivé la connexion root.
adduser matheo #Créer un nouvelle utilisateur
usermod -aG sudo matheo #Donne les permissions sudo a l'utilisateur
groups matheo #affiche les groups d'un utilisateur
✅Résultat :
matheo : matheo sudoUne fois l’utilisateur créer je me connecte en ssh avec et je désactive la possibilité de se connecter avec root.
sudo nano /etc/ssh/sshd_config
-> PermitRootLogin no
2. Authentification par clé SSH Ed25519
J’ai remplacé l’authentification par mot de passe par une paire de clés ssh pour plus de sécurité et pouvoir mieux se protéger des bots.
En quoi c’est plus sécurisé ?
Les bots essaye de se connecter avec un mot de passe hors avec une clé Ed25519 lors de la connexion la clé en question doit être présente et identique sur la machine et le serveur + une passe phrase en guise de mot de passe.
# Générer la paire de clés -> POWERSHELL
ssh-keygen -t ed25519 -C "matheo@portfolio" -f "$env:USERPROFILE\.ssh\id_ed25519_srv"2 clés sont alors généré, une a garder sur sa machine
-> id_ed25519_srv
Et une clé qui elle sera copié sur le serveur.
-> id_ed25519_srv.pub
Une fois fait j’ai du préparer le répertoire sur le serveur qui allait accueillir ma clé
mkdir -p /home/matheo/.ssh #Création du dossier
touch /home/matheo/.ssh/authorized_keys #Création du fichier qui contiendra les clés autorisé3. Pare-feu UFW + Fail2Ban
UFW filtre les ports : seuls 2222 (SSH), 80 (HTTP) et 443 (HTTPS)
sont ouverts. Tout le reste est bloqué.
Fail2Ban surveille les logs et bannit automatiquement les IP qui
échouent trop de connexions SSH.
Erreur rencontrée 🐛
J’ai failli me bloquer moi-même en changeant le port SSH sans
l’ouvrir d’abord dans UFW. Heureusement, j’avais gardé une session
ouverte en parallèle.
Leçon apprise : Toujours garder une session de secours quand
on modifie la config SSH.
Ce que j’ai compris
La sécurité n’est pas un outil qu’on installe, c’est une méthode
de travail. Chaque décision doit suivre le principe du moindre
privilège.