Cosa fa#
Frontend per iptables che traduce comandi semplici in regole Netfilter. Quando abilitato, applica una default policy DENY su tutto il traffico in entrata.
TL;DR#
UFW e' disabilitato di default su Ubuntu. Quando lo abiliti con ufw enable, blocca tutto il traffico in entrata salvo le regole che aggiungi esplicitamente. Le regole outbound sono permesse di default.
Se abiliti UFW su un server remoto senza prima aprire la porta SSH, perdi l'accesso. Apri sempre 22/tcp prima di ufw enable.
Sintassi#
sudo ufw <comando> [protocollo/porta]
Comandi essenziali#
Stato e controllo#
| Comando | Cosa fa |
|---|---|
sudo ufw enable | Attiva il firewall (persiste al riavvio) |
sudo ufw disable | Disattiva il firewall |
sudo ufw status | Mostra stato e regole attive |
sudo ufw status verbose | Stato con policy di default |
sudo ufw status numbered | Mostra regole con numero — utile per cancellare |
sudo ufw reset | Azzera tutte le regole e disabilita UFW |
sudo ufw reload | Ricarica le regole senza disabilitare |
Aggiungere regole (allow / deny)#
| Comando | Cosa fa |
|---|---|
sudo ufw allow 22/tcp | Apre porta 22 TCP in entrata |
sudo ufw allow ssh | Come sopra, via nome servizio |
sudo ufw allow 80,443/tcp | Apre piu' porte in un colpo |
sudo ufw allow from 192.168.64.1 | Permette tutto il traffico da quell'IP |
sudo ufw allow from 192.168.64.0/24 | Permette da intera subnet |
sudo ufw allow from 192.168.64.1 to any port 22 | Da IP specifico solo su porta 22 |
sudo ufw deny 23/tcp | Blocca telnet in entrata |
sudo ufw deny out 4444 | Blocca traffico uscente porta 4444 |
sudo ufw reject 25/tcp | Rifiuta e notifica il mittente (vs deny che droppa silenziosamente) |
Cancellare regole#
| Comando | Cosa fa |
|---|---|
sudo ufw delete allow 22/tcp | Cancella regola per contenuto |
sudo ufw delete deny out 4444 | Cancella regola outbound |
sudo ufw delete 3 | Cancella regola numero 3 (usa status numbered prima) |
Default policy#
| Comando | Cosa fa |
|---|---|
sudo ufw default deny incoming | Blocca tutto il traffico in entrata (default) |
sudo ufw default allow outgoing | Permette tutto il traffico in uscita (default) |
sudo ufw default deny outgoing | Blocca tutto il traffico in uscita |
Logging#
| Comando | Cosa fa |
|---|---|
sudo ufw logging on | Attiva logging (in /var/log/ufw.log) |
sudo ufw logging off | Disattiva logging |
sudo ufw logging high | Livello di dettaglio alto |
Combinazioni utili#
# Verifica stato prima di abilitare
sudo ufw status
# Sequenza sicura su server remoto
sudo ufw allow 22/tcp
sudo ufw enable
# Apri porte per Wazuh Agent → Manager
sudo ufw allow 1514/tcp
sudo ufw allow 1514/udp
sudo ufw allow 1515/tcp
sudo ufw allow 443/tcp
# Rimuovi una regola sbagliata (outbound port 4444)
sudo ufw delete deny out 4444Scenario Reale#
Durante il lab settimana 10: UFW era stato abilitato in una sessione precedente con una regola deny out 4444 per bloccare la reverse shell. Alla sessione successiva:
- SSH non rispondeva — UFW attivo bloccava nuove connessioni
- Soluzione: accesso diretto alla console VM,
sudo ufw allow 22/tcp - Le porte Wazuh (1514, 1515, 443) erano bloccate → l'agent non comunicava col manager
sudo ufw delete deny out 4444necessario per far funzionare il lab reverse shell
Lezione: sudo ufw status verbose come primo comando diagnostico quando qualcosa di rete smette di funzionare su Ubuntu.
Risorse#
- Ubuntu UFW documentation — riferimento ufficiale con esempi
Collegato a#
- network — categoria
- iptables — UFW e' un frontend per iptables, le regole diventano chain Netfilter
- wazuh-auditd-custom-rule — porte UFW aperte durante il lab Wazuh


