Accueil » Durcissement Linux & Shell Bash

Introduction : Sécurité des Systèmes Linux

Le durcissement d’un système Linux consiste à appliquer des configurations et pratiques de sécurité pour minimiser les failles d’un système d’exploitation. Cette démarche est essentielle dans un contexte où les cyberattaques sont de plus en plus sophistiquées.

Le Shell Bash est l’un des outils essentiels utilisés par les administrateurs pour gérer et sécuriser un système Linux. Ce cours va couvrir les aspects liés au durcissement de Linux, ainsi que l’utilisation efficace du Shell Bash pour ces objectifs.

1. Durcissement Linux : Concepts Clés

1.1. Principes de base du durcissement

  • Réduire la surface d’attaque : Il s’agit de désactiver ou de supprimer tout service ou composant non nécessaire.
  • Principe du moindre privilège : Chaque processus et utilisateur doit avoir uniquement les permissions nécessaires à ses tâches.
  • Sécurité des mises à jour : Maintenir le système à jour avec les derniers correctifs de sécurité.
  • Authentification et gestion des utilisateurs : Renforcer les méthodes d’authentification, gérer correctement les comptes utilisateurs et surveiller les accès.

1.2. Analyse des failles potentielles

  • Audit de sécurité : Outils comme Lynis ou OpenSCAP pour scanner et identifier les failles potentielles.
  • Contrôle des journaux : Utilisation de rsyslog ou journalctl pour surveiller les logs systèmes.

2. Mesures de Durcissement Linux

2.1. Mise à jour régulière

  • Utiliser les gestionnaires de paquets :
    • Debian/Ubuntu : sudo apt update && sudo apt upgrade
    • CentOS/RedHat : sudo yum update
    • Maintenir les mises à jour automatiques activées avec unattended-upgrades sur Ubuntu.

2.2. Désactivation des services inutiles

  • Lister les services actifs : systemctl list-units –type=service
  • Désactiver un service non essentiel : sudo systemctl disable nom_du_service

2.3. Configuration du pare-feu

  • Utiliser iptables ou firewalld pour contrôler les connexions :
  • Exemple avec iptables :
    sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT
    sudo iptables -A INPUT -j DROP
  • ufw pour un pare-feu plus simple (Ubuntu) :
    sudo ufw enable
    sudo ufw allow ssh

2.4. Sécurisation du SSH

  • Désactiver l’accès root via SSH :

    • Modifier /etc/ssh/sshd_config :
      PermitRootLogin no

    • Changer le port SSH :
      Port 2222
  • Limiter les tentatives de connexion avec fail2ban :

    • Installer et configurer : 
      sudo apt install fail2ban
      sudo systemctl enable fail2ban

2.5. Utilisation de SELinux ou AppArmor

  • SELinux (CentOS, RHEL) :

    • Vérifier l’état : 
      sestatus
    • Configurer les politiques strictes pour les services.
  • AppArmor (Ubuntu, Debian) :

    • Vérifier le statut :
      sudo aa-status

Retour en haut