đ SĂ©curisation dâune Machine Linux
đ 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
rootde se connecter directement via SSH. - Capture dâĂ©cran :
- (Ajouter une capture dâĂ©cran montrant des lignes modifiĂ©es dans
/etc/ssh/sshd_config)
- (Ajouter une capture dâĂ©cran montrant des lignes modifiĂ©es dans
- Capture dâĂ©cran :
- (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 :
- (Montrer la commande
sudo ufw allow 2222/tcp)
- (Montrer la commande
- Capture dâĂ©cran :
- (Montrer la sortie de
sudo ufw status verboseousudo ufw show added)
- (Montrer la sortie de
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 :
- (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 :
- (Montrer des extraits de
/etc/fail2ban/jail.localou un fichier de jail personnalisé)
- (Montrer des extraits de
- Capture dâĂ©cran :
- (Montrer la sortie de
sudo fail2ban-client status sshdousudo fail2ban-client status)
- (Montrer la sortie de
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>/tcpavant de redémarrer le service SSH. - ProblÚme : Compréhension des mécanismes de Fail2ban et ajustement des
findtime,maxretryetbantimepour 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.