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
LynisouOpenSCAPpour scanner et identifier les failles potentielles. - Contrôle des journaux : Utilisation de
rsyslogoujournalctlpour 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-upgradessur Ubuntu.
- Debian/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
iptablesoufirewalldpour contrôler les connexions : - Exemple avec
iptables:
sudo iptables -A INPUT -p tcp –dport 22 -j ACCEPT
sudo iptables -A INPUT -j DROP
ufwpour 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
- Modifier
Limiter les tentatives de connexion avec
fail2ban:- Installer et configurer :
sudo apt install fail2ban
sudo systemctl enable fail2ban
- Installer et configurer :
2.5. Utilisation de SELinux ou AppArmor
SELinux (CentOS, RHEL) :
- Vérifier l’état :
sestatus - Configurer les politiques strictes pour les services.
- Vérifier l’état :
AppArmor (Ubuntu, Debian) :
- Vérifier le statut :
sudo aa-status
- Vérifier le statut :
