Re: Redireccion FTP

2006-01-25 Por tema velkro
iñaki,
que buen dato que tiraste. nunca me habia fijado en eso. igualmente, tambien 
luche con este tema, pero como en mi caso no tiene solucion y como es para 
uso personal, reemplaze el ftp por ssh (scp, etc). digo que no tiene 
solucion, porque yo en el trabajo estoy detras de un equipo que hace nat, y 
en mi casa hago port-forwarding.

igualmente le recomiendo a todo aquel que se quiera meter a fondo con este 
tema, un muy buen articulo del libro: 'SSH, The Secure Shell: The Definitive 
Guide', capitulo '11.2. FTP Forwarding'.

yo tengo las hojas impresas desde esta ubicacion la cual no existe mas:
http://www.hn.edu.cn/book/network/networkingbookshelf_2nded/ssh/ch11_02.htm

saludos, velkro.

- Original Message - 
From: "Iñaki" <[EMAIL PROTECTED]>
To: 
Sent: Monday, January 23, 2006 2:55 PM
Subject: Re: Redireccion FTP


El Lunes, 23 de Enero de 2006 18:34, Listas escribió:
> Lo quiero redirigir porque el 21 lo tengo ocupado ya,
> Un saludo.

Me temo que lo que pretendes no tiene solución. El protocolo FTP al igual 
que
muchos otros es una caca pues obliga al kernel a husmear en los paquetes 
para
detectar qué puerto de está negociando de cara a la transmisión de datos por
FTP y permitir entonces el acceso a través de ese puerto.

Para ello se emplea el módulo "ip_contrack_ftp" que hace precisamente lo
anterior y permite que se negocie un puerto para los datos y que Iptables
permita la entrada de los paquetes por ese puerto, y además está el
ip_nat_ftp que permite que el servidor FTP esté en otra máquina.

El problema es que dicho módulo está programado para funcionar por los 
puertos
estándar del FTP, de hecho pego una parte de su código:



#> /usr/src/linux/include/linux/netfilter_ipv4 $ head -50 
ip_conntrack_ftp.h


#ifndef _IP_CONNTRACK_FTP_H
#define _IP_CONNTRACK_FTP_H
/* FTP tracking. */

#ifdef __KERNEL__

#define FTP_PORT21  < OJO

#endif /* __KERNEL__ */

enum ip_ct_ftp_type
{
/* PORT command from client */
IP_CT_FTP_PORT,
/* PASV response from server */
IP_CT_FTP_PASV,
/* EPRT command from client */
IP_CT_FTP_EPRT,
/* EPSV response from server */
IP_CT_FTP_EPSV,
};



Como puedes ver existe una variable global  FTP_PORT con valor 21. Así pues
dudo que este módulo (necesario cuando hay un firewall por medio) funcione 
si
usas un puerto diferente al 21 para FTP. La negociación del puerto de datos
se hará por otro puerto distinto al 21 porque así lo pretendes por lo que
seguro que este módulo no funciona y Iptables es incapaz de comprender las
comunicaciones FTP con el otro puerto.


Ojalá alguien mande al carajo mi teoría.


Saludos.



-- 
y hasta aquí puedo leer... 






___ 
1GB gratis, Antivirus y Antispam 
Correo Yahoo!, el mejor correo web del mundo 
http://correo.yahoo.com.ar 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



RE: Redireccion FTP

2006-01-23 Por tema Listas
Pues si, ojala, ya he encontrado otra solucion a traves de otro servidor,
pero la verdad es que me gustaria saber si puede hacerse o no de todas
formas.
Muchas gracias.

-Mensaje original-
De: Iñaki [mailto:[EMAIL PROTECTED] 
Enviado el: lunes, 23 de enero de 2006 18:56
Para: debian-user-spanish@lists.debian.org
Asunto: Re: Redireccion FTP

El Lunes, 23 de Enero de 2006 18:34, Listas escribió:
> Lo quiero redirigir porque el 21 lo tengo ocupado ya, Un saludo.

Me temo que lo que pretendes no tiene solución. El protocolo FTP al igual
que muchos otros es una caca pues obliga al kernel a husmear en los paquetes
para detectar qué puerto de está negociando de cara a la transmisión de
datos por FTP y permitir entonces el acceso a través de ese puerto.

Para ello se emplea el módulo "ip_contrack_ftp" que hace precisamente lo
anterior y permite que se negocie un puerto para los datos y que Iptables
permita la entrada de los paquetes por ese puerto, y además está el
ip_nat_ftp que permite que el servidor FTP esté en otra máquina.

El problema es que dicho módulo está programado para funcionar por los
puertos estándar del FTP, de hecho pego una parte de su código:

 

#> /usr/src/linux/include/linux/netfilter_ipv4 $ head -50
ip_conntrack_ftp.h



#ifndef _IP_CONNTRACK_FTP_H
#define _IP_CONNTRACK_FTP_H
/* FTP tracking. */

#ifdef __KERNEL__

#define FTP_PORT21  < OJO

#endif /* __KERNEL__ */

enum ip_ct_ftp_type
{
/* PORT command from client */
IP_CT_FTP_PORT,
/* PASV response from server */
IP_CT_FTP_PASV,
/* EPRT command from client */
IP_CT_FTP_EPRT,
/* EPSV response from server */
IP_CT_FTP_EPSV,
};




Como puedes ver existe una variable global  FTP_PORT con valor 21. Así pues
dudo que este módulo (necesario cuando hay un firewall por medio) funcione
si usas un puerto diferente al 21 para FTP. La negociación del puerto de
datos se hará por otro puerto distinto al 21 porque así lo pretendes por lo
que seguro que este módulo no funciona y Iptables es incapaz de comprender
las comunicaciones FTP con el otro puerto.


Ojalá alguien mande al carajo mi teoría.


Saludos.



--
y hasta aquí puedo leer...



Re: Redireccion FTP

2006-01-23 Por tema Iñaki
El Lunes, 23 de Enero de 2006 18:34, Listas escribió:
> Lo quiero redirigir porque el 21 lo tengo ocupado ya,
> Un saludo.

Me temo que lo que pretendes no tiene solución. El protocolo FTP al igual que 
muchos otros es una caca pues obliga al kernel a husmear en los paquetes para 
detectar qué puerto de está negociando de cara a la transmisión de datos por 
FTP y permitir entonces el acceso a través de ese puerto.

Para ello se emplea el módulo "ip_contrack_ftp" que hace precisamente lo 
anterior y permite que se negocie un puerto para los datos y que Iptables 
permita la entrada de los paquetes por ese puerto, y además está el 
ip_nat_ftp que permite que el servidor FTP esté en otra máquina.

El problema es que dicho módulo está programado para funcionar por los puertos 
estándar del FTP, de hecho pego una parte de su código:

 

#> /usr/src/linux/include/linux/netfilter_ipv4 $ head -50  ip_conntrack_ftp.h


#ifndef _IP_CONNTRACK_FTP_H
#define _IP_CONNTRACK_FTP_H
/* FTP tracking. */

#ifdef __KERNEL__

#define FTP_PORT21  < OJO

#endif /* __KERNEL__ */

enum ip_ct_ftp_type
{
/* PORT command from client */
IP_CT_FTP_PORT,
/* PASV response from server */
IP_CT_FTP_PASV,
/* EPRT command from client */
IP_CT_FTP_EPRT,
/* EPSV response from server */
IP_CT_FTP_EPSV,
};



Como puedes ver existe una variable global  FTP_PORT con valor 21. Así pues 
dudo que este módulo (necesario cuando hay un firewall por medio) funcione si 
usas un puerto diferente al 21 para FTP. La negociación del puerto de datos 
se hará por otro puerto distinto al 21 porque así lo pretendes por lo que 
seguro que este módulo no funciona y Iptables es incapaz de comprender las 
comunicaciones FTP con el otro puerto.


Ojalá alguien mande al carajo mi teoría.


Saludos.



-- 
y hasta aquí puedo leer...



RE: Redireccion FTP

2006-01-23 Por tema Listas
 Pues entonces debe de ser lo de los puertos seguidos, gracias, en cuanto lo
pruebe os comento si funciona.

-Mensaje original-
De: Pedro M. López [mailto:[EMAIL PROTECTED] 
Enviado el: viernes, 20 de enero de 2006 10:11
Para: debian-user-spanish@lists.debian.org
Asunto: Re: Redireccion FTP

El Viernes, 20 de Enero de 2006 09:39, Listas escribió:
> Si lo que quieres es redirigir las peticiones que te lleguen al puerto 
> 31 (y supongo, que por tanto también al 32) y redirigirtelas a ti 
> mismo al 21 y 22, sería en el prerouting supongo.
> algo así como (no está probado)
> iptables -A PREROUTING -p tcp --dport 31 -j DNAT --to-destination
> 127.0.0.1:21 iptables -A PREROUTING -p tcp --dport 32 -j DNAT 
> --to-destination 127.0.0.1:22
>
> --
>
> ¿Por qué 31 y 32 para 21 y 22? Yo lo que he abierto es el 20 y el 31 
> redirigido al 21, ¿deberia redirigir el 20 al 30? El 22 es ssh, 
> supongo que ha sido un lapsus ¿no?

Perdona, tienes razón... Esto del catarro me está liando :-)

Veamos si me aclaro, tienes un ftp (puertos 20 y 21) Que quieres que te
aparezca en el firewall??

De todas formas el sistema es el que te he puesto (aunque con los puertos
liados).

En el prerouting tomas el paquete con el puerto que esperas, y lo rediriges
al puerto interno que quieras iptables -A PREROUTING -p tcp --dport
$PUERTO_FIREWALL -j DNAT --to-destination $IP_DESTINO:$PUERTO_INTERNO Y con
eso ya puedes jugar.

Lo único que tengas en cuenta que creo que todos los clientes ftp esperan
que los puertos estén seguidos...



RE: Redireccion FTP

2006-01-23 Por tema Listas
Lo quiero redirigir porque el 21 lo tengo ocupado ya,
Un saludo. 

-Mensaje original-
De: Felipe Törnvall N. [mailto:[EMAIL PROTECTED] 
Enviado el: viernes, 20 de enero de 2006 9:49
Para: debian-user-spanish@lists.debian.org
Asunto: Re: Redireccion FTP

On Thursday 19 January 2006 08:04, Listas wrote:
> Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves 
> del
> 31 de la siguiente manera:
__
para que lo quieres redirigir? si es por cosa de seguridad no es lo mas
"optimo" pq = con nmap -P0 tudire = sale q esta abierto ahora esto que
estoy escribiendo es pq tengo esa duda y pienso que quieres cambiar el
puerto para eso... pq una vez q con nmap te hacen el nmap con el telnet te
sale el banner ... quizas estoy suponiendo demasiado




> $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
> 128.100.0.15:21
> la cuestion es que cuando intentan conectar, les deja validarse pero 
> una vez dentro cuando intentan moverse por ahi les dice "invalid port 
> comand", ¿el puerto ftp se debe redirigir de alguna manera especial? 
> es que no les funciona a partir de este cambio, hasta ahora habia 
> funcionado si problemas. Gracias, [EMAIL PROTECTED]



Re: Redireccion FTP

2006-01-20 Por tema Pedro M. López
El Viernes, 20 de Enero de 2006 09:39, Listas escribió:
> Si lo que quieres es redirigir las peticiones que te lleguen al puerto 31
> (y supongo, que por tanto también al 32) y redirigirtelas a ti mismo al 21
> y 22, sería en el prerouting supongo.
> algo así como (no está probado)
> iptables -A PREROUTING -p tcp --dport 31 -j DNAT --to-destination
> 127.0.0.1:21 iptables -A PREROUTING -p tcp --dport 32 -j DNAT
> --to-destination 127.0.0.1:22
>
> --
>
> ¿Por qué 31 y 32 para 21 y 22? Yo lo que he abierto es el 20 y el 31
> redirigido al 21, ¿deberia redirigir el 20 al 30? El 22 es ssh, supongo que
> ha sido un lapsus ¿no?

Perdona, tienes razón... Esto del catarro me está liando :-)

Veamos si me aclaro, tienes un ftp (puertos 20 y 21)
Que quieres que te aparezca en el firewall??

De todas formas el sistema es el que te he puesto (aunque con los puertos 
liados).

En el prerouting tomas el paquete con el puerto que esperas, y lo rediriges al 
puerto interno que quieras
iptables -A PREROUTING -p tcp --dport $PUERTO_FIREWALL -j DNAT 
--to-destination $IP_DESTINO:$PUERTO_INTERNO
Y con eso ya puedes jugar.

Lo único que tengas en cuenta que creo que todos los clientes ftp esperan que 
los puertos estén seguidos...



Re: Redireccion FTP

2006-01-20 Por tema Felipe Törnvall N.
On Thursday 19 January 2006 08:04, Listas wrote:
> Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
> 31 de la siguiente manera:
__
para que lo quieres redirigir? si es por cosa de seguridad no es lo mas 
"optimo" pq = con nmap -P0 tudire = sale q esta abierto ahora esto que 
estoy escribiendo es pq tengo esa duda y pienso que quieres cambiar el puerto 
para eso... pq una vez q con nmap te hacen el nmap con el telnet te sale el 
banner ... quizas estoy suponiendo demasiado




> $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
> 128.100.0.15:21
> la cuestion es que cuando intentan conectar, les deja validarse pero una
> vez dentro cuando intentan moverse por ahi les dice "invalid port comand",
> ¿el puerto ftp se debe redirigir de alguna manera especial? es que no les
> funciona a partir de este cambio, hasta ahora habia funcionado si
> problemas. Gracias,
> [EMAIL PROTECTED]


pgpN5NowIUxMu.pgp
Description: PGP signature


RE: Redireccion FTP

2006-01-20 Por tema Listas

Si lo que quieres es redirigir las peticiones que te lleguen al puerto 31 (y
supongo, que por tanto también al 32) y redirigirtelas a ti mismo al 21 y
22, sería en el prerouting supongo.
algo así como (no está probado)
iptables -A PREROUTING -p tcp --dport 31 -j DNAT --to-destination
127.0.0.1:21 iptables -A PREROUTING -p tcp --dport 32 -j DNAT
--to-destination 127.0.0.1:22

--

¿Por qué 31 y 32 para 21 y 22? Yo lo que he abierto es el 20 y el 31
redirigido al 21, ¿deberia redirigir el 20 al 30? El 22 es ssh, supongo que
ha sido un lapsus ¿no?



Re: Redireccion FTP

2006-01-19 Por tema Pedro M. López
El Jueves, 19 de Enero de 2006 16:27, Carlos Ferrabone escribió:
> El Jueves, 19 de Enero de 2006 09:43, Pedro M. López escribió:
> > El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
> > > El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
> > > > Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves
> > > > del 31 de la siguiente manera:
> > > > $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
> > > > 128.100.0.15:21
> > > > la cuestion es que cuando intentan conectar, les deja validarse pero
> > > > una vez dentro cuando intentan moverse por ahi les dice "invalid port
> > > > comand", ¿el puerto ftp se debe redirigir de alguna manera especial?
> > > > es que no les funciona a partir de este cambio, hasta ahora habia
> > > > funcionado si problemas. Gracias,
> > > > [EMAIL PROTECTED]
> > >
> > > a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
> > > aprece que se llama modo puerto) anda. es un problema de configuracion
> > > de iptables. en el modo pasivo, luego de la autentificacion, el cliente
> > > intenta conecatarse en un puerto alto para las trasferencias, y eso es
> > > lo que falla. justamente ahora estoy buscando info de como arreglarlo,
> > > pero lo hice andar destildando del cliente el casillero del modo
> > > pasivo. aclaro que si acepto todos los paquetes relacionados
> > >
> > > $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j
> > > ACCEPT
> > >
> > > alguien me habia dicho que la solucion era poner en esta linea el rango
> > > de puertos, pero no me acuerdo exactamente como era, y no lo pude
> > > probar
> >
> > ¿No te falta también el puerto 20?
> > El ftp utliza tanto uno como otro.
> > A parte de esto, me parece que hace falta cargar los módulos ip_nat_ftp,
> > ip_conntrack_ftp, y el  iptable_nat.
>
> los modulos no me faltan
> [EMAIL PROTECTED] ~]# modprobe -l | grep ftp
> /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_nat_ftp.ko
> /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_conntrack_ftp.k
>o
> /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_conntrack_tftp.
>ko /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_nat_tftp.ko
> /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/ipvs/ip_vs_ftp.ko
>
> [EMAIL PROTECTED] ~]# modprobe -l | grep iptable
> /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_raw.ko
> /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_mangle.ko
> /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_nat.ko
> /lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_filter.ko
>
> y este es el script que uso
>
> #!/bin/sh
> #
> # generated by -bash on 2006.01.07.52
> #
>
> # set a few variables
> echo ""
> echo "  setting global variables"
> echo ""
> export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
> iptables="/sbin/iptables"
>
> # adjust /proc
> echo "  applying general security settings to /proc filesystem"
> echo ""
> if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then echo 1
>
> > /proc/sys/net/ipv4/tcp_syncookies; fi
>
> if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then echo 1
>
> > /proc/sys/net/ipv4/conf/all/rp_filter; fi
>
> if [ -e /proc/sys/net/ipv4/ip_forward ]; then echo 1
>
> > /proc/sys/net/ipv4/ip_forward; fi
>
> # load some modules
> if [ -e /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_nat_irc.o ];
> then modprobe ip_nat_irc; fi
> if [ -e /lib/modules/`uname
> -r`/kernel/net/ipv4/netfilter/ip_conntrack_irc.o ]; then modprobe
> ip_conntrack_irc; fi
> if [ -e /lib/modules/`uname
> -r`/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o ]; then modprobe
> ip_conntrack_ftp; fi
> if [ -e /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_nat_ftp.o ];
> then modprobe ip_nat_ftp; fi
>
> # flush any existing chains and set default policies
> $iptables -F INPUT
> $iptables -F OUTPUT
> $iptables -P INPUT DROP
> $iptables -P OUTPUT ACCEPT
>
> # setup nat
> echo "  applying nat rules"
> echo ""
> $iptables -F FORWARD
> $iptables -F -t nat
> $iptables -P FORWARD DROP
> $iptables -A FORWARD -i eth0 -j ACCEPT
> $iptables -A INPUT -i eth0 -j ACCEPT
> $iptables -A OUTPUT -o eth0 -j ACCEPT
> $iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
> $iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE
>
> # allow all packets on the loopback interface
> $iptables -A INPUT -i lo -j ACCEPT
> $iptables -A OUTPUT -o lo -j ACCEPT
>
> # allow established and related packets back in
> $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
>
> # icmp
> echo "  applying icmp rules"
> echo ""
> $iptables -A OUTPUT -p icmp -m state --state NEW -j ACCEPT
> $iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
> $iptables -A INPUT -p icmp --icmp-type echo-request -i ppp0 -j DROP
>
> # apply icmp type match blocking
> echo "  applying icmp type match blocking"
> echo ""
> $iptables -I INPUT -p icmp 

Re: Redireccion FTP

2006-01-19 Por tema Carlos Ferrabone
El Jueves, 19 de Enero de 2006 09:43, Pedro M. López escribió:
> El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
> > El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
> > > Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves
> > > del 31 de la siguiente manera:
> > > $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
> > > 128.100.0.15:21
> > > la cuestion es que cuando intentan conectar, les deja validarse pero
> > > una vez dentro cuando intentan moverse por ahi les dice "invalid port
> > > comand", ¿el puerto ftp se debe redirigir de alguna manera especial? es
> > > que no les funciona a partir de este cambio, hasta ahora habia
> > > funcionado si problemas. Gracias,
> > > [EMAIL PROTECTED]
> >
> > a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
> > aprece que se llama modo puerto) anda. es un problema de configuracion de
> > iptables. en el modo pasivo, luego de la autentificacion, el cliente
> > intenta conecatarse en un puerto alto para las trasferencias, y eso es lo
> > que falla. justamente ahora estoy buscando info de como arreglarlo, pero
> > lo hice andar destildando del cliente el casillero del modo pasivo.
> > aclaro que si acepto todos los paquetes relacionados
> >
> > $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
> >
> > alguien me habia dicho que la solucion era poner en esta linea el rango
> > de puertos, pero no me acuerdo exactamente como era, y no lo pude probar
>
> ¿No te falta también el puerto 20?
> El ftp utliza tanto uno como otro.
> A parte de esto, me parece que hace falta cargar los módulos ip_nat_ftp,
> ip_conntrack_ftp, y el  iptable_nat.


los modulos no me faltan
[EMAIL PROTECTED] ~]# modprobe -l | grep ftp
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_nat_ftp.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_conntrack_ftp.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_conntrack_tftp.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/ip_nat_tftp.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/ipvs/ip_vs_ftp.ko

[EMAIL PROTECTED] ~]# modprobe -l | grep iptable
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_raw.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_mangle.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_nat.ko
/lib/modules/2.6.14-1.1653_FC4/kernel/net/ipv4/netfilter/iptable_filter.ko

y este es el script que uso

#!/bin/sh
#
# generated by -bash on 2006.01.07.52
#

# set a few variables
echo ""
echo "  setting global variables"
echo ""
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
iptables="/sbin/iptables"

# adjust /proc
echo "  applying general security settings to /proc filesystem"
echo ""
if [ -e /proc/sys/net/ipv4/tcp_syncookies ]; then echo 1 
> /proc/sys/net/ipv4/tcp_syncookies; fi
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]; then echo 1 
> /proc/sys/net/ipv4/conf/all/rp_filter; fi
if [ -e /proc/sys/net/ipv4/ip_forward ]; then echo 1 
> /proc/sys/net/ipv4/ip_forward; fi

# load some modules
if [ -e /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_nat_irc.o ]; then 
modprobe ip_nat_irc; fi
if [ -e /lib/modules/`uname 
-r`/kernel/net/ipv4/netfilter/ip_conntrack_irc.o ]; then modprobe 
ip_conntrack_irc; fi
if [ -e /lib/modules/`uname 
-r`/kernel/net/ipv4/netfilter/ip_conntrack_ftp.o ]; then modprobe 
ip_conntrack_ftp; fi
if [ -e /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/ip_nat_ftp.o ]; then 
modprobe ip_nat_ftp; fi

# flush any existing chains and set default policies
$iptables -F INPUT
$iptables -F OUTPUT
$iptables -P INPUT DROP
$iptables -P OUTPUT ACCEPT

# setup nat
echo "  applying nat rules"
echo ""
$iptables -F FORWARD
$iptables -F -t nat
$iptables -P FORWARD DROP
$iptables -A FORWARD -i eth0 -j ACCEPT
$iptables -A INPUT -i eth0 -j ACCEPT
$iptables -A OUTPUT -o eth0 -j ACCEPT
$iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

# allow all packets on the loopback interface
$iptables -A INPUT -i lo -j ACCEPT
$iptables -A OUTPUT -o lo -j ACCEPT

# allow established and related packets back in
$iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# icmp
echo "  applying icmp rules"
echo ""
$iptables -A OUTPUT -p icmp -m state --state NEW -j ACCEPT
$iptables -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
$iptables -A INPUT -p icmp --icmp-type echo-request -i ppp0 -j DROP

# apply icmp type match blocking
echo "  applying icmp type match blocking"
echo ""
$iptables -I INPUT -p icmp --icmp-type redirect -j DROP
$iptables -I INPUT -p icmp --icmp-type router-advertisement -j DROP
$iptables -I INPUT -p icmp --icmp-type router-solicitation -j DROP
$iptables -I INPUT -p icmp --icmp-type address-mask-request -j DROP
$iptables -I INPUT -p icmp --icmp-type address-mask-reply -j DROP

# o

Re: Redireccion FTP

2006-01-19 Por tema Iñaki
El Jueves, 19 de Enero de 2006 15:51, Michael Fernández M. escribió:
> Exactamente te falta el módulo...
>
> modprobe ip_conntrack_ftp
>
>
> Ponlo al comienzo de tu script.

Más fácil: si lo añade con "modconf" directamente se añadirá a /etc/modules y 
se cargará al arranar el sistema.   ;)



> Salu2
>
> Michael.-
>
> El jue, 19-01-2006 a las 14:32 +0100, Iñaki escribió:
> > El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
> > > El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
> > > > Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves
> > > > del 31 de la siguiente manera:
> > > > $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
> > > > 128.100.0.15:21
> > > > la cuestion es que cuando intentan conectar, les deja validarse pero
> > > > una vez dentro cuando intentan moverse por ahi les dice "invalid port
> > > > comand", ¿el puerto ftp se debe redirigir de alguna manera especial?
> > > > es que no les funciona a partir de este cambio, hasta ahora habia
> > > > funcionado si problemas. Gracias,
> > > > [EMAIL PROTECTED]
> > >
> > > a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
> > > aprece que se llama modo puerto) anda. es un problema de configuracion
> > > de iptables. en el modo pasivo, luego de la autentificacion, el cliente
> > > intenta conecatarse en un puerto alto para las trasferencias, y eso es
> > > lo que falla. justamente ahora estoy buscando info de como arreglarlo,
> > > pero lo hice andar destildando del cliente el casillero del modo
> > > pasivo. aclaro que si acepto todos los paquetes relacionados
> > >
> > > $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j
> > > ACCEPT
> > >
> > > alguien me habia dicho que la solucion era poner en esta linea el rango
> > > de puertos, pero no me acuerdo exactamente como era, y no lo pude
> > > probar
> >
> > No, la solución es habilitar en Conntrack el módulo para FTP, para que
> > Iptables husmee en los paquetes de conexión de FTP y averigue que puerto
> > se ha negociado para los datos.
> >
> > Busca en la parte de "IP4 netfilter" los módulos relacionados con FTP y
> > añádelos. Yo lo hago con "modconf".

-- 
y hasta aquí puedo leer...



Re: Redireccion FTP

2006-01-19 Por tema M.
Exactamente te falta el módulo...

modprobe ip_conntrack_ftp


Ponlo al comienzo de tu script.

Salu2

Michael.-

El jue, 19-01-2006 a las 14:32 +0100, Iñaki escribió:
> El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
> > El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
> > > Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
> > > 31 de la siguiente manera:
> > > $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
> > > 128.100.0.15:21
> > > la cuestion es que cuando intentan conectar, les deja validarse pero una
> > > vez dentro cuando intentan moverse por ahi les dice "invalid port
> > > comand", ¿el puerto ftp se debe redirigir de alguna manera especial? es
> > > que no les funciona a partir de este cambio, hasta ahora habia funcionado
> > > si problemas. Gracias,
> > > [EMAIL PROTECTED]
> >
> > a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
> > aprece que se llama modo puerto) anda. es un problema de configuracion de
> > iptables. en el modo pasivo, luego de la autentificacion, el cliente
> > intenta conecatarse en un puerto alto para las trasferencias, y eso es lo
> > que falla. justamente ahora estoy buscando info de como arreglarlo, pero lo
> > hice andar destildando del cliente el casillero del modo pasivo.
> > aclaro que si acepto todos los paquetes relacionados
> 
> > $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
> >
> > alguien me habia dicho que la solucion era poner en esta linea el rango de
> > puertos, pero no me acuerdo exactamente como era, y no lo pude probar
> 
> No, la solución es habilitar en Conntrack el módulo para FTP, para que 
> Iptables husmee en los paquetes de conexión de FTP y averigue que puerto se 
> ha negociado para los datos.
> 
> Busca en la parte de "IP4 netfilter" los módulos relacionados con FTP y 
> añádelos. Yo lo hago con "modconf".
> 
> 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Redireccion FTP

2006-01-19 Por tema Iñaki
El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
> El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
> > Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
> > 31 de la siguiente manera:
> > $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
> > 128.100.0.15:21
> > la cuestion es que cuando intentan conectar, les deja validarse pero una
> > vez dentro cuando intentan moverse por ahi les dice "invalid port
> > comand", ¿el puerto ftp se debe redirigir de alguna manera especial? es
> > que no les funciona a partir de este cambio, hasta ahora habia funcionado
> > si problemas. Gracias,
> > [EMAIL PROTECTED]
>
> a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
> aprece que se llama modo puerto) anda. es un problema de configuracion de
> iptables. en el modo pasivo, luego de la autentificacion, el cliente
> intenta conecatarse en un puerto alto para las trasferencias, y eso es lo
> que falla. justamente ahora estoy buscando info de como arreglarlo, pero lo
> hice andar destildando del cliente el casillero del modo pasivo.
> aclaro que si acepto todos los paquetes relacionados

> $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
>
> alguien me habia dicho que la solucion era poner en esta linea el rango de
> puertos, pero no me acuerdo exactamente como era, y no lo pude probar

No, la solución es habilitar en Conntrack el módulo para FTP, para que 
Iptables husmee en los paquetes de conexión de FTP y averigue que puerto se 
ha negociado para los datos.

Busca en la parte de "IP4 netfilter" los módulos relacionados con FTP y 
añádelos. Yo lo hago con "modconf".


-- 
y hasta aquí puedo leer...



Re: Redireccion FTP

2006-01-19 Por tema Pedro M. López
El Jueves, 19 de Enero de 2006 13:23, Carlos Ferrabone escribió:
> El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
> > Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
> > 31 de la siguiente manera:
> > $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
> > 128.100.0.15:21
> > la cuestion es que cuando intentan conectar, les deja validarse pero una
> > vez dentro cuando intentan moverse por ahi les dice "invalid port
> > comand", ¿el puerto ftp se debe redirigir de alguna manera especial? es
> > que no les funciona a partir de este cambio, hasta ahora habia funcionado
> > si problemas. Gracias,
> > [EMAIL PROTECTED]
>
> a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me
> aprece que se llama modo puerto) anda. es un problema de configuracion de
> iptables. en el modo pasivo, luego de la autentificacion, el cliente
> intenta conecatarse en un puerto alto para las trasferencias, y eso es lo
> que falla. justamente ahora estoy buscando info de como arreglarlo, pero lo
> hice andar destildando del cliente el casillero del modo pasivo.
> aclaro que si acepto todos los paquetes relacionados
>
> $iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
>
> alguien me habia dicho que la solucion era poner en esta linea el rango de
> puertos, pero no me acuerdo exactamente como era, y no lo pude probar

¿No te falta también el puerto 20?
El ftp utliza tanto uno como otro.
A parte de esto, me parece que hace falta cargar los módulos ip_nat_ftp, 
ip_conntrack_ftp, y el  iptable_nat.




Re: Redireccion FTP

2006-01-19 Por tema Carlos Ferrabone
El Jueves, 19 de Enero de 2006 08:04, Listas escribió:
> Hola, ayer redirigi el puerto 21 para conectar a una maquina a traves del
> 31 de la siguiente manera:
> $IPTABLES -t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to
> 128.100.0.15:21
> la cuestion es que cuando intentan conectar, les deja validarse pero una
> vez dentro cuando intentan moverse por ahi les dice "invalid port comand",
> ¿el puerto ftp se debe redirigir de alguna manera especial? es que no les
> funciona a partir de este cambio, hasta ahora habia funcionado si
> problemas. Gracias,
> [EMAIL PROTECTED]

a mi me pasa lo mismo. pero si uso el cliente ftp NO en modo pasivo (me aprece 
que se llama modo puerto) anda. es un problema de configuracion de iptables. 
en el modo pasivo, luego de la autentificacion, el cliente intenta 
conecatarse en un puerto alto para las trasferencias, y eso es lo que falla.
justamente ahora estoy buscando info de como arreglarlo, pero lo hice andar  
destildando del cliente el casillero del modo pasivo.
aclaro que si acepto todos los paquetes relacionados

$iptables -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT

alguien me habia dicho que la solucion era poner en esta linea el rango de 
puertos, pero no me acuerdo exactamente como era, y no lo pude probar


pgp1rxLWAxVK5.pgp
Description: PGP signature


Redireccion FTP

2006-01-19 Por tema Listas



Hola, 
ayer redirigi el puerto 21 para conectar a una maquina a traves del 31 de la 
siguiente manera:
$IPTABLES 
-t nat -A PREROUTING -i eth0 -p tcp --dport 31 -j DNAT --to 
128.100.0.15:21
la 
cuestion es que cuando intentan conectar, les deja validarse pero una vez dentro 
cuando intentan moverse por ahi les dice "invalid port comand", ¿el puerto ftp 
se debe redirigir de alguna manera especial? es que no les funciona a partir de 
este cambio, hasta ahora habia funcionado si problemas.
Gracias,
[EMAIL PROTECTED]