Files
debian-cis/tests/hardening/ip6tables_rules_them_all.sh
damien cavagnini 0b60db5076 feat: add debian12 scripts
- iptables_loopback.sh 			-> 4.3.2.2
- iptables_rules_them_all.sh 		-> 4.3.2.4
- iptables_outbound_established.sh 	-> 4.3.2.3
- ip6tables_loopback.sh			-> 4.3.3.2
- ip6tables_outbound_established.sh	-> 4.3.3.3
- ip6tables_rules_them_all.sh		-> 4.3.3.4
- ip6tables_default_deny_policy.sh 	-> 4.3.3.1
2025-09-02 15:39:04 +02:00

52 lines
1.4 KiB
Bash

# shellcheck shell=bash
# run-shellcheck
is_ipv6_enabled() {
CURRENT_IPV6_ENABLED=1
if sysctl net.ipv6 >/dev/null 2>&1; then
for iface in /proc/sys/net/ipv6/conf/*; do
ifname=$(basename "$iface")
if [ "$ifname" != "default" ] && [ "$ifname" != "all" ]; then
value=$(cat "$iface"/disable_ipv6)
# if only one interface has ipv6, this is enough to consider it enabled
if [ "$value" -eq 0 ]; then
CURRENT_IPV6_ENABLED=0
break
fi
fi
done
fi
}
test_audit() {
apt install -y iptables netcat-traditional
is_ipv6_enabled
if [ "$CURRENT_IPV6_ENABLED" -eq 0 ]; then
describe Prepare test
# shellcheck disable=2216
timeout 5s nc -lp 404 | true &
# not much to test here, unless working on a privileged container
describe Running failed test
register_test retvalshouldbe 1
# shellcheck disable=2154
run failed "${CIS_CHECKS_DIR}/${script}.sh" --audit-all
describe correcting situation
# just wait for timeout to expire
sleep 5
fi
describe Running success
register_test retvalshouldbe 0
# shellcheck disable=2154
run success "${CIS_CHECKS_DIR}/${script}.sh" --audit-all
describe clean test
apt remove -y iptables netcat-traditional
}