🔐 SĂ©curisation d’une Machine Linux

Objectifs de la Mission

Cette mission avait pour but de renforcer la sĂ©curitĂ© d’une machine Linux (Debian ou Ubuntu, sans GUI) fraĂźchement installĂ©e. L’objectif Ă©tait de la prĂ©munir contre les accĂšs non autorisĂ©s et les attaques courantes par force brute, tout en facilitant l’administration Ă  distance sĂ©curisĂ©e.

Compétences Développées

  • Administration Linux : Gestion de services, configuration systĂšme.
  • SĂ©curitĂ© des SystĂšmes : Durcissement (hardening) de serveurs, gestion de pare-feu, dĂ©tection d’intrusions.
  • Gestion de l’accĂšs Ă  distance : Configuration sĂ©curisĂ©e de SSH.

Outils et Technologies Utilisés

  • SystĂšme d’exploitation : Debian (sans GUI) ou Ubuntu Server (sans GUI)
  • SSH (Secure Shell) : Client et serveur pour l’accĂšs distant sĂ©curisĂ©.
  • UFW (Uncomplicated Firewall) : Outil de gestion simplifiĂ© d’iptables pour le pare-feu.
  • VS Code Server : Environnement de dĂ©veloppement Ă  distance basĂ© sur Visual Studio Code.
  • Fail2ban : Cadre de dĂ©tection d’intrusion qui bannit les adresses IP ayant Ă©chouĂ© Ă  se connecter.

Déroulement de la Mission

1. Installation et Configuration Initiale de SSH

  • Installation du serveur SSH : VĂ©rification ou installation du paquet openssh-server.
  • Modification du port par dĂ©faut : Changement du port SSH (par exemple, de 22 Ă  un port non standard comme 2222) pour rĂ©duire les tentatives de connexion automatisĂ©es.
  • DĂ©sactivation de l’authentification par mot de passe : Mise en place de l’authentification par clĂ© SSH (plus sĂ©curisĂ©e) et dĂ©sactivation des mots de passe.
  • Interdiction de la connexion root : EmpĂȘcher l’utilisateur root de se connecter directement via SSH.

  • Capture d’écran : Modification du fichier de configuration SSH
    • (Ajouter une capture d’écran montrant des lignes modifiĂ©es dans /etc/ssh/sshd_config)
  • Capture d’écran : Test de connexion SSH par clĂ©
    • (Ajouter une capture montrant une connexion rĂ©ussie par clĂ© et/ou un Ă©chec de connexion par mot de passe)

2. Configuration du Pare-feu UFW

  • Installation d’UFW : Si non dĂ©jĂ  prĂ©sent.
  • DĂ©finition des rĂšgles par dĂ©faut : Bloquer le trafic entrant par dĂ©faut et autoriser le trafic sortant.
  • Autorisation du nouveau port SSH : Ouvrir uniquement le port SSH modifiĂ© (ex: 2222) et les autres ports nĂ©cessaires (ex: 80, 443 si web).
  • Activation du pare-feu : DĂ©marrer UFW et s’assurer qu’il s’active au dĂ©marrage.

  • Capture d’écran : Commandes UFW pour autoriser le port SSH
    • (Montrer la commande sudo ufw allow 2222/tcp)
  • Capture d’écran : État d'UFW aprĂšs configuration
    • (Montrer la sortie de sudo ufw status verbose ou sudo ufw show added)

3. Installation de VS Code Server

  • TĂ©lĂ©chargement et exĂ©cution : Installation de VS Code Server pour permettre l’accĂšs et l’édition de fichiers via l’interface VS Code directement depuis mon poste de travail.
  • Configuration de l’accĂšs : AccĂšs via SSH, facilitant l’administration des fichiers et la rĂ©daction de scripts sans quitter l’IDE.

  • Capture d’écran : Connexion VS Code Server rĂ©ussie
    • (Montrer VS Code connectĂ© Ă  la machine distante)

4. Installation et Configuration de Fail2ban

  • Installation de Fail2ban : Ajout du paquet fail2ban.
  • Configuration de base : Activation de la jail par dĂ©faut pour SSH.
  • CrĂ©ation de rĂšgles personnalisĂ©es : Configuration de rĂšgles pour bannir les adresses IP aprĂšs un certain nombre de tentatives de connexion Ă©chouĂ©es (par exemple, 3 rĂ©cidives pour 1 heure).

  • Capture d’écran : Fichier de configuration Fail2ban (jail.local)
    • (Montrer des extraits de /etc/fail2ban/jail.local ou un fichier de jail personnalisĂ©)
  • Capture d’écran : Statut Fail2ban (banned IPs)
    • (Montrer la sortie de sudo fail2ban-client status sshd ou sudo fail2ban-client status)

Défis Rencontrés et Solutions Apportées

  • ProblĂšme : Perte d’accĂšs SSH aprĂšs modification du port et activation d’UFW sans autoriser le nouveau port au prĂ©alable.
  • Solution : AccĂšs via la console VMware Workstation pour corriger la rĂšgle UFW, en ajoutant sudo ufw allow <nouveau_port_ssh>/tcp avant de redĂ©marrer le service SSH.
  • ProblĂšme : ComprĂ©hension des mĂ©canismes de Fail2ban et ajustement des findtime, maxretry et bantime pour des scĂ©narios de test.
  • Solution : Lecture approfondie de la documentation et tests successifs pour valider l’efficacitĂ© des rĂšgles.

Résultats Obtenus

La machine Linux est dĂ©sormais significativement plus sĂ©curisĂ©e contre les accĂšs non autorisĂ©s et les attaques par force brute. L’accĂšs SSH est renforcĂ© par l’authentification par clĂ© et un port non standard, le pare-feu UFW ne laisse passer que le trafic nĂ©cessaire, et Fail2ban assure une protection dynamique en cas de tentatives d’intrusion. L’administration Ă  distance est facilitĂ©e et sĂ©curisĂ©e grĂące Ă  VS Code Server.


Retour à l’accueil