Newsgroup: it.comp.os.linux.sys
Titolo: ftp passivi e firewall.

Salve.
Ho due macchine linux debian in rete locale.
In una ho installato il proxy gateway jftpgw che ascolta sulla porta 2370.
Attraverso questo ftp gateway posso collegarmi ai siti ftp per fare download e
upload.
Es. host1 e' direttamente collegato ad internet e ha l'ftp gateway installato.
Host2 non e' collegato ad internet, se vuole uscire deve passare per host1.
Quindi per collegarmi ai siti ftp faccio:
ftp host1 2370, al prompt do anonymous@sitoftp, password e sono dentro.
Ho notato che alcuni siti ftp richiedono esplicitamente di usare il passive
mode.
Andiamo al problema.
Nella macchina host2, quella non collegata ad internet, ho configurato alcune
regole iptables tra cui:
iptables -A INPUT -i eth0 -p tcp -s host1 --sport 2370 -m state --state
NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp -d host1 --dport 2370 -m state --state
ESTABLISHED.
La politica delle tre chain di default e' impostata a DROP.
In questo modo pero' se mi collego a siti ftp che richiedono il passive mode
non riesco a scaricare.
Se tolgo tale regola e imposto la politica delle tre chain di default ad
ACCEPT tutto funziona regolarmente.
Cosa andrebbe modificato con iptables?
Grazie.

 [..]


 
Ti posto le regole relative all'ftp che ho configurato con iptables:
# FTP (in uscita)
iptables -A INPUT -i ppp0 -p tcp --sport 21 -m state --state ESTABLISHED 
-jACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 21 -m state --state 
NEW,ESTABLISHED -j ACCEPT
# FTP attivo
iptables -A INPUT -i ppp0 -p tcp --sport 20 -m state --state 
ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 20 -m state --state ESTABLISHED
 -j ACCEPT
# FTP passivo
iptables -A INPUT -i ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m 
state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m 
state --state ESTABLISHED,RELATED -j ACCEPT
Uso debian woody con dselect com interfaccia ad apt.
Per aggiornare il sistema lo lancio ogni tanto, si collega al sito 
ftp.us.debian.org
 ma quando tenta di scaricare si blocca.
Non riesco a risolvere.

 Il resto non serve.
Ci avevo gia' provato e ci ho riprovato:
iptables -A INPUT -i ppp0 -p tcp --sport 21 -m state --state 
ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 21 -m state --state 
NEW,ESTABLISHED -j ACCEPT
Continua a non funzionare, non fa la GET dai siti ftp citati.

>21 lo stato RELATED.
No... ma non vi dico perchè...
(Buaaahahahahahahahhhh!!!!)
-- 
Emanuele Balla aka Skull
-----------------------------------------------------------------------
Besides, I think [Slackware] sounds better than 'Microsoft', don't you?
(By Patrick Volkerding)

 Continua a non funzionare, non fa la GET dai siti ftp citati.
vabbč... suvvia... dalla prima prova un po' togliere quel match sulla 
source-port... e se hai la output impostata a drop aggiungi una regola 
per far uscire le related e le established, senza specificare porte...
vedi un po' se 'sto schema ti fa capire il perchč:
http://slacksite.com/other/ftp.html#passive
Byez e bbbbona cena... specialmente a davide e le frikandel...


 
Allora, a dire il vero ho iniziato da pochissimo tempo a smanettare con 
iptables.
Dunque io ho:
iptables -A INPUT -i ppp0 -p tcp --sport 21 -m state --state ESTABLISHED -j 
ACCE
PT
iptables -A OUTPUT -o ppp0 -p tcp --dport 21 -m state --state 
NEW,ESTABLISHED -j
 ACCEPT
che mi autorizza per la prima connessione al server ed infatti la 
connessione avviene con successo.
Poi:
iptables -A INPUT -i ppp0 -p tcp --sport 20 -m state --state 
ESTABLISHED,RELATED
 -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 20 -m state --state 
ESTABLISHED,RELATED -j ACCEPT
per gli ftp attivi e:
iptables -A INPUT -i ppp0 -p tcp --sport 1024:65535 -m state --state 
ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --dport 1024:65535 -m state --state 
ESTABLISHED,RELATED -j ACCEPT
per gli ftp passivi.
Pero' non funziona.
Cosa manca?

 Cosa manca?
Hai caricato i moduli kernel modprobe ip_conntrack modprobe ip_conntrack_ftp?
/Gianluca

Gianluca wrote:

Si li ho caricati.
Ho risolto aggiungendo all'ultima regola il tipo NEW che quindi diventa:
iptables -A INPUT -i ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m 
state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ppp0 -p tcp --sport 1024:65535 --dport 1024:65535 -m 
state --state NEW,ESTABLISHED,RELATED -j ACCEPT.
Forse il RELATED si puo' anche togliere.
Ora funziona solo che non ho capito perche' :-(