Configurare UFW (Uncomplicated Firewall) su Debian/Ubuntu
Guida completa per proteggere un server con UFW: regole base, rate limiting e best practices.
1. Installazione e setup iniziale
apt install -y ufw
ufw default deny incoming
ufw default allow outgoing
IMPORTANTE: Apri SSH prima di attivare UFW!
ufw allow 22/tcp
2. Regole comuni
# Web server
ufw allow 80/tcp
ufw allow 443/tcp
# Email
ufw allow 25/tcp # SMTP
ufw allow 587/tcp # Submission
ufw allow 993/tcp # IMAPS
# DNS
ufw allow 53/tcp
ufw allow 53/udp
# Solo da rete LAN
ufw allow from 192.168.1.0/24 to any port 3306 # MySQL
ufw allow from 192.168.1.0/24 to any port 5432 # PostgreSQL
3. Rate limiting SSH
ufw limit 22/tcp
Blocca automaticamente IP con piu di 6 connessioni in 30 secondi.
4. Attivazione
ufw enable
ufw status verbose
5. Comandi utili
# Elenco regole numerate
ufw status numbered
# Rimuovere una regola
ufw delete 5
# Bloccare un IP specifico
ufw deny from 203.0.113.50
# Log
ufw logging on
tail -f /var/log/ufw.log
6. Regole per Docker
Docker bypassa UFW di default! Aggiungi a /etc/docker/daemon.json:
{ "iptables": false }
systemctl restart docker
Risultato: Server protetto con firewall, rate limiting SSH e regole granulari per ogni servizio.