Information
The firewall must employ a deny-all, allow-by-exception policy for allowing connections to other systems.
Failure to restrict network connectivity only to authorized systems permits inbound connections from malicious systems. It also permits outbound connections that may facilitate exfiltration of DoD data.
The operating system incorporates the "firewalld" daemon, which allows for many different configurations. One of these configurations is zones. Zones can be utilized to a deny-all, allow-by-exception approach. The default "drop" zone will drop all incoming network packets unless it is explicitly allowed by the configuration file or is related to an outgoing network connection.
Solution
Configure the "firewalld" daemon to employ a deny-all, allow-by-exception with the following commands:
# firewall-cmd --permanent --new-zone=[custom]
# cp /usr/lib/firewalld/zones/drop.xml /etc/firewalld/zones/[custom].xml
This will provide a clean configuration file to work with that employs a deny-all approach. Next, add the exceptions that are required for mission functionality.
Note: Add the exceptions that are required for mission functionality and update the short title in the xml file to match the [custom] zone name.
Reload the firewall rules to make the new [custom] zone available to load:
# firewall-cmd --reload
Set the default zone to the new [custom] zone:
# firewall-cmd --set-default-zone=[custom]
Note: This is a runtime and permanent change.
Item Details
Category: ACCESS CONTROL, SECURITY ASSESSMENT AND AUTHORIZATION, SYSTEM AND COMMUNICATIONS PROTECTION
References: 800-53|AC-17(1), 800-53|CA-9, 800-53|SC-7, 800-53|SC-7(5), CAT|II, CSCv7|9.4, Rule-ID|SV-230504r942942_rule, STIG-ID|RHEL-08-040090, Vuln-ID|V-230504
Control ID: d0690d714fd760b98ed0428fe7aca920c75708394a29912617a3c6d29b5cf93c