| name | cis-ubuntu1804-v220-3-3-7 |
| description | Ensure reverse path filtering is enabled |
| category | cis-networking |
| version | 2.2.0 |
| author | cyberstrike-official |
| tags | ["cis","ubuntu","linux","ubuntu-18.04","networking","kernel-parameter"] |
| cis_id | 3.3.7 |
| cis_benchmark | CIS Ubuntu Linux 18.04 LTS Benchmark v2.2.0 |
| tech_stack | ["ubuntu","linux"] |
| cwe_ids | [] |
| chains_with | [] |
| prerequisites | [] |
| severity_boost | {} |
CIS Ubuntu Linux 18.04 LTS Benchmark v2.2.0 - Control 3.3.7
Description
Setting net.ipv4.conf.all.rp_filter and net.ipv4.conf.default.rp_filter to 1 forces the Linux kernel to utilize reverse path filtering on a received packet to determine if the packet was valid. Essentially, with reverse path filtering, if the return packet does not go out the same interface that the corresponding source packet came from, the packet is dropped (and logged if log_martians is enabled).
Rationale
Setting these flags is a good way to deter attackers from sending your system bogus packets that cannot be responded to. One instance where this feature breaks legitimate applications is if asymmetrical routing is employed. This would occur when using dynamic routing protocols (bgp, ospf, etc) on your system. If you are using asymmetric routing on your system, you will not be able to enable this feature without breaking the routing.
Impact
None.
Audit Procedure
Command Line
Run the following commands to verify reverse path filtering is enabled:
sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.default.rp_filter
grep -E '^\s*net\.ipv4\.conf\.(all|default)\.rp_filter\s*=\s*1\b' /etc/sysctl.conf /etc/sysctl.d/*.conf
Expected Result
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
Remediation
Command Line
Set the following parameters in /etc/sysctl.conf or a /etc/sysctl.d/* file:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
Run the following commands to set the active kernel parameters:
sysctl -w net.ipv4.conf.all.rp_filter=1
sysctl -w net.ipv4.conf.default.rp_filter=1
sysctl -w net.ipv4.route.flush=1
Default Value
net.ipv4.conf.all.rp_filter = 0, net.ipv4.conf.default.rp_filter = 0
References
- NIST SP 800-53 Rev. 5: CM-7, SC-5, SC-7
- CIS Ubuntu Linux 18.04 LTS Benchmark v2.2.0
CIS Controls
Version 8
4.1 Establish and Maintain a Secure Configuration Process - Establish and maintain a secure configuration process for enterprise assets.
Version 7
5.1 Establish Secure Configurations - Maintain documented, standard security configuration standards for all authorized operating systems and software.