PDA

View Full Version : INFO : Esiste un programma per il Firewall ?


The X
01-03-2008, 22:46
Mi spiego meglio.....

so che la gestione delle portee degli accessi, su linux, la fa IPTABLES e che, creandosi ad DOC uno script, si può mettere su un Firewall a "prova di bomba".

Mi chiedevo, però, se di recente è nato un "programma" grafico che possa funzionare, per intenderci, tipo un software-firewall per windows come il "Sygate Personal Firewall"....tanto x citarne uno.

GRAZIE

mykol
01-03-2008, 23:06
ce ne sono di sicuro, ma non ne uso quindi non so dirti il nome. Parecchie distribuzioni ne hanno già uno integrato.

Gimli[2BV!2B]
01-03-2008, 23:27
Firestarter (http://www.fs-security.com/)
Fireflier (http://fireflier.sourceforge.net/)
Fwbuilder (http://www.fwbuilder.org/)
Kmyfirewall (http://www.kmyfirewall.org/)
...

Basta fare una ricerca nel tuo gestore di pacchetti preferito.

Come sopra nemmeno io li ho mai usati. Di solito non fanno altro che creare degli script mettendoli in esecuzione come vogliono loro.

khelidan1980
01-03-2008, 23:28
firestarter,o ad esempio fedora ne integra uno suo ma non sono programmi diversi sono solo gui ad iptables...

The X
01-03-2008, 23:40
Giusto....dimenticavo di dirvi che la distro candidata al uso è kubuntu ;)

I programmi (o front-end che dir si voglia) gestiscono in tempo reale l'aggiornamento dello script di iptable a fronte di una richiesta d'accesso (input e/o output) da parte di un'applicazione/servizio ?

ESEMPIO :
Ho attivo uno script di iptables che mi chiude tutte le porte in ingresso/uscita --> installo Firefox e lo avvio --> il programma di gestione del firewall mi permette di scegliere SE voler bloccare o sbloccare il programma Firefox ?

GRAZIE

Gimli[2BV!2B]
02-03-2008, 00:01
Mmhh, non credo... non è come in win, dove il firewall prende il controllo di tutto il traffico e deve occuparsi anche di evitare che qualcosa cerchi di connettersi all'esterno.
Questi sono proprio solo degli specie di wizard che danno una mano ad impostare tutto quanto senza la necessità di conoscere la sintassi di iptables.
Ma è iptables che ha il controllo assoluto e se gli dici di ignorare un pacchetto lui lo fa, inoltre i programmi non tentano di inviare statistiche/dati/richieste di aggiornamenti indesiderati.

Tra la valanga di opzioni di iptables potrebbe esserci qualcosa del genere, ma non ci scommetto.

Concludendo: molto difficilmente si limita il traffico in uscita (solo se si tratta di amministrare una rete aziendale o si hanno requisiti di sicurezza maniacale), di solito si chiude qualsiasi porta in ingresso aprendo solo quelle che si utilizzano.

blackbit
02-03-2008, 12:56
invece bloccare il traffico verso l'esterno, non solo è possibile, ma lo consiglio vivamente, dato che se uno malware si riuscisse a installare nel pc, senza un filtraggio in uscita, potrebbe dialogare allegramente con qualsiasi altro computer nel mondo

arara
02-03-2008, 13:04
Giusto....dimenticavo di dirvi che la distro candidata al uso è kubuntu ;)

I programmi (o front-end che dir si voglia) gestiscono in tempo reale l'aggiornamento dello script di iptable a fronte di una richiesta d'accesso (input e/o output) da parte di un'applicazione/servizio ?

ESEMPIO :
Ho attivo uno script di iptables che mi chiude tutte le porte in ingresso/uscita --> installo Firefox e lo avvio --> il programma di gestione del firewall mi permette di scegliere SE voler bloccare o sbloccare il programma Firefox ?

GRAZIE

Prova firestarter, è quello che si avvicina di piu a quello che dici.
Una volta c'era fireflier che faceva esattamente questo, ma ora non è piu sviluppato, i personal firewall su linux non vengono molto usati.

Gimli[2BV!2B]
02-03-2008, 14:54
blackbit è solo questione di bunsenso!

Questo qua si trova per la prima volta ad avere a che fare con iptables e gli consigli subito di rompersi la testa!?

Il filtraggio "malato" a casa l'ho impostato sul serverino, sul portatile no, cavolo... se qualche buontempone vuole prendere il controllo di un pc GNU/Linux va ad attaccare proprio un inutile pc in una qualsiasi casa, privo di servizi "interessanti" con chissà quale versione di kernel, libc, software, ecc...

Per questo ci sono gli omogenei, sprotetti, poveri win con cui al massimo giocano a solitario da zombare...

mentalrey
02-03-2008, 23:30
Concordo con Gimli.

blackbit
03-03-2008, 12:58
;21356500']blackbit è solo questione di bunsenso!

Questo qua si trova per la prima volta ad avere a che fare con iptables e gli consigli subito di rompersi la testa!?

Il filtraggio "malato" a casa l'ho impostato sul serverino, sul portatile no, cavolo... se qualche buontempone vuole prendere il controllo di un pc GNU/Linux va ad attaccare proprio un inutile pc in una qualsiasi casa, privo di servizi "interessanti" con chissà quale versione di kernel, libc, software, ecc...

Per questo ci sono gli omogenei, sprotetti, poveri win con cui al massimo giocano a solitario da zombare...

si, quel che dici è giusto,

Lui ha parlato di firewall A PROVA DI BOMBA. Se ho capito bene è quello che vuole ottenere.

Quindi, non c'è firewall a prova di bomba senza protezione in uscita.


Poi se no si vuole sbattere rinuncierà alla 'prova di bomba' e avrà una iscurezza intermedia come tutti.

- Cmq non è una cosa che richieda grande sforzo. tutto sta nel capire come funziona iptables. Posto uno script di esempio, molto striminzito.




----------------------------------------------------



# INIZIO SCRIPT #

# puliamo tutto prima di applicare le nuove regole


/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F




# impostiamo la policy per i pacchetti in ingresso
# bloccando il traffico


/sbin/iptables -P INPUT DROP
/sbin/iptables -A INPUT -m pkttype --pkt-type unicast -j LOG --log-prefix "INPUT: " --log-level 7



# impostiamo la policy per i pacchetti in transito
# tra le interfacce bloccando il traffico


/sbin/iptables -P FORWARD DROP


# ECCO LA POLICY IN USCITA CHE TANTO TI INTERESSA:

/sbin/iptables -P OUTPUT ACCEPT

#Se la imposti così accetti tutto il traffico in uscita

#Altrimenti puoi scrivere DROP al posto di accept nella riga di sopra e autorizzare in uscita solo le porte che ti interessano

/sbin/iptables -I OUTPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 40000 --jump ACCEPT

/sbin/iptables -I OUTPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 1863 --jump ACCEPT












# poi facciamo in modo di accettare i pacchetti in entrata
# che appartengono ad una connessione già esistente
# o che sono correlati a connessioni preesistenti


/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 60000 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 60001 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 60002 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 60003 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 61000 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 61001 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 61002 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 61003 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 5901 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 5801 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 5900 --jump ACCEPT

/sbin/iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 5800 --jump ACCEPT


/sbin/iptables -I INPUT -p udp -m state --state NEW,ESTABLISHED,RELATED --dport 65534 --jump ACCEPT

/sbin/iptables -I INPUT -p udp -m state --state NEW,ESTABLISHED,RELATED --dport 65535 --jump ACCEPT


/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED --jump ACCEPT




# abilitiamo il transito di pacchetti provenienti
# dalla rete interna (ad es. 192.168.1.*)


/sbin/iptables -A FORWARD -s 192.168.1.0/24 --jump ACCEPT

# abilitiamo il transito di pacchetti che appartengono
# ad una connessione già esistente o che siano correlati
# a connessioni preesistenti


/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED --jump ACCEPT

# abilitiamo i pacchetti icmp (il ping) per l'interfaccia
# di loopback


/sbin/iptables -A INPUT -i lo -p icmp --jump ACCEPT



# abilitiamo i pacchetti icmp per la scheda di rete


/sbin/iptables -A INPUT -i eth0 -p icmp --jump ACCEPT


# rimosso ppp0
# ora abilitiamo i pc della rete interna alla navigazione


# in internet utilizzando la funzione NAT per un modem
# condiviso con indirizzo ip dinamico assegnato dal
# provider


/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 --jump MASQUERADE



# e infine abilitiamo l'attraversamento dei pacchetti

# tra un'interfaccia e l'altra

echo 1 > /proc/sys/net/ipv4/ip_forward




# FINE SCRIPT #


# QUESTO SCRIPT E' GIA' DIRETTAMENTE UTILIZZABILE se lo metti nella tua home e se dai
# sudo sh ipt.sh
# Ovviamente adattalo. Le porte che vedi sono quelle che usavo io

SE LO VUOI USARE COPIALO NEL BLOC NOTE E SALVALO COME IPT.SH


----------------------------------------------------


Se invece cerchi una gui... sappi che non ti servono i programmi invasivi di windows, che ti chiedono per ogni applicazione se vuoi autorizzare o no. E' unacosa semplicemente inutile, perchè un qualsiasi programma malevolo ha parecchie strade alcune molto facili per eludere tale controllo

Tantovale stabilire a priori quali pacchetti accettare ed evitare di avere dei 'permessi' per ogni applicazione, facilmente infrangibili

The X
03-03-2008, 16:52
;21356500']blackbit è solo questione di bunsenso!

Questo qua si trova per la prima volta ad avere a che fare con iptables e gli consigli subito di rompersi la testa!?

A dire il vero non sono proprio alle prime armi....per un paio d'anni (4 anni fa) ho fatto il sistemista linux e mi ero creato uno script personalizzato per iptables con filtro in input, output e Stateful Inspection (se nn sbaglio a scrivere).

Al tempo non esistevano i "Personal Firewall" (tranne qlc GUI poco evoluta) MA speravo che dopo 4/5 anni fosse nato qlc d simile....;)

In ogni caso grazie x i consigli !!!

The X
03-03-2008, 16:57
Per curiosità sono andato a ripescarlo da un vecchio DVD di backup ;)


#!/bin/bash

modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

DNS1=213.234.128.211
DNS2=213.234.132.130
TITAN=192.168.1.2
P200=192.168.1.3
IP='ifconfig ppp0 | grep inet | cut -d : -f 2 | cut -d\ -f 1'
P_PORTS=0:1023
NP_PORTS=1024:65535

/bin/echo 1 >/proc/sys/net/ipv4/ip_forward
/bin/echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
/bin/echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
/bin/echo 0 >/proc/sys/net/ipv4/conf/all/accept_source_route
/bin/echo 0 >/proc/sys/net/ipv4/conf/all/accept_redirects
/bin/echo 1 >/proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
/bin/echo 1 >/proc/sys/net/ipv4/conf/all/log_martians

echo Flushing ed Inizializzazione iptables
iptables -F
iptables -X
iptables -Z

echo Applicazione dei parametri di default di iptables
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

echo Interfaccia loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A FORWARD -o lo -j ACCEPT

echo Funzione Rate Limiting
iptables -N syn-flood
iptables -A INPUT -i ppp0 -p tcp syn -j syn-flood
iptables -A syn-flood -m limit limit 1/s limit-burnst 4 -j RETURN
iptables -A syn-flood -J DROP

echo Funzione Stateful Inspection
iptables -A INPUT -i ppp0 -p tcp ! syn -m state state NEW -j DROP

echo Log dei frammenti e sue regole
iptables -A INPUT -i ppp0 -f -j LOG log-prefix IPTABLES FRAGMENTS:
iptables -A INPUT -i ppp0 -f -j DROP

echo Anti-Spoofing
iptables -A INPUT -i ppp0 -d 127.0.0.0/8 -j DROP

echo Applicazione delle regole di Firewall

#DNS (Server-->Client). Abilitiamo il traffico DNS in risposta alle nostre query dai nostri
#2 DNS servers. A seconda dei casi puo' riverarsi necessaria anche una abilitazione del
#TCP, in particolare per gestire il Zone Transfers.
iptables -A INPUT -i ppp0 -p udp -s $DNS1 sport 53 -m state state ESTABLISHED -j ACCEPT
iptables -A INPUT -i ppp0 -p udp -s $DNS2 sport 53 -m state state ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -p udp -s $DNS1 sport 53 -m state state ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -p udp -s $DNS2 sport 53 -m state state ESTABLISHED -j ACCEPT

#DNS (Client-->Server). Vengono abilitate le query in uscita ai DNS servers.
iptables -A OUTPUT -o ppp0 -p udp -d $DNS1 dport 53 -m state state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p udp -d $DNS2 dport 53 -m state state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -0 ppp0 -p udp -d $DNS1 dport 53 -m state state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -0 ppp0 -p udp -d $DNS2 dport 53 -m state state NEW,ESTABLISHED -j ACCEPT

#SSH (In uscita;In entrata abilitiamo solo il traffico relativo a connessioni gia stabilite).
#iptables -A INPUT -i ppp0 -p tcp sport 35 -m state state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o ppp0 -p tcp dport 35 -m state state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i ppp0 -p tcp sport 35 -m state state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o ppp0 -p tcp dport 35 -m state state NEW,ESTABLISHED -j ACCEPT

#SSH (In entrata solo se proveniente da un dato IP, come definito nella security policy).
iptables -A INPUT -i eth0 -p tcp -s $TITAN dport 35 -m state state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp sport 35 -d $TITAN -m state state ESTABLISHED -j ACCEPT

iptables -A INPUT -i eth0 -p tcp -s $P200 dport 35 -m state state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp sport 35 -d $P200 -m state state ESTABLISHED -j ACCEPT

#HTTP e HTTPS (solamente in uscita).
#iptables -A INPUT -i ppp0 -p tcp sport 80 -m state state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o ppp0 -p tcp dport 80 -m state state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i ppp0 -p tcp sport 80 -m state state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o ppp0 -p tcp dport 80 -m state state NEW,ESTABLISHED -j ACCEPT

#iptables -A INPUT -i ppp0 -p tcp sport 443 -m state state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o ppp0 -p tcp dport 443 -m state state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i ppp0 -p tcp sport 443 -m state state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o ppp0 -p tcp dport 443 -m state state NEW,ESTABLISHED -j ACCEPT

#FTP (In uscita).
#iptables -A INPUT -i ppp0 -p tcp sport 21 -m state state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o ppp0 -p tcp dport 21 -m state state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i ppp0 -p tcp sport 21 -m state state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o ppp0 -p tcp dport 21 -m state state NEW,ESTABLISHED -j ACCEPT

#FTP (In entrata)(attivo)(Connessione in entrata dalla 20/tcp alla porta locale passata tramite
#il comando PORT.Il modulo ip_conntrack_ftp riconosce questa connessione come
#RELATED a quella originale in uscita sulla 21/tcp).
iptables -A INPUT -i ppp0 -p tcp sport 20 -m state state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp dport 20 -m state state ESTABLISHED -j ACCEPT

iptables -A FORWARD -i ppp0 -p tcp sport 20 -m state state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -o ppp0 -p tcp dport 20 -m state state NEW,ESTABLISHED -j ACCEPT

#FTP (In entrata)(passivo)(Connessione in uscita da una porta NON privilegiata a una porta remota
#anch'essa NON privilegiata, passata precedentemente tramite il comando PORT. Anche
#questa viene riconosciuta da ip_conntrack_ftp).
iptables -A INPUT -i ppp0 -p tcp sport $NP_PORTS dport $NP_PORTS -m state state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp sport $NP_PORTS dport $NP_PORTS -m state state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i ppp0 -p tcp sport $NP_PORTS dport $NP_PORTS -m state state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o ppp0 -p tcp sport $NP_PORTS dport $NP_PORTS -m state state ESTABLISHED,RELATED -j ACCEPT

#Attivazione di ICQ, Ultima e altri programmi usanti le Porte Non Privilegiate.
iptables -A FORWARD -i ppp0 -p tcp -sport $NP_PORTS -d $TITAN -m state state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o ppp0 -p tcp -s $TITAN dport $NP_PORTS -m state state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i ppp0 -p tcp -sport $NP_PORTS -d $P200 -m state state ESTABLISHED -j ACCEPT
iptables -A FORWARD -o ppp0 -p tcp -s $P200 dport $NP_PORTS -m state state NEW,ESTABLISHED -j ACCEPT


#Applicazione del Masquerading NAT
iptables -t NAT -A POSTROUTING -o ppp0 -s 192.168.1.0/24 -j SNAT to $IP


# iptables -A INPUT -i eth0 -j ACCEPT

# iptables -A OUTPUT -m state -p icmp --state INVALID -j DROP

# iptables -A FORWARD -p tcp -i ppp0 -o eth0 --dport 1025:65535 -j ACCEPT
# iptables -A FORWARD -p udp -i ppp0 -o eth0 --dport 1025:65535 -j ACCEPT

# iptables -A FORWARD -d 192.168.1.2 -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -s 192.168.1.2 -i eth0 -j ACCEPT

W.S.
03-03-2008, 17:16
Al tempo non esistevano i "Personal Firewall" (tranne qlc GUI poco evoluta) MA speravo che dopo 4/5 anni fosse nato qlc d simile....;)
Pure a me piacerebbe avere un personal firewall. Nel pochissimo tempo libero ne sto scrivendo uno (in effetti più per divertimento che altro ;) ). Se ti capita di trovarne qualcuno carino fammi sapere! Se mai uscirà qualcosa di stabile dai miei esperimenti non mancherò di postarlo.

Gimli[2BV!2B]
04-03-2008, 22:44
Scusate per lo sbotto dell'altra sera, il pessimo umore unito ad una lettura poco attenta (il prova di bomba non l'ho nemmeno considerato in coppia ad una richiesta di un frontend per iptables).

Proverò a dire con più calma ciò che intendevo.

Firewall grafico: un interfaccia grafica standard non la considero assolutamente adatta per creare un firewall serio. In primo luogo il design dell'interfaccia mette usualmente in primo piano le funzionalità principali nascondendo le opzioni meno usate. Oppure, per garantire completezza, le relega a dialoghi secondari spesso sovraffollati.
Inoltre è sempre necessario un minimo di reinterpretazione dei termini con cui vengono indicate le opzioni, che devono riassumere, spesso in meno di 5/6 parole, funzionalità che possono coinvolgere una decina di comandi di iptables.
Per non parlare della traduzione che spesso può fuorviare.

Filtraggio dei pacchetti in uscita: è di immediata configurazione se il computer da proteggere deve fornire dei servizi ben precisi.
Se invece è un computer che si usa normalmente per navigare in internet o per funzioni proxy sarà necessario prevedere qualsiasi protocollo si utilizzerà, oppure rassegnarsi a rimettere mano al firewall ogni volta che si fa qualche esperimento. Quasi certamente questo accadrà quando si avrà molta fretta (credo che questa sia una legge universale...).
Molto probabilmente (nel secondo caso) del malware installato cercherà di comunicare all'esterno per mezzo di protocolli specifici a cui noi avremo aperto la strada.

Malware: qualcuno ha avuto voglia di forzarti il pc (più probabile che giochicchiando con roba ambigua si installi qualcosa con le proprie mani), se si tratta di qualcosa di serio guadagna accesso root e a quel punto si può salutare il firewall. Se si tratta di un giocattolo che si ferma ai diritti di utente può fermarsi in pochi posti noti all'interno della home (.bashrc, .kde/Autostart, ...), luoghi che un'utente accorto ogni tanto visita.

Appunto sugli script di firewalling: il più veloce script per un firewall è:#!/bin/sh
iptables-restore -c < firewall
Occorrerà salvare il firewall con iptables-save > firewall ed aggiungere eventuali modprobe ed echo.
Quasi certamente servirà anche uno script classico con cui costruire il tutto prima di salvare, ma se si vuole un firewall che rasenta la maniacalità questa è la strada da percorrere.
Con set di regole un po' corposi si riduce al minimo il tempo privo di protezione e con regole incomplete, grazie al fatto che il file salvato letto d'un fiato ed interpretato da una sola istanza di iptables.

Per finire questo firewall dovrebbe essere attivato contemporaneamente all'attivazione dell'interfaccia. Per soddisfare questa necessità (in una distribuzione Debian based) è buona cosa scriverlo così:#! /bin/bash

EXTERNAL_INTERFACE="eth0"

case "$IFACE" in
"$EXTERNAL_INTERFACE")

case "$PHASE" in
pre-up)
#modprobe QUALCOSA
#echo QUALCOS'ALTRO
iptables-restore -c < /etc/network/firewall

post-down)
echo -n "Flushing NAT rules: "
iptables -t nat -F; iptables -t mangle -F
echo "done."
# a seconda delle necessità/gusti si cancelleranno
# le regole alla disattivazione dell'interfaccia
# echo -n "Flushing all chains in filter table: "
# iptables -F
# iptables -X
# iptables -Z
# echo "done."
;;
*)
echo "Unhandled: $PHASE"
exit 0
;;
esac
;;

*)
echo "Unknown interface $IFACE"
exit 0
;;
esac

exit 0salvarlo in /etc/network e fare un paio di link nelle cartelle corrispondenti alle fasi attivate (in questo caso /etc/network/if-pre-up.d/ ed /etc/network/if-post-down.d/).
In alcuni casi è invece necessario attendere che l'interfaccia sia pronta utilizzando anche if-up.d.

Questo mi rilassa di più che sbottare ed additare, in effetti... scusatemi di nuovo e alla prossima!