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

Configurer le mode de réponse aux requêtes ARP pour toutes les interfaces IPv4

Définit net.ipv4.conf.all.arp_ignore=2 pour que l'hôte ne réponde aux requêtes ARP que pour l'IP propre à l'interface de réception, depuis un émetteur du même sous-réseau.

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 1 norme

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

net.ipv4.conf.all.arp_ignore détermine à quelles requêtes ARP l'hôte répond. Dans le mode par défaut (0), l'hôte répond à une requête ARP pour n'importe laquelle de ses adresses locales quelle que soit l'interface de réception, ce qui provoque sur un hôte multi-rattaché un flux ARP : un voisin peut apprendre l'IP de l'hôte derrière la mauvaise MAC/interface, et un attaquant peut exploiter cette ambiguïté pour cartographier et cibler l'hôte. Le mettre à 2 fait que l'hôte ne répond que lorsque l'IP cible est locale à l'interface de réception et que l'émetteur est sur le même sous-réseau, produisant un comportement ARP déterministe et plus difficile à détourner.

Ce que vérifie Pavois

Pavois lit la valeur noyau effective via kernel_parameter('net.ipv4.conf.all.arp_ignore') et vérifie qu'elle vaut 2. Le comportement de réponse ARP est régi par la valeur noyau effective ; une entrée de sysctl.d écrite mais non rechargée, ou écrasée par une clé d'interface, ferait que l'hôte répond aux requêtes ARP différemment de ce qu'indique le fichier. Seule la valeur effective confirme le mode de réponse ARP réellement en vigueur.

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

net.ipv4.conf.all.arp_ignore = 2

Inspecter et investiguer

  • sysctl net.ipv4.conf.all.arp_ignore affiche la valeur courante.
  • cat /proc/sys/net/ipv4/conf/all/arp_ignore est la valeur brute du noyau.
  • Observez la table des voisins/ARP réelle avec ip neigh show, et utilisez sysctl -a | grep arp_ignore pour voir les valeurs all et par interface, qui se combinent.

Remédiation

Le plan de durcissement de Pavois utilise la ressource sysctl pour positionner net.ipv4.conf.all.arp_ignore à 2. Il écrit la clé dans un drop-in géré par Pavois puis le recharge, de sorte que le mode de réponse ARP plus strict soit actif immédiatement et persistant après 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.all.arp_ignore
resourcesysctl
value2
pavois harden plan local

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

Impact & précautions

Sur un hôte à interface unique, cette règle ne change rarement quoi que ce soit de visible. La réserve importante concerne les hôtes multi-rattachés, répartiteurs de charge et clusters : des technologies comme LVS/IPVS en routage direct, keepalived/VRRP et certaines configurations HA s'appuient délibérément sur l'ARP inter-interfaces et peuvent casser avec arp_ignore=2. Avant d'appliquer, auditez tout hôte possédant des IP partagées/virtuelles ou exécutant un répartiteur de charge L4. Il n'y a pas de risque de blocage SSH sur un serveur normal à interface unique, mais sur les nœuds en cluster, validez le basculement après application.

Mapping des normes

NormeRéférenceTypeVersionConfiance
ANSSI BP-028R12direct2.0haute

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