1. Install Firewalld

  • Ensure Firewalld is installed and running on your system.

2. Manage Firewalld Service

  • Start, enable, stop, or disable the Firewalld service.

3. Configure Zones

  • Define and manage zones to control the trust level of network connections.

4. Manage Services

  • Allow, deny, or customize services in zones.

5. Manage Ports

  • Open or close specific ports in zones.

6. Manage Interfaces

  • Assign network interfaces to zones.

7. Manage Sources

  • Assign specific IP addresses or subnets to zones.

8. Manage ICMP Blocks

  • Allow or deny ICMP messages in zones.

9. Manage Masquerading and Port Forwarding

  • Configure NAT and port forwarding.

10. Manage Rich Rules

Use rich rules for more detailed control over traffic.

20 Real Examples for Hardening with Firewalld

1. Install Firewalld

sudo yum install firewalld

2. Start and Enable Firewalld

sudo systemctl start firewalld
sudo systemctl enable firewalld

3. Get Active Zone

sudo firewall-cmd --get-active-zones

4. Change Default Zonesudo firewall-cmd --set-default-zone=home

5. Add Service to Zone

sudo firewall-cmd --zone=public --add-service=http --permanent

6. Remove Service from Zone

sudo firewall-cmd --zone=public --remove-service=http --permanent

7. Add Port to Zone

sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent

8. Remove Port from Zone

sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent

9. Reload Firewalld

sudo firewall-cmd --reload

10. Add Interface to Zone

sudo firewall-cmd --zone=public --add-interface=eth0 --permanent

11. Add Source to Zone

sudo firewall-cmd --zone=public --add-source= --permanent

12. Enable Masquerading

sudo firewall-cmd --zone=public --add-masquerade --permanent

13. Add Forward Port

sudo firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent

14. Add ICMP Block

sudo firewall-cmd --zone=public --add-icmp-block=echo-request --permanent

15. Create Custom Service

  • Define a custom service XML file and place it in /etc/firewalld/services/.

16. Add Custom Service to Zone

sudo firewall-cmd --zone=public --add-service=custom-service --permanent

17. Add Rich Rule

sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="" accept' --permanent

18. Remove Rich Rule

sudo firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="" accept' --permanent

19. Query Service in Zone

sudo firewall-cmd --zone=public --query-service=http

20. List All Configurations

sudo firewall-cmd --list-all-zones

Last updated