← Toutes les règles
SOCLE-CLD-SYS-035// Kernel & network (sysctl)moyenneruntime effectif

Désactiver le paramètre noyau d'acceptation des redirections ICMP par défaut sur les interfaces IPv4

Force net.ipv4.conf.default.accept_redirects à 0 afin que chaque interface IPv4 nouvellement créée refuse par défaut les messages de redirection ICMP entrants.

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
Un seul check, mappé sur 4 normes

Pavois vérifie la configuration effective, l’état résolu et réellement appliqué, pas un fichier. Les scanners basés fichier (OVAL/SCAP, Lynis) ratent les Include, drop-ins et défauts runtime ; ce check voit ce qui est réellement en vigueur.

Un mapping est une référence croisée vers l’endroit où chaque norme situe cette exigence, ancrée et recoupée, pas une affirmation d’équivalence. Un check réussi est une preuve vers ces références, comment le lire.

Pourquoi cette règle

Les messages de redirection ICMP permettent à un routeur d'indiquer à un hôte qu'une route plus directe existe ; l'hôte réécrit alors sa table de routage. Ces messages ne sont pas authentifiés, donc une redirection falsifiée peut rerouter silencieusement le trafic via un attaquant, permettant un homme du milieu. Le réglage default est le modèle appliqué à chaque interface créée après sa définition ; le désactiver (0) garantit que les interfaces nouvelles ou ajoutées dynamiquement sont protégées, pas seulement celles présentes au démarrage. Cette fonctionnalité a peu d'usages légitimes et doit être désactivée sauf nécessité absolue.

Ce que vérifie Pavois

Pavois lit la valeur d'exécution en direct de net.ipv4.conf.default.accept_redirects depuis le noyau (ressource InSpec kernel_parameter, équivalente à sysctl), et non un fichier /etc/sysctl.d/. La clé default régit les interfaces créées ultérieurement, donc la valeur en cours détermine la posture de sécurité des futures interfaces. Un fichier de configuration pourrait déclarer 0 alors qu'un drop-in ultérieur ou un sysctl -w l'a surchargé ; seul le paramètre effectif dit la vérité.

describe kernel_parameter('net.ipv4.conf.default.accept_redirects') do
  its('value') { should cmp 0 }
end
describe command("grep -hsE '^[[:space:]]*net.ipv4.conf.default.accept_redirects[[:space:]]*=[[:space:]]*0([[:space:]]|$)' /etc/sysctl.conf /etc/sysctl.d/*.conf /run/sysctl.d/*.conf /usr/lib/sysctl.d/*.conf /lib/sysctl.d/*.conf 2>/dev/null") do
  its('stdout') { should match(/\S/) }
end

Comment vérifier qu’elle est appliquée

Exécutez sysctl net.ipv4.conf.default.accept_redirects. Sortie attendue :

  • net.ipv4.conf.default.accept_redirects = 0

Inspecter et investiguer

Aucun journal dédié n'existe. Avec log_martians activé, les anomalies de redirection apparaissent via dmesg | grep -i martian et journalctl -k. Inspectez l'état avec sysctl net.ipv4.conf.default.accept_redirects et toutes les valeurs associées avec sysctl -a | grep accept_redirects.

Remédiation

Le plan de durcissement de Pavois utilise la ressource sysctl pour définir net.ipv4.conf.default.accept_redirects à 0, en l'appliquant au noyau en cours d'exécution et en le persistant dans un drop-in géré par Pavois sous /etc/sysctl.d/ afin qu'il survive au redémarrage. Appliquez-le avec pavois harden apply.

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

keynet.ipv4.conf.default.accept_redirects
resourcesysctl
value0
pavois harden plan local

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

Impact & précautions

Sûr pour les hôtes terminaux et les serveurs ordinaires, qui ne devraient jamais accepter de redirections ICMP. À noter que c'est le modèle default et qu'il ne modifie pas rétroactivement les valeurs all ou par interface déjà définies ; associez-le à la règle all.accept_redirects correspondante pour une couverture complète. Les seuls systèmes susceptibles de dépendre de l'acceptation des redirections sont des hôtes dont la passerelle les utilise pour optimiser les chemins, peu courant. Définir cette valeur à 0 ne présente aucun risque de perte d'accès distant.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R12direct2.0haute
CIS1.4.3, 3.3.5, 3.3.1.9directper OS, see the benchmark tablehaute
NIST3.1.20, CM-6(a), CM-7(a), CM-7(b), SC-7(a)support800-53 Rev 5 · 800-171 Rev 2 (pinned)moyenne
PCI DSS1.4.3support4.0.1moyenne

Chaque référence est une référence croisée ancrée dans le benchmark amont et recoupée avec le SCAP Security Guide et ansible-lockdown, pas une affirmation d’équivalence. Direct = une exigence prescriptive au niveau de la ligne ; support = une famille de contrôle abstraite (NIST) vers laquelle le check apporte une preuve. Comment lire un mapping.

Sources & références