Jun 182011
 

firewallIo 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

gufw_screenshot2 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:

Flattr this!

  3 Responses to “ufw – Iptables sotto Ubuntu”

  1. 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 🙂

  2. 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.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

*