Regole UFW per VPN, ovvero come impedire leak di IP (killswitch).

Ufw (Uncomplicated firewall) è l’applicazione predefinita in molte distro Linux per la configurazione del firewall. Sviluppato per semplificare la configurazione di iptables, Ufw offre un modo semplice per creare un firewall basato su protocolli IPv4 e IPv6. Ammettiamolo, tutti odiano iptables.

Ma veniamo al sodo: stiamo usando una VPN per vedere le nostre serie americane preferite senza limiti di geolocalizzazione o perché il nostro capo ha deciso di bloccare anche Wikipedia, ma abbiamo paura che qualche connessione, per un motivo o per un altro, tenti di connettersi ad internet senza passare per il tunnel creato dalla VPN, svelando le nostre maracchelle. Come fare? Semplice, con poche semplici regole per il nostro “firewall non complesso”. Funzionerà anche come killswitch, in caso di perdita di connessione (impedirà che il pc si riconnetta bypassando la VPN).

Innazitutto, assicuriamoci che Ufw sia presente sulla nostra macchina:

sudo apt-get install ufw

Poi, seguite questo script:

# Chiudiamo ogni connessione per precauzione
sudo ifconfig eth0 down
sudo ifconfig wlan0 down
# reset delle configurazioni precedenti
sudo ufw --force reset
# comportamento di default ed avvio ufw
sudo ufw default deny incoming
sudo ufw default deny outgoing
sudo ufw enable
# riavvio le connessioni
sudo ifconfig eth0 up
sudo ifconfig wlan0 up
# permetto il traffico attraverso l'interfaccia della vpn
sudo ufw allow in on tun0 from any to any
sudo ufw allow out on tun0 from any to any
# per far felice network-manager
sudo restart network-manager

Ora, ogni volta che dovrete usare la vostra vpn non vi resterà che seguire questo percorso:

#Connettiti alla vpn
openvpn file.ovpn

#per prevenire dns leak
#prendere l'ip dalle ultime righe
#di output del comando precedente
#dovrebbe essere qualcosa come:
#
#Sat Sep 09 15:52:27 2015 /sbin/ip route add 10.7.7.1/32 via 10.7.7.93
#Sat Sep 09 15:52:27 2015 Initialization Sequence Completed
#
#IN QUESTO CASO DOVRESTE PRENDERE 10.7.7.1
#ed inserirlo come nameserver in /etc/resolv.conf
echo "nameserver 10.7.7.1" > /etc/resolv.conf

#Verificate che funzioni
ping -c 10 www.google.com

#Attivate ufw (fate così per evitare un bug di ufw)
ufw enable
ufw disable
ufw enable

#Eseguite questo comando per verificare che le regole siano giuste
ufw status

#Dovrebbere uscire questo output
#Status: active
#
#To                         Action      From
#--                         ------      ----
#Anywhere on tun0           ALLOW       Anywhere
#Anywhere (v6) on tun0      ALLOW       Anywhere (v6)
#
#Anywhere                   ALLOW OUT   Anywhere on tun0
#Anywhere (v6)              ALLOW OUT   Anywhere (v6) on tun0
#
#
#
#
#
#Ora potete navigare tranquilli!
#Finito di navigare, o in caso ufw dia dei problemi:
ufw disable

#E poi rifare tutto da capo la prossima volta

Ora non vi resta che usare Pyinfo per scoprire se tutto ha funzionato a dovere.
Questo è tutto. State attenti là fuori!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s