Désactiver le paramètre noyau d'acceptation des paquets routés à la source sur les interfaces IPv6 par défaut
Définit la valeur par défaut des nouvelles interfaces IPv6 pour rejeter les paquets routés à la source via net.ipv6.conf.default.accept_source_route = 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 paquets routés à la source permettent à l'expéditeur de dicter le chemin que prend son paquet à travers le réseau au lieu de laisser les routeurs décider. Un attaquant peut s'en servir pour contourner les contrôles de sécurité réseau (pare-feu, segmentation) et atteindre des hôtes qui devraient être inaccessibles, ou pour usurper des adresses source de confiance. Le routage à la source IPv6 n'a quasiment aucun usage légitime sur un hôte moderne. Désactiver par défaut l'acceptation des paquets routés à la source supprime ce vecteur d'évasion et d'usurpation, sauf si le système doit explicitement relayer un tel trafic.
Ce que vérifie Pavois
Pavois lit la valeur effective du noyau pour net.ipv6.conf.default.accept_source_route, pas un fichier de configuration. La valeur active fusionne /etc/sysctl.conf, les drop-ins dans /etc/sysctl.d/ et /run/sysctl.d/, les paramètres de démarrage du noyau et tout sysctl -w à chaud. Un fichier au vert ne prouve pas un noyau au vert ; Pavois rapporte ce que le noyau applique réellement.
describe kernel_parameter('net.ipv6.conf.default.accept_source_route') do
its('value') { should cmp 0 }
end
describe command("grep -hsE '^[[:space:]]*net.ipv6.conf.default.accept_source_route[[: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.ipv6.conf.default.accept_source_route et vérifiez que la sortie est net.ipv6.conf.default.accept_source_route = 0.
Inspecter et investiguer
Aucun journal dédié. Inspectez l'état d'exécution avec sysctl net.ipv6.conf.default.accept_source_route et sysctl -a | grep accept_source_route. Pour trouver le fichier qui l'a défini, exécutez sysctl --system 2>&1 | grep accept_source_route. Les paquets IPv6 routés à la source portent un en-tête d'extension de routage (next-header 43) et peuvent être capturés avec tcpdump -i <if> 'ip6 && ip6[6] == 43'.
Remédiation
Le plan de durcissement de Pavois utilise la ressource sysctl pour définir net.ipv6.conf.default.accept_source_route = 0, en le persistant dans un drop-in géré et en l'appliquant à chaud. Exécutez pavois harden apply pour l'imposer ; il est réappliqué au démarrage via l'entrée persistante.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| key | net.ipv6.conf.default.accept_source_route |
|---|---|
| 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
Aucun impact réel sur les hôtes et serveurs normaux, le routage à la source n'est pratiquement jamais utilisé légitimement et est désactivé par défaut sur la plupart des noyaux modernes. Les seuls systèmes potentiellement affectés sont des routeurs spécialisés s'appuyant explicitement sur le routage à la source, ce qui est fortement déconseillé. Le changement ne perturbe pas les sessions existantes et est entièrement réversible, donc il n'y a aucun risque de blocage.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| ANSSI BP-028 | R13 | direct | 2.0 | haute |
| CIS | 1.4.2, 3.3.8, 3.3.2.6 | direct | per OS, see the benchmark table | haute |
| NIST | 3.1.20, CM-6, CM-6(a), CM-6(b), CM-7(a), CM-7(b) | support | 800-53 Rev 5 · 800-171 Rev 2 (pinned) | moyenne |
| PCI DSS | 1.4.2 | 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.