[LUGargano] Quali istruzioni per IPTables...

Carmine Malice instarvega_capitanlug@yahoo.it
Gio 25 Gen 2007 13:34:34 CET


Be', IPCop nasce come router-firewall, quindi per la sottorete servita
come zona delle workstation (IPCop e' preimpostato fino ad un massimo di
3 sottoreti "tematiche" mentre l'ulteriore interfaccia e' per il "resto
del mondo") la politica predefinita e' "chiusura di tutti i servizi
verso il resto del mondo": credo di non essermi spiegato, il mio
problema e' precludere i servizi esterni, dell'internet mondiale, cioe'
schermare le richieste fatte da workstation della mia sottorete verso
server pubblici noti su porte tradizionali, p.e. chiudere la 80 serve a
*costringere* il ricorso al web proxy locale, che filtra
l'accessibilita' ed i contenuti.

Alessandro Rendina ha scritto:
> Di solito il modo migliore è chiudere tutto e aprire solo i servizi che
> s'intendono fornire.
> mi sembra che un esempio di questo tipo c'era nel firewall-howto
> 
> Carmine Malice wrote:
>> 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