Io uso iptables da molti anni e lo ho utilizzato anche per soluzioni complesse e solo recentemente ho scoperto ufw (Uncomplicated Firewall), la versione Ubuntu, o meglio sviluppato per semplificare la configurazione del firewall iptables, ufw fornisce un modo facile da usare per creare un firewall IPv4 o IPv6. Per impostazione predefinita UFW è disabilitato.
Installazione
Ho ufw già installato sulla mio ubuntu 11,04, non so se è uno standard (probabilmente) o è stato installato qualche tempo fa, durante alcuni test, comunque su Debian e Ubuntu è possibile installarlo con
aptitude install ufw |
Operazioni base
È possibile ottenere lo status, e avviare o arrestare ufw con questi comandi, si prega di notare tutti i comandi ufw devono essere eseguiti come root, quindi utilizzare un sudo davanti a qualsiasi comando o diventare root con sudo -i
ufw status
ufw enable
ufw disable |
Se si abilita o disabilita il comando si prenderà cura di attivare o disattivare il firewall anche in fase di avvio.
Impostare un comportamento di default
Con l’argomento default è possibile impostare la vostra politica di default per accettare o rifiutare i pacchetti.
ufw default allow ufw default deny |
Allow e Deny
La sintassi di base per consentire o negare una porta specifica è
ufw allow port ufw deny port |
Senza opzioni funziona sia per TCP che UDP, se si desidera specificare un protocollo scrivere
ufw allow port/protocol ufw deny port/protocol |
Quindi per permettere solo ssh sulla vostra macchina è possibile utilizzare:
ufw enable ufw default deny ufw allow 22/tcp |
E’ anche possibile consentire l’accesso da specifici host o reti ad una porta. Il seguente esempio consente l’accesso ssh dall’host 192.168.0.2 a qualsiasi indirizzo ip sull’host:
ufw allow from 192.168.0.2 to any port 22 proto tcp |
Sostituire 192.168.0.2 con 192.168.0.0/24 per consentire l’accesso ssh dall’iintera sottorete.
dry-run
Aggiungendo –dry-run a un comando ufw visualizzerà le regole risultante, ma non la applica. Per esempio, il seguente output è quello che sarebbe stato applicato aprendo la porta HTTP:
~#ufw --dry-run allow http *filter :ufw-user-input - [0:0] :ufw-user-output - [0:0] :ufw-user-forward - [0:0] :ufw-before-logging-input - [0:0] :ufw-before-logging-output - [0:0] :ufw-before-logging-forward - [0:0] :ufw-user-logging-input - [0:0] :ufw-user-logging-output - [0:0] :ufw-user-logging-forward - [0:0] :ufw-after-logging-input - [0:0] :ufw-after-logging-output - [0:0] :ufw-after-logging-forward - [0:0] :ufw-logging-deny - [0:0] :ufw-logging-allow - [0:0] :ufw-user-limit - [0:0] :ufw-user-limit-accept - [0:0] ### RULES ### ### tuple ### allow tcp 22 0.0.0.0/0 any 192.168.0.2 in -A ufw-user-input -p tcp --dport 22 -s 192.168.0.2 -j ACCEPT ### tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0 in -A ufw-user-input -p tcp --dport 80 -j ACCEPT ### END RULES ### ### LOGGING ### -A ufw-after-logging-input -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10 -A ufw-after-logging-forward -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10 -I ufw-logging-deny -m state --state INVALID -j RETURN -m limit --limit 3/min --limit-burst 10 -A ufw-logging-deny -j LOG --log-prefix "[UFW BLOCK] " -m limit --limit 3/min --limit-burst 10 -A ufw-logging-allow -j LOG --log-prefix "[UFW ALLOW] " -m limit --limit 3/min --limit-burst 10 ### END LOGGING ### ### RATE LIMITING ### -A ufw-user-limit -m limit --limit 3/minute -j LOG --log-prefix "[UFW LIMIT BLOCK] " -A ufw-user-limit -j REJECT -A ufw-user-limit-accept -j ACCEPT ### END RATE LIMITING ### COMMIT Rules updated |
registrazione dei log
Attivazione e disattivazione della registrazione dei LOG è veramente facile, basta utilizzare:
ufw logging on ufw logging off |
Ok questo è tutto per una guida base su ufw, ma forse pensate che non è ancora così semplice?
Non preoccupatevi, perché c’è anche una bella interfaccia grafica chiamata gufw.
Supporta le operazioni più comuni come l’apertura o blocco pre-configurato per i servizi più comuni, il P2P, o IP singoli/porta(e), e molte altre operazioni.
Potete anche vedere questa guida specifica di gufw
How to easily manage your Linux firewall with gufw
Popular Posts:
- None Found
Thanks, this looks nice and simple. Although I don’t know why someone would take a project he/she worked hard to create, and then name it “ufw” or “gufw” or “jdfhywesdshhsnbb112999sbdndb”… Maybe there’s a coolness quality I’m not aware of 🙂
Application profiles are also supported by ufw. These are pre-defined protocols/ports that can be referenced by application name (protocol names are from /etc/services). I wrote a couple of hundred:
Stubborn Tech Problem Solving: UFW application profiles
Bug #659619 in ufw
Unfortunately they haven’t been packaged yet.
Thanks for the info.