Newsgroup: it.comp.os.linux.sys
Titolo: Ipchains... sto per lasciare perdere...

Ciao a tutti
sulla scorta delle preziose informazioni carpite sul NG ho scritto il
file /etc/sysconfig/ipchains (vedi sotto) per proteggere il mio server
web/mail/ftp , ma a parte il web e l' ssh non
gira niente.... ho provato a sniffare il traffico sia sulla secheda di rete
del client che richiede la posta, sia sul server che riceve la richiesta (su
cui gira ipchains) e come mi aspettavo c'č un dialogo tra la porta 110 del
servente e una porta >1024 del cliente...
Cosa sbaglio stavolta ?
(la macchina di cui sopra ha 1 scheda lan, e fa da server su rete pubblica
per il web, posta, ftp,)
E' molto importante...
Grazie tante !!!
Natra
--------------------------------------------------
:input DENY
:forward DENY
:output ACCEPT
-A input -p icmp -j ACCEPT
# Abilito la porta dell' FTP a chiunque
-A input -p tcp -s 0/0 -d 0/0 21 -j ACCEPT
# Abilito la porta dell SMTP a tutti
-A input -p tcp -s 0/0 -d 0/0 25 -j ACCEPT
# Abilito la porta dell POP3P a tutti
-A input -p tcp -s 0/0 -d 0/0 110 -j ACCEPT
# Abilito la porta HTTP a tutti
-A input -p tcp -s 0/0 -d 0/0 80 -j ACCEPT
# Abilito la porta ssh solo alle reti sicure
-A input -p tcp -s aaa.bbb.ccc.64/
255.255.255.240
 -d 0/0 22 -j ACCEPT
# Abilito tutto il traffico dalla macchina locale
-A input -s 0/0 -d 0/0 -i lo -j ACCEPT
# Abilito tutto il traffico dalla intranet aziendale
-A input -s aaa.bbb.ccc.64/
255.255.255.240
 -d 0/0 -p tcp -j ACCEPT
-A output -s 0/0 -d 0/0 -j ACCEPT

 gira niente.... 
Vedi sull'IP-CHAINS-HOWTO, c'e' una serie di regole gia' fatte piu'
o meno per una situazione analoga.
Davide

-A output -s 0/0 -d 0/0 -j ACCEPT
Equivale a stabilire la policy della chain di output ad accept per
tutti, se non mi sbaglio.
-- 
Massimo Bacilieri AKA Crononauta
"Se tieni il pugno chiuso, non potrai mai prendere niente. Solo se tendi
il palmo aperto, potrai possedere il mondo." (da "La Tigre e il Dragone")

on Tue, 22 Oct 2002 12:58:14 +0200 Natra wrote:
prova ad aggiungere (in fondo eh... che senno' blocca tutto)
ipchains -A input -i $EXT_IF -p tcp -j DENY -l
ipchains -A input  -i $EXT_IF -p udp -j DENY -l
ipchains -A output -i $EXT_IF -j REJECT -l
dove al posto di $EXT_IF ci metti la tua interfaccia esterna (!)
(ppp0, per esempio, se hai un modem)
(!) approposito com'e' che nelle tue regole non specifichi
l'interfaccia su cui vuoi funzionino? hai permesso tutto a
localhost? e alla rete interna (se c'e')? cosi' a naso (ho il
raffreddore...) mi pare strano possa funzionare senza
specificare cosa puo fare locahost (tutto), la rete interna (se
c'e') e l'interfaccia esterna.
nel log di sistema vedrai tutti i tentativi (mancano gli icmp,
ma non credo ti servano) falliti, magari riesci a capire cosa ti
blocca. (ah, anche ipchain -L da root e riga di comando puo'
darti qualche spunto)
Per ultimo cerca 
www.mrshark.com
 (credo) mi sembra ci sia uno
script ben commentato. (e tante altre utili cose)
-- 
nebbia

 ha scritto nel messaggio
news:ap3qie$f62$1...@ciemme.it...


L=156 S=0x00 I=12351 F=0x4000 T=251 (#13)
Intanto IL QUOTING, perdìo. Si risponde DOPO il vecchio messaggio, in
maniera da rispettare l'ordine cronologico. E poi si tagliano le parti
superflue.
Detto questo, se non permetti al tuo computer di ricevere i dati dal
nameserver al quale ha richiesto la risoluzione dei nomi in indirizzi,
secondo me di connessioni ne fai poche...


 secondo me di connessioni ne fai poche...
Ma la riga di log lassù non vuol dire che la porta 33498 del mio server web
chiede una connessione (o scambio di pacchetti) alla 53 del DNS.
Perchè se così fosse non mi spiego il motivo per cui non riescono ad uscire
visto ch la policy di def. della catena output è ACCEPT e non esistono
restrizioni di alcun tipo sulla stessa catena.
Detto questo, ti ringrazio.
Natra

restrizioni di alcun tipo sulla stessa catena.
Il punto e' che quei pacchetti non devono uscire, ma entrare. Infatti
nel log il DENY e' su un pacchetto in input. Il discorso e' che tu
chiedi una cosa al DNS ma non lo ascolti quando ti vuole rispondere :)
Devi accettare il traffico in ingresso dal DNS (volendo anche solo i
pacchetti senza SYN).

pacchetti senza SYN).
per essere più pratici, fai conto che 12.34.56.78 sia l'ip del
nameserver del tuo provider:
ipchains -A input -s 12.34.56.78 --source-port 53 -i ppp+ -j ACCEPT
(se hai un ip dinamico. Se ce l'hai fisso, posto che sia 
12.34.56.1
:)
ipchains -A input -s 12.34.56.78 --source-port 53 -d 12.34.56.1 -j
ACCEPT
Naturalmente, questo rule vuole PRIMA di quello che chiude tutto il
resto in ingresso.
