Bottlerocket
TMA-BOTTLEROCKET-3.2.1
Ensure source routed packets are not accepted
Description
In networking, source routing allows a sender to partially or fully specify the route packets take through a network. In contrast, non-source routed packets travel a path determined by routers in the network. In some cases, systems may not be routable or reachable from some locations (e.g. private addresses vs. The audit reads the running values from /proc/sys (IPv6 keys only when IPv6 is enabled). Run tmaegis on the host through the admin container root shell (sudo sheltie).
How it is checked
Audit method: Shell command
bad=0
chk() { f=/proc/sys/$(printf %s "$1" | tr . /); v=$(cat "$f" 2>/dev/null) || { echo "$1: not readable"; bad=1; return; }; [ "$v" = "$2" ] || { echo "$1 = $v (expected $2)"; bad=1; }; }
chk net.ipv4.conf.all.accept_source_route 0
chk net.ipv4.conf.default.accept_source_route 0
[ -d /proc/sys/net/ipv6 ] && chk net.ipv6.conf.all.accept_source_route 0
[ -d /proc/sys/net/ipv6 ] && chk net.ipv6.conf.default.accept_source_route 0
[ "$bad" -eq 0 ] && echo compliant- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Run the following command to set the active kernel parameters and persist the settings: # apiclient apply <<EOF [settings.kernel.sysctl] "net.ipv4.conf.all.accept_source_route" = "0" "net.ipv4.conf.default.accept_source_route" = "0" "net.ipv6.conf.all.accept_source_route" = "0" "net.ipv6.conf.default.accept_source_route" = "0" EOF Run the following command to flush the routing caches: # sysctl -w net.ipv4.route.flush=1 # sysctl -w net.ipv6.route.flush=1
Properties
- Operating systems
- Any
- Tags
- bottlerocketnetwork
- Reference
- CIS Bottlerocket Benchmark v1.0.0 - 3.2.1 Ensure source routed packets are not accepted
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target bottlerocket --level 2