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

Activer le paramètre noyau de journalisation des paquets martiens sur toutes les interfaces IPv4 par défaut

Force net.ipv4.conf.default.log_martians à 1 afin que les interfaces IPv4 nouvellement créées journalisent par défaut les paquets à adresse source impossible ou usurpée.

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 2 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

Un paquet « martien » possède une adresse source qui ne peut légitimement apparaître sur l'interface où il est arrivé, adresses impossibles, usurpées ou à routage par la source. Les journaliser (log_martians=1) crée une trace forensique des tentatives d'usurpation, des voisins mal configurés et de la reconnaissance, transformant des rejets silencieux (par ex. issus de rp_filter) en événements exploitables. Le modèle default doit valoir 1 afin que chaque nouvelle interface hérite de cette visibilité.

Ce que vérifie Pavois

Pavois lit la valeur d'exécution en direct de net.ipv4.conf.default.log_martians depuis le noyau (ressource InSpec kernel_parameter, équivalente à sysctl), et non un fichier /etc/sysctl.d/. La clé default n'affecte que les interfaces créées après sa définition, donc la valeur en cours détermine si les futures interfaces journaliseront les martiens. Un fichier de configuration pourrait indiquer 1 alors qu'une surcharge ultérieure l'a laissé à 0 ; seul le paramètre effectif est fiable.

describe kernel_parameter('net.ipv4.conf.default.log_martians') do
  its('value') { should cmp 1 }
end
describe command("grep -hsE '^[[:space:]]*net.ipv4.conf.default.log_martians[[:space:]]*=[[:space:]]*1([[: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.log_martians. Sortie attendue :

  • net.ipv4.conf.default.log_martians = 1

Inspecter et investiguer

Une fois activé, les entrées de paquets martiens apparaissent dans le journal noyau : dmesg | grep -i martian et journalctl -k | grep -i martian. Les lignes ressemblent à IPv4: martian source <ip> from <ip>, on dev <iface>. Inspectez l'état du paramètre avec sysctl net.ipv4.conf.default.log_martians.

Remédiation

Le plan de durcissement de Pavois utilise la ressource sysctl pour définir net.ipv4.conf.default.log_martians à 1, 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.log_martians
resourcesysctl
value1
pavois harden plan local

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

Impact & précautions

Sûr à activer ; cela ajoute seulement de la journalisation et ne modifie aucun comportement de traitement des paquets, donc cela ne peut pas casser la connectivité ni l'accès distant. La seule considération est le volume de journaux : sur un réseau bruyant ou hostile, la journalisation des martiens peut être bavarde et risque d'inonder dmesg/le journal ; veillez à une rotation et une limitation de débit correctes. Associez-le aux règles all.log_martians et rp_filter afin que le trafic usurpé rejeté soit effectivement enregistré.

Mapping des normes

NormeRéférenceTypeVersionConfiance
CIS3.3.9, 3.3.1.17directper OS, see the benchmark tablehaute
NIST3.1.20, CM-7(a), CM-7(b), SC-5(3)(a)support800-53 Rev 5 · 800-171 Rev 2 (pinned)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.

Sources & références