Linux distributions
TMA-ROCKY9-3.3.1.2
Ensure net.ipv4.conf.all.forwarding is configured
Description
ICMP Redirects are used to send routing information to other hosts. As a host itself does not act as a router (in a host only configuration), there is no need to send redirects. net.ipv4.conf.all.forwarding controls forwarding of IPv4 packet on all interfaces. More information about the kernel parameter configuration files, their location, and load preference is available in the "Configure Network Kernel Parameters" section overview. Note: • If this system is a router this recommendation is not applicable. • If net.ipv4.ip_forward=0 is configured, this recommendation may be skipped.
How it is checked
Audit method: Shell command
chk() { p=$1; allowed=" $2 "; case $p in net.ipv6.*) [ -d /proc/sys/net/ipv6 ] || return 0;; esac; v=$(sysctl -n "$p" 2>/dev/null) || { echo "$p: not available"; return 1; }; case "$allowed" in *" $v "*) ;; *) echo "$p is $v (running)"; return 1;; esac; sd=$(readlink -e /lib/systemd/systemd-sysctl || readlink -e /usr/lib/systemd/systemd-sysctl); f=$("$sd" --cat-config 2>/dev/null | grep -Po "^\h*${p//./\.}\h*=\h*\K\H+" | tail -n1); [ -n "$f" ] || { echo "$p is not set in any sysctl configuration file"; return 1; }; case "$allowed" in *" $f "*) ;; *) echo "$p is $f in configuration"; return 1;; esac; }; if chk net.ipv4.conf.all.forwarding 0; then echo compliant; fi- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
1. Review all files being used by systemd-sysctl and comment out or remove all net.ipv4.conf.all.forwarding lines that are not net.ipv4.conf.all.forwarding=0. Example script: #!/usr/bin/env bash { l_option="net.ipv4.conf.all.forwarding" l_value="0" l_grep="${l_option//./(\\.|\\/)}" a_files=() l_systemdsysctl="$(readlink -e /lib/systemd/systemd-sysctl \ || readlink -e /usr/lib/systemd/systemd-sysctl)" a_files+=("/etc/sysctl.conf") while IFS= read -r l_fname; do l_file="$(readlink -e "${l_fname//# /}")" [ -n "$l_file" ] && ! grep -Psiq -- '(^|\h+)'"$l_file"'\b' \ <<< "${a_files[*]}" && a_files+=("$l_file") done < <("$l_systemdsysctl" --cat-config | tac | \ grep -Psio -- '^\h*#\h*\/[^#\n\r\h]+\…
Properties
- Operating systems
- rocky-9
- Tags
- cis-convertedkernellinuxsysctl
- Reference
- CIS Rocky Linux 9 Benchmark v3.0.0 - 3.3.1.2
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target linux