BaselineWatch
Desk

RHEL-10-200532 RHEL 10 must employ a deny-all, allow-by-exception policy for allowing connections to other systems.

DISA STIG library V1R3
All changes in this version
first version loaded CAT II

Maps to AC-17(1) via CCI-002314

Title

RHEL 10 must employ a deny-all, allow-by-exception policy for allowing connections to other systems.

Control

Verify RHEL 10 is configured so that "firewalld" employs a deny-all, allow-by-exception policy for allowing connections to other systems with the following commands (using ens133 as an example interface): $ sudo firewall-cmd --state running $ sudo firewall-cmd --get-active-zones drop (default) interfaces: ens33 $ sudo firewall-cmd --info-zone=drop | grep target target: DROP $ sudo firewall-cmd --permanent --info-zone=drop | grep target target: DROP If no zones are active on the RHEL 10 interfaces or if runtime and permanent targets are set to an option other than "DROP", this is a finding. Verify the permanent configuration is valid and there are no misconfigured zones or rules with the following command: $ sudo firewall-cmd --check-config success If this command does not return "success", this is a finding.

Discussion

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 DoW data. RHEL 10 incorporates the "firewalld" daemon, which allows for many different configurations. One of these configurations is zones. Zones can be used in 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.

Related controls

CCI-002314

Fix

Configure RHEL 10 so that the "firewalld" daemon employs a deny-all, allow-by-exception policy with the following commands (using ens133 as an example interface): Start by adding the exceptions that are required for mission functionality to the "drop" zone. If SSH access on port 22 is needed, for example, run the following: $ sudo firewall-cmd --permanent --add-service=ssh --zone=drop Reload the firewall rules to update the runtime configuration from the "--permanent" changes made above: $ sudo firewall-cmd --reload Set the default zone to the drop zone: $ sudo firewall-cmd --set-default-zone=drop Note: This is a runtime and permanent change. Add any interfaces to the newly modified "drop" zone: $ sudo firewall-cmd --permanent --zone=drop --change-interface=ens33 Reload the firewall rules for changes to take effect: $ sudo firewall-cmd --reload