Configurer l'envoi et l'acceptation des redirections sur média partagé par défaut
Désactive le comportement de redirection sur média partagé sur les nouvelles interfaces IPv4 en positionnant net.ipv4.conf.default.shared_media à 0, l'empêchant de réactiver silencieusement les redirections sécurisées.
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
Ce réglage doit être aligné avec net.ipv4.conf.default.secure_redirects car il le surcharge : si shared_media est activé sur une interface, les redirections sécurisées le sont implicitement aussi. Le laisser actif rouvre donc la surface d'attaque des redirections ICMP (altération de la table de routage, homme du milieu) même lorsque secure_redirects vaut 0.
Ce que vérifie Pavois
Pavois lit la valeur effective du noyau via kernel_parameter('net.ipv4.conf.default.shared_media'), qui reflète le réglage en cours après fusion de tous les drop-ins sysctl.conf / /etc/sysctl.d/ et des surcharges runtime. C'est crucial ici car shared_media surcharge secure_redirects : seule la valeur effective révèle l'état réel, ce qu'un simple examen de /etc/sysctl.conf ne permet pas.
describe kernel_parameter('net.ipv4.conf.default.shared_media') do
its('value') { should cmp 0 }
end
describe command("grep -hsE '^[[:space:]]*net.ipv4.conf.default.shared_media[[: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.shared_media et attendre net.ipv4.conf.default.shared_media = 0.
Inspecter et investiguer
Vérifier la valeur effective avec sysctl net.ipv4.conf.default.shared_media, et recouper avec sysctl net.ipv4.conf.default.secure_redirects puisque shared_media peut le surcharger. État par interface : sysctl -a | grep shared_media.
Remédiation
Le plan de durcissement de Pavois positionne net.ipv4.conf.default.shared_media = 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.shared_media |
|---|---|
| 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 les hôtes standard. Précaution : shared_media n'a d'importance que dans les topologies à média partagé / plusieurs sous-réseaux sur un même segment où plusieurs sous-réseaux IP partagent un seul lien physique ; le désactiver dans ce cas peut casser le comportement de redirection attendu. Sur un LAN commuté ou point à point ordinaire, aucun impact fonctionnel. La clé default ne s'applique qu'aux nouvelles interfaces, aligner net.ipv4.conf.all.shared_media pour les interfaces existantes.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| ANSSI BP-028 | R12 | direct | 2.0 | haute |
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.