Ensure nftables Rules are Permanent
Description
nftables is a subsystem of the Linux kernel providing filtering and classification of
network packets/datagrams/frames. The nftables service reads the
/etc/nftables.conf file for a nftables file or files to
include in the nftables ruleset. A nftables ruleset containing the input, forward, and output
base chains allow network traffic to be filtered.
Rationale
Changes made to nftables ruleset only affect the live system, you will also need to configure
the nftables ruleset to apply on boot
Shell script
The following script can be run on the host to remediate the issue.
#!/bin/bash
# Remediation is applicable only in certain platforms
if ( dpkg-query --show --showformat='${db:Status-Status}\n' 'nftables' 2>/dev/null | grep -q installed ); then
var_nftables_master_config_file='/etc/nftables.conf'
var_nftables_family='inet'
if [ ! -f "${var_nftables_master_config_file}" ]; then
touch "${var_nftables_master_config_file}"
fi
nft list ruleset > "/etc/${var_nftables_family}-filter.rules"
grep -qxF 'include "/etc/'"${var_nftables_family}"'-filter.rules"' "${var_nftables_master_config_file}" \
|| echo 'include "/etc/'"${var_nftables_family}"'-filter.rules"' >> "${var_nftables_master_config_file}"
else
>&2 echo 'Remediation is not applicable, nothing was done'
fi