Désactiver le paramètre noyau d'envoi de redirections ICMP sur toutes les interfaces IPv4 par défaut
Empêche l'hôte d'émettre des messages de redirection ICMP par défaut en positionnant net.ipv4.conf.default.send_redirects à 0.
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 sont utilisés par les routeurs pour informer les hôtes qu'une route plus directe existe vers une destination donnée. Ces messages contiennent des informations issues de la table de routage du système et peuvent révéler des parties de la topologie réseau à un observateur. L'émission de redirections ICMP n'est pertinente que pour des systèmes faisant office de routeurs ; sur un hôte ordinaire, elle expose la topologie sans aucune utilité.
Ce que vérifie Pavois
Pavois lit la valeur effective avec kernel_parameter('net.ipv4.conf.default.send_redirects'), qui reflète le noyau en cours d'exécution après fusion de sysctl.conf, des drop-ins de /etc/sysctl.d/ et des surcharges runtime. Lire uniquement /etc/sysctl.conf raterait une valeur définie dans un drop-in ou appliquée à chaud.
describe kernel_parameter('net.ipv4.conf.default.send_redirects') do
its('value') { should cmp 0 }
end
describe command("grep -hsE '^[[:space:]]*net.ipv4.conf.default.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écuter sysctl net.ipv4.conf.default.send_redirects et attendre net.ipv4.conf.default.send_redirects = 0.
Inspecter et investiguer
Confirmer la valeur effective avec sysctl net.ipv4.conf.default.send_redirects (et sysctl net.ipv4.conf.all.send_redirects). Pour vérifier si des redirections sont émises, capturer les ICMP de type 5 avec tcpdump -ni any 'icmp[icmptype] == icmp-redirect'.
Remédiation
Le plan de durcissement de Pavois positionne net.ipv4.conf.default.send_redirects = 0 via la ressource sysctl, en le persistant dans un drop-in géré par Pavois et en l'appliquant à chaud (sans redémarrage). À exécuter avec pavois harden apply.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| key | net.ipv4.conf.default.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
Sans danger sur tout hôte qui n'est pas un routeur. Précaution : si la machine est un routeur/passerelle qui émet volontairement des redirections ICMP pour optimiser le routage des clients, la désactivation modifie ce comportement, vérifier que la machine est censée router avant d'appliquer. La clé default n'affecte que les nouvelles interfaces ; l'associer à net.ipv4.conf.all.send_redirects = 0 pour les interfaces déjà configurées.
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.5 | 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.