Newsgroup: it.comp.os.linux.sys
Titolo: [Iptables] FTPD passivo

Ciao!
Vorrei sapere come impostereste un firewall con funzionalita':
- packet filter
- stateful inspection
per "lasciare passare" le comunicazioni relative al servizio FTP di un
demone FTPD (come wu-ftpd) in passive-mode.
Il problema e' che una configurazione (sintassi IPTABLES) come la
seguente va bene in modalita' attiva (porta 20 per il traffico data) ma
non per quella passiva (il servizio cosi' non puo' funzionare):
iptables -A FORWARD -s $Rete1 -d $Server -p tcp --dport 21 -j ACCEPT 
iptables -A FORWARD -s $Rete1 -d $Serser -p tcp--dport 20 -j ACCEPT
iptables -A FORWARD -s $Server -d $Rete1 -p tcp -j ACCEPT
(Naturalmente l'ultima regola e' solo per esempio "molto permissiva" ) 
La modalita' attiva si puo' sintetizzare in:
1) client-->server: PASV
2) server-->client: "OK NUM PORT"
3) client-->server: "DATA CHANNEL ON NUM PORT"
4) server-->client: "TCP ACK"
IL problema e' il punto 3): il client apre una connessione (SYN) al
server su una porta RANDOM >1023 --> deve lasciare aperte sul server
tutte le porte > 1023...e quindi cosa ci metto a fare un firewall?!?!?!
Chiaritemi vuoi la situazione! :)
Vi ringrazio
-- 
Roar! By Polar 
Dedicato a chi insegue un sogno nella vita.
Ai tenaci, ai testardi e agli ostinati.   
A chi cade e si rialza, a chi ci prova sempre e a chi non molla mai.

 
cerca un pò qualcosa riguardo ai pacchetti RELATED e ESTABLISHED
-- 
+-------
| Paolo opg
|
| janickg ( at ) hotmail ( dot ) com
| (fake address in reply-to field!)
+-------

 (Naturalmente l'ultima regola e' solo per esempio "molto permissiva" ) 
IMHO dovrebbe bastare:
iptables -A FORWARD -s $Rete1 -d $Server -p tcp --dport 21 -m state \
	--state ESTABLISHED,RELATED -j ACCEPT
Ovviamente se  il traffico  di ritorno puo`  gia` passare, se  no devi
aprire pure quello.
Non dovrebbe centrare se attivo o se passivo, la porta di dati e`
comunque RELATED alla connessione che e` gia` ESTABLISHED.
Ah,  il  modulo ip_conntrack_ftp  deve  essere  caricato (o  compilato
staticamente).
HTH, ciao
-- 
Vuoi fare colpo su di lei con me?
Fai colpo su di lei con me! Fai colpo su di lei con me!
[Dr. Gonzo : Paura e delirio a Las Vegas]

 Vorrei sapere come impostereste un firewall con funzionalita':
[snip]
mi sa che hai invertito passiva/attiva
cmq dovrebbero servire i moduli ip_conntrack_ftp (ed ip_nat_ftp se usi nat)
HTH

comunque RELATED alla connessione che e` gia` ESTABLISHED.
Mi potresti spiegare brevemente cosa si intende per RELATED in Iptables?
Grazie :)


 Mi potresti spiegare brevemente cosa si intende per RELATED in Iptables?
In  parole povere  qualcosa  che  e` legato  alla  connessione ma  per
qualche motivo non puo` essere classificato ESTABLISHED perche` non fa
parte dello stesso flusso tcp.
Provo a spiegarmi  meglio con qualche esempio (dei  pochi che conosco,
sicuramente ce ne  saranno di piu`, sarebbe da  leggere i sorgenti dei
vari ip_conntrack_*):
Uno che hai appena visto e` l'ftp.  Uno si connette alla tua porta 21,
e  dopo aver  fatto il  tradizionale  handshake e  aver stabilito  una
connessione  ESTABLISHED sulla  21  (lo vedi  da  netstat) iniziano  a
scambiarsi  i   dati  su  un'altra   porta,  la  20  oppure   una  non
privilegiata.   Quest'ultima connessione  (che in  realta` non  ha ne`
nessun  handshake, presumo)  e`  ESTABLISHED, proprio  perche` non  ha
fatto hanshake, ma comunque viene considerata RELATED.
Un'altro esempio: mi  connetto in irc e vedo il mio  nome di fianco al
mio ip e mi chiedo: "come  diavolo avra` fatto a fare una richiesta al
mio server identd visto che la 113 e` chiusa al mondo?"  Ecco, potenza
del RELATED.
Un ultimo  esempio e` sugli icmp:  mando un pacchetto  verso una porta
udp chiusa e mi torna un icmp port unreachable, riesce ad entrare solo
perche` accetto traffico related.
Spero che ora ti sia piu` chiaro :-)


 roars:
[cut]
Grazie, sei stato chiarissimo! :)
