linux security sysctl pam selinux apparmor fstab

Configuration du Noyau Linux et Sécurité : sysctl, PAM et Contrôle d'Accès

Un guide complet sur le durcissement du noyau Linux et la configuration de la sécurité à l'aide de sysctl, PAM, SELinux, AppArmor et le montage sécurisé fstab.

2026-04-18

Configuration du Noyau Linux et Sécurité : sysctl, PAM et Contrôle d'Accès

La sécurisation d'un système Linux nécessite une approche multi-couches qui commence au niveau du noyau et s'étend du système d'authentification aux contrôles d'accès et au montage du stockage. Ce guide fournit une référence détaillée des composants de configuration de sécurité les plus critiques dans un environnement Linux moderne.

1. Paramètres du Noyau avec sysctl

La commande sysctl et le fichier /etc/sysctl.conf (ainsi que les fichiers dans /etc/sysctl.d/) sont les outils principaux pour configurer les paramètres du noyau Linux au moment de l'exécution. Beaucoup de ces paramètres ont des implications de sécurité importantes.

Utilisation d'un Générateur de Configuration sysctl

Bien que vous puissiez modifier manuellement les fichiers de configuration, un générateur de configuration sysctl (sysctl config generator) peut aider à garantir que vous ne manquez pas les paramètres de durcissement critiques. Les paramètres courants à configurer incluent :

  • Durcissement du Réseau : Désactivation du transfert IP (net.ipv4.ip_forward = 0), ignorance des redirections ICMP (net.ipv4.conf.all.accept_redirects = 0) et activation de la protection contre les cookies TCP SYN (net.ipv4.tcp_syncookies = 1).
  • Protection de la Mémoire : Activation de l'ASLR (Address Space Layout Randomization) via kernel.randomize_va_space = 2.
  • Restriction de la Fuite d'Informations : Restriction de l'accès aux journaux du noyau (kernel.dmesg_restrict = 1) et à la table des symboles du noyau (kernel.kptr_restrict = 2).

Tableau de Référence des Paramètres du Noyau Linux

Paramètre Valeur Recommandée Description
net.ipv4.tcp_syncookies 1 Protège contre les attaques SYN flood.
net.ipv4.conf.all.rp_filter 1 Active le filtrage de chemin inverse pour empêcher l'usurpation d'IP.
kernel.randomize_va_space 2 ASLR complet pour empêcher les exploits de dépassement de tampon.
fs.protected_fifos 2 Empêche les écritures non autorisées dans les FIFOs dans les répertoires accessibles en écriture par tous.

2. Modules d'Authentification Enchâssables (PAM)

PAM offre un moyen flexible de gérer l'authentification pour divers services sans modifier les services eux-mêmes. Configurer PAM correctement est essentiel pour appliquer des politiques de mots de passe fortes et l'authentification multi-facteurs.

Considérations pour un Générateur de Configuration PAM

Un générateur de configuration PAM (PAM config generator) se concentre généralement sur les fichiers dans /etc/pam.d/. Les modules clés à inclure pour la sécurité sont :

  • pam_cracklib.so / pam_pwquality.so : Applique les exigences de complexité des mots de passe (longueur, types de caractères).
  • pam_tally2.so / pam_faillock.so : Verrouille les comptes après un certain nombre de tentatives de connexion échouées pour empêcher les attaques par force brute.
  • pam_unix.so : Le module standard pour vérifier les mots de passe par rapport à /etc/shadow.

Exemple de configuration pour la qualité du mot de passe :

password requisite pam_pwquality.so retry=3 minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root

3. Contrôle d'Accès Obligatoire : SELinux et AppArmor

Contrairement au contrôle d'accès discrétionnaire (DAC) standard basé sur les utilisateurs et les groupes, le contrôle d'accès obligatoire (MAC) permet aux administrateurs de définir des politiques de sécurité précises pour chaque processus et fichier du système.

Générateur de Politique SELinux vs Générateur de Profil AppArmor

  • SELinux (Security-Enhanced Linux) : Utilise un système d'étiquetage pour chaque objet (processus, fichier, port). Il est puissant mais a une courbe d'apprentissage abrupte. Un générateur de politique SELinux (SELinux policy generator) (comme audit2allow) est souvent nécessaire pour gérer les refus complexes.
  • AppArmor : Utilise des profils basés sur le chemin. Il est généralement considéré comme plus facile à configurer que SELinux. Un générateur de profil AppArmor (AppArmor profile generator) (comme aa-genprof) peut aider à créer des profils en surveillant le comportement des applications.

Comparaison SELinux vs AppArmor

Caractéristique SELinux AppArmor
Type de Contrôle Basé sur l'étiquette Basé sur le chemin
Complexité Élevée Moyenne
Par défaut dans RHEL, CentOS, Fedora Ubuntu, Debian, openSUSE
Flexibilité Extrêmement élevée Élevée
Courbe d'apprentissage Abrupte Modérée

4. Montage Sécurisé du Stockage avec /etc/fstab

Le fichier /etc/fstab définit la manière dont les périphériques de stockage sont montés. L'utilisation des bonnes options de montage peut empêcher de nombreux types d'attaques, comme l'exécution de binaires malveillants à partir de répertoires temporaires.

Drapeaux de Sécurité du Générateur /etc/fstab

Lors de l'utilisation d'un générateur /etc/fstab (/etc/fstab generator), assurez-vous d'inclure ces drapeaux de sécurité pour les partitions hors système (comme /tmp, /var ou les disques externes) :

  • nodev : Empêche l'interprétation des périphériques spéciaux de bloc ou de caractère sur le système de fichiers.
  • nosuid : Désactive les bits set-user-identifier ou set-group-identifier.
  • noexec : Empêche l'exécution de binaires sur le système de fichiers.

Exemple d'entrée sécurisée pour /tmp :

UUID=... /tmp tmpfs rw,nosuid,nodev,noexec 0 0

FAQ : Configuration de la Sécurité Linux

Q : Dois-je utiliser SELinux ou AppArmor ?

R : Cela dépend généralement de votre distribution. Utilisez ce qui est nativement supporté et activé par défaut (SELinux pour les distributions basées sur RHEL, AppArmor pour celles basées sur Debian), car elles disposeront des politiques préconfigurées les plus complètes.

Q : Pourquoi net.ipv4.ip_forward est-il désactivé par défaut ?

R : L'activation du transfert IP permet à votre système d'agir comme un routeur, ce qui peut être un risque de sécurité s'il n'est pas explicitement prévu et correctement protégé par un pare-feu.

Q : Que se passe-t-il si je configure mal PAM ?

R : Un PAM mal configuré peut verrouiller l'accès à tout le monde (y compris root). Gardez toujours un shell root actif ouvert lors du test des modifications PAM, ou ayez un plan de récupération (comme le démarrage à partir d'un Live CD).

Q : Comment puis-je vérifier que mes paramètres sysctl sont appliqués ?

R : Utilisez la commande sysctl -a pour afficher tous les paramètres actuels du noyau et leurs valeurs. Vous pouvez également vérifier des paramètres spécifiques, par exemple sysctl net.ipv4.tcp_syncookies.