Newsgroup: it.comp.os.linux.sys
Titolo: iptables e ftp

Salve a tutti,
Ho un problema con iptables e ftp in rete locale :
senza firewall non ho problemi ad usare ftp, ma appena lancio
il mio script di iptables l'ftp diventa lentissimo gia' dal login.
La mia rete locale č composta da due pc, linux e win98,
la connessione ad internet e' adsl.
Lo script č il seguente:
#!/bin/bash
#Enable bad error message protection
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
#Disable ICMP Redirect Acceptance
for f in /proc/sys/net/ipv4/conf/*/accept_redirects; do
echo 0 > $f
Done
#Disable Source Routed Packet
for f in /proc/sys/net/ipv4/conf/*/accept_source_route; do
echo 0 > $f
done
#SYN flood protection
echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#NO icmp broadcast
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#Source address verification
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 > $f
done
#Log spoofed packets, source routed packets, redirect packets.
echo 1 > /proc/sys/net/ipv4/conf/all/log_martians
#Variabili
IPT="/usr/local/sbin/iptables"
#Flush Rule
$IPT -F INPUT
$IPT -F OUTPUT
$IPT -F FORWARD
$IPT -F -t nat
#Set Policies
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP
#Ip masquerading
$IPT -t nat -A POSTROUTING -s 
192.168.1.2/32
 -o ppp0 -j MASQUERADE
#local loopback
$IPT -A INPUT -i lo -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
#--------------------------------------------------
# RETE ESTERNA INTERNET (PPP0)
#--------------------------------------------------
#Connessioni iniziate da qui, solo su porte > 1023
$IPT -A INPUT -i ppp0 -p tcp ! --syn --dport 1024:65535 -m state --state
ESTABLISHED,RELATED -j ACCEPT
#Traffico da scartare
$IPT -A INPUT -i ppp0 -s 
127.0.0.0/8
 -j DROP
$IPT -A INPUT -i ppp0 -s 
10.0.0.0/8
 -j DROP
$IPT -A INPUT -i ppp0 -s 
255.255.255.255/32
 -j DROP
$IPT -A INPUT -i ppp0 -s 
224.0.0.0/4
 -j DROP
$IPT -A INPUT -i ppp0 -s 
240.0.0.0/5
 -j DROP
$IPT -A INPUT -i ppp0 -s 
248.0.0.0/5
 -j DROP
$IPT -A INPUT -i ppp0 -s 
192.168.100.1/32
 -d 
224.0.0.1/32
 -j DROP
#Forwarding
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state NEW -i ! ppp0 -j ACCEPT
#Client ftp e dns
$IPT -A INPUT -i ppp0 -p tcp --sport 20 --dport 1024:65535 -j ACCEPT
$IPT -A INPUT -i ppp0 -p udp --sport 53 --dport 1024:65535 -j ACCEPT
#Irc client
$IPT -A INPUT -i ppp0 -p tcp --sport 6666:7000 -j ACCEPT
$IPT -A INPUT -i ppp0 -p udp --sport 6666:7000 -j ACCEPT
#NO ICMP Echo-Request
$IPT -A INPUT -i ppp0 -p icmp --icmp-type ! echo-request -j ACCEPT
#Logga tutto il resto
$IPT -A INPUT -i ppp0 -m limit --limit 15/minute -j LOG --log-level
notice --log-prefix "---ppp0 non autorizzato---"
#--------------------------------------------------
#RETE LOCALE
#--------------------------------------------------
#Server SSH da eth1
$IPT -A INPUT -i eth1 -p tcp -s 
192.168.1.2/32
 -d 
192.168.1.1/32
 --dport
40232 -j ACCEPT
#Server Ftp da eth1
$IPT -A INPUT -i eth1 -p tcp -s 
192.168.1.2/32
 -d 
192.168.1.1/32
 --dport
21 -j ACCEPT
$IPT -A INPUT -i eth1 -p tcp -s 
192.168.1.2/32
 -d 
192.168.1.1/32
 --dport
49152:65534 -j ACCEPT

 il mio script di iptables l'ftp diventa lentissimo gia' dal login.
Hai provato a caricare i moduli ip_conntrack_ftp e ip_nat_ftp?
--
Alessandro Staltari
staltari(a)
geocities.com

 Hai provato a caricare i moduli ip_conntrack_ftp e ip_nat_ftp?
Ho un kernel monolitico (ver 2.4.18) ho attivato nel menu,
Networking options - Ip Netfilter Configuration tutte le voci
eccetto "Redirect target support" , "Nat of Local connection" ,
"DSCP target support" , "Ulog target support".
Mi sai dire dove trovare maggiori info su tutte le funzioni attivabili
nel menu "ip netfilter configuration" ? Quelle che ci sono nell' help
sono molto stringate......
Tra tutte le voci che ho attivato ci sono "Connection Tracking"
per ftp e irc.
Pero' il problema resta.........
E come se il servizio aspetti una richiesta e poi vada in timeout.

> E come se il servizio aspetti una richiesta e poi vada in timeout.
esatto si aspetta la richiesta identd (porta 113)
io di solito sui server la tengo aperta e monto un fake identd che 
rispondono nobody a qualsiasi richiesta (utile in caso di masquerading)


Ma questo quando accade? Colegandoti da quale macchina a quale macchina? Il
ritardo ce l'hai solo al login o sempre? Non c'e niente nei log? Perche' usi
eth1 e non eth0?
Alessandro.

 rispondono nobody a qualsiasi richiesta (utile in caso di masquerading)
E dove l'hai trovato?
Alessandro.

 rispondono nobody a qualsiasi richiesta (utile in caso di masquerading)
Fake identd .............
Perche' non quello reale ?
Per paura di attacchi ?

 eth1 e non eth0?
win98 + eth0 ----  eth1 + server linux + eth0 + ppp0 ----- internet
da win 98 al server linux usare ftp e tremendamente lento sempre.


Strano. E su server estreni? E se cambi i DROP in REJECT?
Alessandro.

 Per paura di attacchi ?
per il fatto che se da un client fai ftp qualsiasi ip, il server ftp fa 
richiesta identd alla box che fa da router, ma quella non sa che pesci 
pigliare indi non sa cosa rispondere (e la connessione ci mette molto di 
più che con un fake identd che risponde sempre e in ogni caso nobody)

 Alessandro.
su freshmeat cerca identd, ne trovi uno che mi pare si chiama proprio fake 
identd... 
http://qualcosa/identd.c
ciauz

 $IPT -A INPUT -i ppp0 -p udp --sport 6666:7000 -j ACCEPT
non ti sembrano superflue (e pericolose) queste?
-- 
Cercasi signature

 non ti sembrano superflue (e pericolose) queste?
Ehm se non attivo le prime due non mi funge il dns e l'ftp client........
Siccome devo anche usare irc......
Mi potresti dare qualche soluzione secondo te piu' sicura?

 Strano. E su server estreni? E se cambi i DROP in REJECT?
Su server esterni no problem, funziona benissimo.
Dici di cambiare tutti i drop in reject.......uhm
Non so se sia una buona scelta.....

 ha scritto nel messaggio
news:a8n7if$h6k$1...@lacerta.tiscalinet.it...

Pero' non capisco come mai se da un client gestisco un server ftp esterno
non ho problemi mentre i problemi sorgono solo con l'ftp della linux box....
Cmq provero' il fake identd.
Grazie.


E' solo per vedere se cambia qualcosa e capire meglio il problema.
Alessandro

 il mio script di iptables l'ftp diventa lentissimo gia' dal login.
Questo avviene perche`  il server ti contatta sulla porta  ident (113) e
si mette in attesa di una risposta. Visto che hai messo tutto in drop il
server prova 3/4  volte ad intervalli sempre piu`  lunghi, quindi inizia
la  procedura di  login. Per  risolvere il  problema  metti REJECT  come
target  dei pacchetti  diretti sulla  113. In questo  modo il  server si
convincera` che il servizio non e` disponibile e desistera`.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
It can't rain forever,
but you can die before seeing the sun again.


Oppure ACCEPT almeno per le macchine locali:
$IPT -A INPUT -i eth1 -p tcp -s 
192.168.1.2/32
 -d 
192.168.1.1/32
 --dport
113 -j ACCEPT
--
Alessandro Staltari
staltari(a)
geocities.com

 113 -j ACCEPT
Ho provato ma nulla la lentezza persiste.......
Non riesco a risolvere il problema neanche attivando il demone auth.
Se disabilito il firewall funziona tutto.