#Firewalls
Control network traffic to protect systems.
#UFW (Ubuntu)
bash
1# Enable firewall
2sudo ufw enable
3
4# Allow SSH (important!)
5sudo ufw allow 22
6
7# Allow HTTP/HTTPS
8sudo ufw allow 80
9sudo ufw allow 443
10
11# Allow from specific IP
12sudo ufw allow from 192.168.1.100
13
14# Deny port
15sudo ufw deny 23
16
17# Check status
18sudo ufw status verbose#firewalld (RHEL/CentOS)
bash
1# Enable
2sudo systemctl enable --now firewalld
3
4# Add services
5sudo firewall-cmd --add-service=http --permanent
6sudo firewall-cmd --add-service=https --permanent
7
8# Add port
9sudo firewall-cmd --add-port=8080/tcp --permanent
10
11# Reload
12sudo firewall-cmd --reload
13
14# List rules
15sudo firewall-cmd --list-all#iptables
bash
1# List rules
2sudo iptables -L -n -v
3
4# Allow port
5sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
6
7# Block IP
8sudo iptables -A INPUT -s 192.168.1.100 -j DROP
9
10# Save rules
11sudo iptables-save > /etc/iptables/rules.v4#Best Practices
- Default deny incoming
- Allow only necessary ports
- Allow established connections
- Log dropped packets
- Backup rules before changes