← Toutes les règles
SOCLE-CLD-GEN-057// Hardening (posture)élevéeruntime effectif

Randomisation de l'espace d'adressage (ASLR) au maximum

Garantit que le noyau fonctionne avec l'ASLR complète en imposant kernel.randomize_va_space = 2.

Vérifié sur l’état résolu en cours d’exécution (ex. sshd -T, sysctl, systemctl show), attrape les drop-ins et Include qu’une lecture de fichier raterait. Réserve : runtime ≠ persistance ; une valeur correcte maintenant peut ne pas survivre à un redémarrage.

Un PASS prouve✓ actif maintenant? sur disque? survit au rebootle verdict qualifié →
Debian 12CIS 1.1.0Debian 13CIS 1.0.0FedoraRHEL 10 / Rocky 10 / AlmaLinux 10RHEL 8 / Rocky 8 / AlmaLinux 8CIS 4.0.0RHEL 9 / Rocky 9 / AlmaLinux 9CIS 2.0.0Ubuntu 22.04CIS 3.0.0Ubuntu 24.04CIS 1.0.0Ubuntu 26.04

Pourquoi cette règle

La randomisation de l'espace d'adressage (ASLR) rend aléatoires les positions mémoire de la pile, du tas, des bibliothèques partagées et (avec la valeur 2) des segments de données et de la mémoire gérée par brk de chaque processus. Cela rend les exploits par corruption mémoire (débordements de tampon, return-to-libc, ROP) bien plus difficiles, car un attaquant ne peut plus s'appuyer sur des adresses prévisibles. La valeur 0 désactive entièrement l'ASLR et 1 ne randomise que partiellement ; seule la valeur 2 fournit la randomisation complète, donc tout réglage inférieur laisse le système nettement plus facile à exploiter.

Ce que vérifie Pavois

Pavois lit la valeur noyau effective et en cours d'exécution via sysctl -n kernel.randomize_va_space et vérifie qu'elle vaut 2. Interroger le sysctl vivant plutôt que /etc/sysctl.conf (ou un drop-in sous /etc/sysctl.d/) est ce qui capture l'état réel : un fichier de configuration peut indiquer 2 alors qu'un drop-in ultérieur, un paramètre de démarrage ou un sysctl -w à l'exécution l'a écrasé, seule la valeur résolue dit la vérité.

describe file('/proc/sys/kernel/randomize_va_space') do
  its('content.strip') { should eq '2' }
end

Comment vérifier qu’elle est appliquée

Exécutez sysctl kernel.randomize_va_space. Sortie attendue : kernel.randomize_va_space = 2. La lecture de /proc/sys/kernel/randomize_va_space doit également afficher 2.

Inspecter et investiguer

  • Valeur actuelle : sysctl kernel.randomize_va_space ou cat /proc/sys/kernel/randomize_va_space.
  • Où elle est définie de façon persistante : grep -r randomize_va_space /etc/sysctl.conf /etc/sysctl.d/.
  • L'application des réglages sysctl au démarrage est visible dans journalctl -u systemd-sysctl.

Remédiation

Le plan de durcissement de Pavois déclare une ressource sysctl fixant kernel.randomize_va_space = 2, donc pavois harden apply l'applique à la fois en direct (équivalent à sysctl -w kernel.randomize_va_space=2) et la rend persistante dans un drop-in pour qu'elle survive aux redémarrages. Aucun redémarrage n'est nécessaire pour que la nouvelle valeur prenne effet.

Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :

keykernel.randomize_va_space
resourcesysctl
value2
pavois harden plan local

où la cible est local, un alias SSH user@hôte, ou un conteneur , Docs

Impact & précautions

Si l'ASLR est désactivée ou partielle, les vulnérabilités par corruption mémoire deviennent bien plus faciles à exploiter de façon fiable. Activer l'ASLR complète présente un risque très faible : c'est la valeur par défaut de toutes les distributions modernes et c'est transparent pour les applications. Les seules réserves connues sont marginales, certaines charges anciennes de débogage ou JIT/à grande mémoire relâchent parfois volontairement l'ASLR ; si vous exécutez ce type de logiciel, validez qu'il fonctionne toujours. Il n'y a aucun impact de verrouillage ou réseau, et le changement est réversible en remettant l'ancienne valeur.

0