[LUGargano] Quali istruzioni per IPTables...

Carmine Malice instarvega_capitanlug@yahoo.it
Gio 25 Gen 2007 10:24:24 CET


Mi trovo nella situazione di dover passare istruzioni personalizzate ad
IPTables in un sistema con firewall gia' configurato senza - purtroppo -
avere assolutamente la necessaria preparazione: all'epoca diedi una
lettura ad una decina di pagine di manuale che trattavano sommariamente
di IPTables, ne ho recepito i principi fondanti ma non ho mai avuto
pratica e men che mai approfondimenti.

Nello specifico si tratta della distribuzione "dedicata" (a firewall,
router ecc.) IPCop, il che poi non e' tanto determinante, il punto e'
che devo chiudere a discrezione l'accessibilita' dall'interno della rete
locale a servizi - ovvero porte - nell'internet pubblica che desidero
precludere: da documentazioni collaterali recepisco che per la
"chiusura" basta caratterizzare lo script d'inizializzazione
/etc/rc.d/rc.firewall.local come segue

########################################################################
#!/bin/sh
# Used for private firewall rules
# See how we were called.
case "$1" in
start)
## add your 'start' rules here
#
/sbin/iptables -A CUSTOMFORWARD -i eth0 –o eth1 -p tcp -m mport --dports
80,443 -j DROP
#
;;
stop)
## add your 'stop' rules here
;;
reload)
$0 stop
$0 start
## add your 'reload' rules here
;;
*)
echo "Usage: $0 {start|stop|reload}"
;;
esac
########################################################################

laddove l'unica parte personalizzata ed aggiunta e'

#
/sbin/iptables -A CUSTOMFORWARD -i eth0 –o eth1 -p tcp -m mport --dports
80,443 -j DROP
#

(c'e' un "a capo" costretto dall'impaginazione di questa lettera) che
riporta l'interfaccia eth0 rivolta alla rete locale e l'interfaccia eth1
rivolta all'internet pubblica.

Capisco che grossomodo li' "si dica" ad IPTables "la regola
CUSTOMFORWARD prevede che i pacchetti che ti arrivano sulla eth0 e se ne
escono dalla eth1 per il protocollo TCP da qualsiasi porta originati ma
indirizzati alle porte 80 e 443 (servizi HTTP e HTTPS) li fai decadere".

Orbene, il fatto e' che questo e' uno script d'inizializzazione
strutturato per comandare i classici "start|stop|reload": vorrei allora
sfruttare anche le sezioni "stop" e "reload", tornano infatti utili per
una comoda sospensione temporanea della regola personalizzata.

La domanda e': come faccio? :-)

Nello specifico: per il "reload" va bene una riga identica a quella per
lo start? E per lo "stop" devo ricorrere ad istruzioni specularmente
opposte (ecco.. quali? :-) ) o mi basta comandare la cancellazione della
regola "CUSTOMFORWARD" (cosa che ignoro come si imposti)?

Ringrazio anticipatamente chi avra' la pazienza di dedicarsi a cio'!


Maggiori informazioni sulla lista LUGargano