Activer le paramètre noyau pour ignorer les requêtes echo ICMP en broadcast sur les interfaces IPv4
Fait ignorer au noyau les requêtes echo ICMP envoyées vers des adresses broadcast/multicast en positionnant net.ipv4.icmp_echo_ignore_broadcasts à 1.
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
Répondre aux echos ICMP en broadcast facilite la cartographie du réseau et offre un vecteur d'attaques par amplification (ex. Smurf), où des pings broadcast usurpés transforment le sous-réseau en multiplicateur de trafic contre une victime. Ignorer les requêtes echo ICMP envoyées en broadcast ou multicast rend le système plus difficile à énumérer et le retire de ces amplifications.
Ce que vérifie Pavois
Pavois lit la valeur effective via kernel_parameter('net.ipv4.icmp_echo_ignore_broadcasts'), qui reflète le noyau en cours après fusion de sysctl.conf, des drop-ins de /etc/sysctl.d/ et des surcharges runtime. Un examen du seul /etc/sysctl.conf pourrait rapporter une valeur qu'un drop-in ultérieur ou un sysctl -w a écrasée.
describe kernel_parameter('net.ipv4.icmp_echo_ignore_broadcasts') do
its('value') { should cmp 1 }
end
describe command("grep -hsE '^[[:space:]]*net.ipv4.icmp_echo_ignore_broadcasts[[: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/) }
endComment vérifier qu’elle est appliquée
Exécuter sysctl net.ipv4.icmp_echo_ignore_broadcasts et attendre net.ipv4.icmp_echo_ignore_broadcasts = 1.
Inspecter et investiguer
Confirmer avec sysctl net.ipv4.icmp_echo_ignore_broadcasts. Pour prouver le comportement, envoyer ping -b <adresse-broadcast> depuis un autre hôte et vérifier que la cible ne répond pas ; observer le trafic avec tcpdump -ni any icmp.
Remédiation
Le plan de durcissement de Pavois positionne net.ipv4.icmp_echo_ignore_broadcasts = 1 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.icmp_echo_ignore_broadcasts |
|---|---|
| resource | sysctl |
| value | 1 |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Aucun inconvénient pratique sur des serveurs ou postes de travail, seuls les pings broadcast dirigés sont abandonnés, le ping unicast normal continue de fonctionner. Précaution : de rares outils de diagnostic réseau qui s'appuient sur des balayages ping broadcast pour découvrir des hôtes ne verront plus cette machine, ce qui est précisément l'effet de durcissement recherché.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 1.4.2, 3.3.4, 3.3.1.7 | direct | per OS, see the benchmark table | haute |
| NIST | 3.1.20, CM-7(a), CM-7(b), SC-5 | 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.