Newsgroup: it.comp.os.linux.iniziare
Titolo: Personal firewall - iptables?

Qual'è il sistema preferibile per proteggere la propria linux-box (alla
quale vorrei aggiungere dei servizi accedibili dall'esterno, come web
server ad esempio), considerando che la stessa è un pc stand-alone connesso
via ethernet ad un router che mi natta l'indirizzo e va su ADSL?
iptables va bene per questo uso? Fin'ora, negli esempi, l'ho sempre visto
utilizzato su una macchina dual homed che facesse da firewall per una
lan... (ho come la sensazione che sia una domanda cretina: se filtra i
pacchetti in transito DA internet PER una lan interna, li filtra anche DA
internet PER il mio pc... giusto?).
Grazie, GenTLe
-- 
GenTLe ...di Varese, provincia.
TL1000S + Mito 125 per la pista
La mia HP: 
http://digilander.iol.it/thegentle/index.htm
The security business can be scary. If you are the firewall manager, watch
your back.

 Grazie, GenTLe
Prego. roberto
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 una configurazione di base senza forwarding.
Sto giocherellando un po' apposta :-) Certo che non è proprio una cosa
semplice :-/


 CUT
Ecco ad esempio una cosa che non capisco: con il tuo filtro tutte le
connessioni in entrata dall'esterno che non siano delle porte che hai
lasciato aperte vengono droppate, giusto?
A questo punto come fai tu a leggere le news (porta 119) o a navigare sul
web (80)? Nel senso che tu, avendo l'OUTPUT aperto mandi le richieste, ma
queste non vengono filtrate al ritorno?
Oggi ho provato per esempio, pur lasciando la politica della chain INPUT a
"ACCEPT", a inserire queste tre semplici regole:
#mi consente la ricezione di documenti web e nntp
iptables -A INPUT -p TCP --destination-port 80 -j ACCEPT
iptables -A INPUT -p TCP --destination-port 119 -j ACCEPT
#blocca tutto il resto del traffico col trasporto TCP proveniente da fuori
iptables -A INPUT -p TCP -s ! 
192.168.0.0/24
 -j DROP
Se segavo una delle prime due righe perdevo l'accesso al servizio richiesto,
perché automaticamente la terza riga mi segava qualunque cosa arrivasse
dall'esterno.
Come può funzionare quindi la tua configurazione (a meno che usi quella
macchina solo per quelle 4 porte, s'intende)?
Thanks, GenTLe


 Ne ho solo una (di macchina) ;-)
Rileggendo il pezzo della DMZ: non ho capito che intendi: posto che il mio
routerino è un banale HM220DP
(
http://spazioinwind.libero.it/zaccasoft/3hm220dp4all/main.htm
) con una
sola porta ethernet, la DMZ non richiederebbe una 3a macchina con tre
schede di rete che faccia da firewall con una eth dedicata alla dmz?
Una per lavorare, una che fa da firewall con 3 eth e una (a questo punto
inutile) in DMZ, che potrebbe ipoteticamente essere un web server, ad
esempio.


 iptables -A INPUT -p TCP -s ! 
192.168.0.0/24
 -j DROP
Scritte così le regole non funzionano perché TCP va scritto in minuscolo.
In ogni caso queste regole andrebbero bene se tu fossi il server Web e
nntp, non se tu sei il client.
Secondo quanto detto prima, la porta di destinazione è quella indicata
nel primo pacchetto con il SYN, e nel tuo caso, avendo la regola
sull'INPUT, un pacchetto diretto a te con la flag SYN attiva e con la
porta destinazione 80 corrisponderebbe ad una richiesta Web fatta *al*
tuo client, non *dal* tuo client.
-- 
Flavio Visentin
Membro del CICAP
Comitato Italiano per il Controllo delle Affermazioni di P4

 in modo che questo possa fare "come se non ci fosse il router".
Non proprio :-) Dipende dalle tabelle di routing che ci hai messo dentro.
Di suo il mio routerino fa solo un ip masquerading (che chiama
impropriamente NAT), ovvero piglia i pacchetti che gli arrivano
rispettivamente da host1, host2 ecc, li incapsula dentro un pacchetto che
ha come indirizzo sorgente il suo indirizzo pubblico, e li spara su
internet.
Quando arriva la risposta li "rispacchetta" e li invia all'indirizzo
dell'host da cui era partita la risposta.
Su altri router, se vuoi, fai anche oltre, ovvero a seconda delle richieste
che gli arrivano mandi i pacchetti a determinati host predefiniti, ma non
sul mio.
Un firewall dotato di DMZ ha una porta esterna e due interne tutte su reti
differenti. Chiamiamo ad esempio E la rete pubblica esterna, I quella della
lan interna e D quella della DMZ.
A quel punto setti le regole del firewall affinché tutte le richieste che
arrivano da E vadano solo e soltanto sulla rete D (magari filtrandole
anche), dove per esempio hai un web server, poi setti che niente può
passare da E a I, e setti (stando attento a quello che si fa) che ci
possano essere comunicazioni tra I e D, così da rendere raggiungibile D
dalla rete interna.
Una roba del genere insomma:
http://network.silverfoil.co.uk/images/sb-dmz.gif


 aprirai mai delle porte su internet...
Mumble... Mi sa che ho capito...
Se dall'esterno arrivano nuove connessioni (che siano perché ho un server
web, piuttosto che aMule acceso), esse arrivano sull'ip dell'interfaccia
esterna.
Quindi se il router non sa che queste nuove connessioni le deve forwardare
al mio indirizzo interno (e non lo sa perché le richieste arrivano con le
informazioni solo dell'indirizzo esterno e delle porte richieste), io sono
di fatto isolato (tranne quando quello che arriva dall'esterno al router
sono risposte di mie richieste, che quindi hanno al loro interno anche il
mio IP)
Giusto?


 ti va di sperimentare vale la pena di comprarne uno nuovo...
Già. Hai mica qualche prodotto da consigliarmi (tipo il tuo netgear) che tu
hai già usato?
Grazie :-)


 da firenze è qui che ti aspetta ad una cifra irrisoria =)
Sarà dura che passi di li ;-)
Grazie per i consigli.
L'equivalente del mio ciofechino è questo:
http://www.netgear.com/products/details/DG632.php


 iptables -A INPUT -i lo -j ACCEPT
A che serve questo?


 
A fare in modo che il sistema si senta bene, quando si parla.
Altrimenti non si sentirebbe proprio.
Non e' [solo] una battuta.
Ci sono parecchi programmi che comunicano tramite l'interfaccia di
loopback.


 loopback.
Ecco appunto, era questo che non mi tornava. Se ci sono sti programmi allora
"sistemo". Qualche esempio?


 
Quello che sto usando adesso, ad esempio.
Legge e posta verso la porta 119 dove ascolta leafnode.
