Désactiver le paramètre noyau d'envoi des redirections ICMP sur toutes les interfaces IPv4
Force net.ipv4.conf.all.send_redirects à 0 afin que l'hôte n'émette jamais de messages de redirection ICMP sur aucune interface IPv4.
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.
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 indiquent à d'autres hôtes qu'une route plus directe existe pour une destination. En les émettant, un hôte divulgue des portions de sa table de routage, révélant la topologie réseau, et offre à un attaquant un moyen d'influencer le routage des voisins. Seuls les systèmes agissant comme routeurs ont une raison légitime d'envoyer des redirections ; un hôte ordinaire doit garder cette valeur à 0.
Ce que vérifie Pavois
Pavois lit la valeur d'exécution en direct de net.ipv4.conf.all.send_redirects depuis le noyau (ressource InSpec kernel_parameter, équivalente à sysctl), et non un fichier /etc/sysctl.d/. Un drop-in pourrait indiquer 0 alors qu'un fichier ultérieur ou un sysctl -w à l'exécution a réactivé l'envoi. Auditer le paramètre effectif montre si le noyau émettra réellement des redirections ; lire un fichier rate ces surcharges.
describe kernel_parameter('net.ipv4.conf.all.send_redirects') do
its('value') { should cmp 0 }
end
describe command("grep -hsE '^[[:space:]]*net.ipv4.conf.all.send_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/) }
endComment vérifier qu’elle est appliquée
Exécutez sysctl net.ipv4.conf.all.send_redirects. Sortie attendue :
net.ipv4.conf.all.send_redirects = 0
Inspecter et investiguer
Il n'existe pas de journal d'événements dédié à l'envoi de redirections. Inspectez l'état avec sysctl net.ipv4.conf.all.send_redirects et passez en revue toutes les valeurs par interface avec sysctl -a | grep send_redirects. Pour observer si des redirections sont émises sur le réseau, capturez avec tcpdump -ni any icmp[icmptype] == icmp-redirect.
Remédiation
Le plan de durcissement de Pavois utilise la ressource sysctl pour définir net.ipv4.conf.all.send_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 :
| key | net.ipv4.conf.all.send_redirects |
|---|---|
| resource | sysctl |
| value | 0 |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Sûr sur tout hôte qui n'est pas un routeur. Les seuls systèmes qui devraient garder send_redirects activé sont des routeurs IPv4 délibérés s'appuyant sur les redirections ICMP pour déléguer aux voisins les choix de premier saut sous-optimaux, une conception peu courante. Le désactiver n'affecte pas la capacité d'un hôte à recevoir du trafic ni l'accès distant ; cela empêche seulement l'hôte de conseiller aux autres de meilleures routes.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| ANSSI BP-028 | R12 | direct | 2.0 | haute |
| CIS | 1.4.5, 3.3.2, 3.3.1.4 | direct | per OS, see the benchmark table | haute |
| NIST | 3.1.20, CM-6(a), CM-7(a), CM-7(b), SC-5, SC-7(a) | support | 800-53 Rev 5 · 800-171 Rev 2 (pinned) | moyenne |
| PCI DSS | 1.4.5 | support | 4.0.1 | moyenne |
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.