Discussion:
Problema con vsftpd
Marcos Arias Velázquez
2006-01-19 09:20:27 UTC
Permalink
Hola lista:
Estoy tratando de configurar una maquina con Suse 10
como servidor FTP a la cual puedan acceder los
usuarios del sistema. Para ello configuro el fichero
vsftpd-conf, activo el servicio de red con xinetd
desde yast. Hasta aquí todo normal, pero el problema
viene cuando inteto conectarme al servidor ftp.
Si me conecto con un cliente de linea de comando (ya
sea un cliente windows o linux) todo funciona
perfectamete, puedo acceder al servidor sin
problemas, listar los ficheros en home (con ls),
descargar archivos y andar por los directorios sin
problemas.
Si me conecto con firefox en la propia maquina
especificando un usuario (ftp://***@localhost) me
pide el password y funciona sin problemas.
Pero, si me quiero conectar desde otra maquina con un
cliente grafico me da un error. Con el FileZilla desde
una maquina Windows me aparece:

Respuesta: 230 Login successful.
Comando: FEAT
Respuesta: 211-Features:
Respuesta: EPRT
Respuesta: EPSV
Respuesta: MDTM
Respuesta: PASV
Respuesta: REST STREAM
Respuesta: SIZE
Respuesta: TVFS
Respuesta: 211 End
Comando: SYST
Respuesta: 215 UNIX Type: L8
Estado: Conectado
Estado: Recuperando la lista de contenidos del
directorio...
Comando: PWD
Respuesta: 257 "/home/usuario"
Comando: TYPE A
Respuesta: 200 Switching to ASCII mode.
Comando: PASV
Respuesta: 227 Entering Passive Mode
(xx,xx,xxx,xxx,xx,xxx)
Comando: LIST
Error: Transfer channel can't be opened. Reason: Se
produjo un error durante el intento de conexin ya que
la parte conectada no respondi adecuadamente tras un
periodo de tiempo, o bien se produjo un error en la
conexin establecida ya que el host conectado no ha
podido responder.
Error: No se pudo recuperar la lista de contenidos del
directorio
Comando: REST 0
Error: Interrupcin detectada! (Timeout)

Y con el firefox aparece el error 25 (Creo recordar)

Tengo el puerto 21 abierto en cortafuegos de Suse y
puse también el 20 ya que lei en algun foro que habia
que abrirlo, pero como podeis ver no lista los
ficheros. Me imagino que será un problema de
configuración de los puertos pero os mando también la
configuración del archivo vsftpd-conf para ver si veis
algun problema.

write_enable=YES
dirmessage_enable=YES
ftpd_banner="Welcome. Have a nice day"
ls_recurse_enable=YES
local_enable=YES
local_umask=022
syslog_enable=YES
log_ftp_protocol=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
setproctitle_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd

Bueno, como he dicho me imagino que sea algo de la
configuración del cortafugos, los puerto 20 y 21 los
activo desde Servicos Autorizados -> Opciones
Avanzadas y los he puesto en todos los protocolos (ya
por deseseperación).

Muchas gracias a todos y perdon por haber sido tan extenso.



______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
Josep M. Queralt
2006-01-19 09:55:40 UTC
Permalink
El 19/01/2006 10:20:27 Marcos Arias Velázquez escribió:

madcermo> Bueno, como he dicho me imagino que sea algo de la
madcermo> configuración del cortafugos, los puerto 20 y 21 los
madcermo> activo desde Servicos Autorizados -> Opciones
madcermo> Avanzadas y los he puesto en todos los protocolos (ya
madcermo> por deseseperación).

No parece que tenga que ver con los puertos y el firewall, y si tuviera
que ver, quizá el problema no esté en el FTP sino en Xined. Si fuera así
no podrías conectar en modo comando (suponiendo que eso lo hayas hecho
desde fuera de la red local).

Es más probable que tenga que ver con un problema de configuración.

La página oficial es la:

http://vsftpd.beasts.org/vsftpd_conf.html

Tabién hay una buena FAQ en:

http://www.vsftpdrocks.org/faq/
--
Saludos,

Josep M. Queralt
Carlos E. R.
2006-01-19 12:53:40 UTC
Permalink
Post by Marcos Arias Velázquez
Respuesta: 200 Switching to ASCII mode.
Comando: PASV
Respuesta: 227 Entering Passive Mode
(xx,xx,xxx,xxx,xx,xxx)
Comando: LIST
Error: Transfer channel can't be opened. Reason: Se
Dile que siga en "active mode", por ejemplo.
Post by Marcos Arias Velázquez
Tengo el puerto 21 abierto en cortafuegos de Suse y
puse también el 20 ya que lei en algun foro que habia
que abrirlo,
En el receptor, para modo activo. No en el servidor. En modo pasivo la
cosa cambia, se complica en el servidor...

a ver, activa el en servidor el iptraf, y en log del cortafuegos que
quieres visualizar todos los paquetes denegados: y a ver que puerto es el
que no se abre.

- --
Saludos
Carlos Robinson
Marcos Arias Velázquez
2006-01-19 16:17:40 UTC
Permalink
Bueno, resulta que si desactivo el cortafuegos de Suse
el ftp funiona sin problemas, era algo que me quedaba
por probar. Si alguien tiene ahora una idea de que
puede ser?

He iniciado el iptraf, pero con una conexión remota y
sin mucho tiempo, asi que lo probaré con mas calma
cuando tenga un rato delante de la pantalla... aunque
no prometo nada porque no se muy bien como funciona.

Otra duda que me ha surgido es donde puedo ver el
archivo de log del firewall (o es que no crea un
archivo suyo propio¿?), ya que lo encuentro en el Yast
-> Miscelanea -> Ver Registro del Sistema, pero
mezclada con mas información.

Gracias.
El 2006-01-19 a las 10:20 +0100, Marcos Arias
Post by Marcos Arias Velázquez
Respuesta: 200 Switching to ASCII mode.
Comando: PASV
Respuesta: 227 Entering Passive Mode
(xx,xx,xxx,xxx,xx,xxx)
Comando: LIST
Se
Dile que siga en "active mode", por ejemplo.
Post by Marcos Arias Velázquez
Tengo el puerto 21 abierto en cortafuegos de Suse
y
Post by Marcos Arias Velázquez
puse también el 20 ya que lei en algun foro que
habia
Post by Marcos Arias Velázquez
que abrirlo,
En el receptor, para modo activo. No en el servidor.
En modo pasivo la
cosa cambia, se complica en el servidor...
a ver, activa el en servidor el iptraf, y en log del
cortafuegos que
quieres visualizar todos los paquetes denegados: y a
ver que puerto es el
que no se abre.
- --
Saludos
Carlos Robinson
______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
Carlos E. R.
2006-01-19 20:12:14 UTC
Permalink
Post by Marcos Arias Velázquez
Bueno, resulta que si desactivo el cortafuegos de Suse
el ftp funiona sin problemas, era algo que me quedaba
por probar. Si alguien tiene ahora una idea de que
puede ser?
Si, tengo idea, pero no estoy seguro de como se resuelve. El protocolo ftp
es puñetero: en modo activo da problemas en el cliente, y en pasivo en el
servidor. Elige tu veneno.
Post by Marcos Arias Velázquez
He iniciado el iptraf, pero con una conexión remota y
sin mucho tiempo, asi que lo probaré con mas calma
cuando tenga un rato delante de la pantalla... aunque
no prometo nada porque no se muy bien como funciona.
Ves las conexiones que se crean en cada interfase. Si en una de ellas ves
un numero de paquetes entrantes, con 0 salientes, ya sabes que no está
respondiendo.
Post by Marcos Arias Velázquez
Otra duda que me ha surgido es donde puedo ver el
archivo de log del firewall (o es que no crea un
archivo suyo propio¿?), ya que lo encuentro en el Yast
-> Miscelanea -> Ver Registro del Sistema, pero
mezclada con mas información.
Si, está mezclado. Suele ser o /var/log/messages o .../warn o ..../kernel.
Se puede separar en el suyo propio si usas syslog-ng.


Tendrás que activar en el cortafuegos:

FW_LOG_DROP_CRIT="yes"
FW_LOG_DROP_ALL="yes"

para ver todo lo que rechaza.

- --
Saludos
Carlos Robinson
Marcos Arias Velázquez
2006-01-21 10:06:45 UTC
Permalink
Post by Carlos E. R.
Post by Marcos Arias Velázquez
Bueno, resulta que si desactivo el cortafuegos de Suse
el ftp funiona sin problemas, era algo que me quedaba
por probar. Si alguien tiene ahora una idea de que
puede ser?
Si, tengo idea, pero no estoy seguro de como se resuelve. El protocolo ftp
es puñetero: en modo activo da problemas en el cliente, y en pasivo en el
servidor. Elige tu veneno.
*Bueno, creo que el veneno ya lo tengo elegido,
el servidor tiene que ser pasivo, para no tener que
tocar nada en los clientes
Post by Carlos E. R.
Post by Marcos Arias Velázquez
He iniciado el iptraf, pero con una conexión remota y
sin mucho tiempo, asi que lo probaré con mas calma
cuando tenga un rato delante de la pantalla... aunque
no prometo nada porque no se muy bien como funciona.
Ves las conexiones que se crean en cada interfase. Si en una de ellas ves
un numero de paquetes entrantes, con 0 salientes, ya sabes que no está
respondiendo.
Bueno, ya he pasado el iptraf y este es el resultado que
obtengo conectandome desde una maquina de la red local y
con filtrando solo las conexiones de esta maquina:
Con el FileZilla:
TCP Connections (Souce Host:Port)---------------Packets-----Bytes Flags Iface
||192.168.1.10:1373 = 16 755 CLOSED eth0
||192.168.1.200:21 = 20 1114 --A- eth0

||192.168.1.10:1374 = 3 144 S--- eth0
||192.168.1.200:40138 = 0 0 ---- eth0

||192.168.1.200:21 > 1 77 -PA- eth0
||192.168.1.10:1371 = 1 46 RESET eth0

TCP Connections (Souce Host:Port)---------------Packets-----Bytes Flags Iface
||192.168.1.10:1385 = 15 709 CLOSED eth0
||192.168.1.200:21 = 20 1114 --A- eth0

||192.168.1.10:1386 = 3 144 S--- eth0
||192.168.1.200:58481 = 0 0 ---- eth0

||192.168.1.200:445 > 1 44 -PA- eth0
||192.168.1.10:1031 > 1 46 --A- eth0

Con el FireFox:
TCP Connections (Souce Host:Port)---------------Packets-----Bytes Flags Iface
||192.168.1.10:1387 = 14 685 -PA- eth0
||192.168.1.200:21 = 15 1010 --A- eth0

||192.168.1.10:1388 = 1 48 S--- eth0
||192.168.1.200:53678 = 0 0 ---- eth0

||192.168.1.10:1389 = 3 144 S--- eth0
||192.168.1.200:14024 = 0 0 ---- eth0

Bueno, 192.168.1.200 es el servidor y el 10 el cliente,
se puede ver que siempre hay paquetes a los que no se
responde, pero no entiendo el porqué. Lo he probado dos
veces con el fileZilla y una con el FireFox como
clientes.
Haber si con esta información tenis alguna idea porque
yo no se por donde cogerlo.

La última liena que genera el vsftpd en los mensages es
siempre la misma:
FTP response: Client "192.168.1.10","425 Failed to establish connection"
Post by Carlos E. R.
Post by Marcos Arias Velázquez
Otra duda que me ha surgido es donde puedo ver el
archivo de log del firewall (o es que no crea un
archivo suyo propio¿?), ya que lo encuentro en el Yast
-> Miscelanea -> Ver Registro del Sistema, pero
mezclada con mas información.
Si, está mezclado. Suele ser o /var/log/messages o .../warn o
..../kernel.
Se puede separar en el suyo propio si usas syslog-ng.
FW_LOG_DROP_CRIT="yes"
FW_LOG_DROP_ALL="yes"
para ver todo lo que rechaza.
OK, veo todo lo que rechaza en /var/log/warm pero tras un
intento de conexión no muestra ningun mensage, es decir, es
como si el cortafuegos no rechace nada.

¿Alguna idea con esta información? Yo no entiendo mucho de
administración y ya estoy un poco perdido.

Gracias.





---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
Carlos E. R.
2006-01-21 13:12:26 UTC
Permalink
Post by Marcos Arias Velázquez
Post by Carlos E. R.
Si, tengo idea, pero no estoy seguro de como se resuelve. El protocolo
ftp es puñetero: en modo activo da problemas en el cliente, y en pasivo
en el servidor. Elige tu veneno.
*Bueno, creo que el veneno ya lo tengo elegido,
el servidor tiene que ser pasivo, para no tener que
tocar nada en los clientes
Es una frase hecha del inglés, que significa más o menos que tienes varias
opciones malas, y que te quedes con la que menos te disguste...
Post by Marcos Arias Velázquez
Bueno, ya he pasado el iptraf y este es el resultado que
obtengo conectandome desde una maquina de la red local y
Si, ya veo el problema. Me lo sospechaba, pero no estaba seguro.

Tienes una conexión entrante (y aleatoria) en los puertos altos, y no
puedes saber en que puerto va a entrar a priori, porque el número de
puerto se negocia en la conexión de control que va en el 21.

En el cortafuegos tienes la opción de dejar abiertos todos los puertos
altos (¡BUFF!), o ver si hay alguna historia para que el cortafuegos siga
el estado de las conexiones ftp y sepa que puerto tiene que abrir.

¿Existe eso? Supongo... pero no se como se hace. Creo que eso lo lleva el
módulo "ftp conntrack".

A ver si alguno de los que están por aquí que saben de iptables lo sabe.

Una manera que tengo en un documento, un howto del susefirewall, pero ya
anticuado, dice:

| Configurando su servidor para permitir clientes pasivos
|
| La manera recomendada para permitir a su servidor FTP manejar
| clientes pasivos es configurarlo para usar un cierto rango de
| puertos, y únicamente rebajar las restricciones del cortafuegos
| para esos puertos.
|
| Si instala la aplicación proxy-suite
| desde su SuSE CD /DVD también usará las
| capacidades proxy {**} así como restricción de puertos
| aumentando la seguridad


Es decir, tendrías que ver en el manual del vsftpd si es posible decirle
que para conexiones pasivas unicamente use unos ciertos puertos altos, y
dejarlos abiertos en el cortafuegos. No se si lo admite, y tampoco se si
el resto de aplicaciones respetarán y no usarán esos puertos.
Post by Marcos Arias Velázquez
Post by Carlos E. R.
FW_LOG_DROP_CRIT="yes"
FW_LOG_DROP_ALL="yes"
para ver todo lo que rechaza.
OK, veo todo lo que rechaza en /var/log/warm pero tras un
intento de conexión no muestra ningun mensage, es decir, es
como si el cortafuegos no rechace nada.
Tienes que recargarlo después de cambiar esas variables.

- --
Saludos
Carlos Robinson
Victor Hugo dos Santos
2006-01-21 17:59:54 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[...]
Si, ya veo el problema. Me lo sospechaba, pero no estaba seguro.
Tienes una conexión entrante (y aleatoria) en los puertos altos, y no
puedes saber en que puerto va a entrar a priori, porque el número de
puerto se negocia en la conexión de control que va en el 21.
el ftp, utiliza 2 puertos (20 y 21) uno para la conexcion (21) y
otros para los datos (20)... y en esto esta el problema para los
cortafuegos !!!!
En el cortafuegos tienes la opción de dejar abiertos todos los puertos
altos (¡BUFF!),
uacala.
o ver si hay alguna historia para que el cortafuegos siga
el estado de las conexiones ftp y sepa que puerto tiene que abrir.
¿Existe eso? Supongo... pero no se como se hace. Creo que eso lo lleva el
módulo "ftp conntrack".
si existe, el modulo se llama ip_conntrack_ftp

para activarlo:
modprobe ip_conntrack_ftp

tambien, tiene el ip_conntrack_irc para servidores de irc.. que
presentan el mismo inconveniente.
A ver si alguno de los que están por aquí que saben de iptables lo sabe.
salu2.

--
--
Victor Hugo dos Santos
Linux Counter #224399
jose maria
2006-01-21 19:37:18 UTC
Permalink
Post by Victor Hugo dos Santos
el ftp, utiliza 2 puertos (20 y 21) uno para la conexcion (21) y
otros para los datos (20)... y en esto esta el problema para los
cortafuegos !!!!
* El problema para los cortafuegos es que usa otro par de ellos mas
aleatorios.
Post by Victor Hugo dos Santos
Post by Carlos E. R.
¿Existe eso? Supongo... pero no se como se hace. Creo que eso lo lleva el
módulo "ftp conntrack".
si existe, el modulo se llama ip_conntrack_ftp
modprobe ip_conntrack_ftp
tambien, tiene el ip_conntrack_irc para servidores de irc.. que
presentan el mismo inconveniente.
* E ip_nat_ftp, pero los modulos de seguimiento de conexiones establecidas o
relacionadas para ftp, son ñapas que no solucionan el problema principal, que
es que el protocolo ftp es de otros tiempos.

* La solucion decente es instalar un proxy ftp, es decir proxyficar el
protocolo, software como proxy-suite por ejemplo.

* La solucion buena es no usar ftp.
Victor Hugo dos Santos
2006-01-21 23:26:03 UTC
Permalink
Post by jose maria
Post by Victor Hugo dos Santos
el ftp, utiliza 2 puertos (20 y 21) uno para la conexcion (21) y
otros para los datos (20)... y en esto esta el problema para los
cortafuegos !!!!
* El problema para los cortafuegos es que usa otro par de ellos mas
aleatorios.
yo tengo abierto, solamente los que mencione mas arriba.. y funciona..
el kernel, es lo bastante inteligente para manejar las conexciones que
ya fueron estabelecidas !!!!
Post by jose maria
Post by Victor Hugo dos Santos
Post by Carlos E. R.
¿Existe eso? Supongo... pero no se como se hace. Creo que eso lo lleva el
módulo "ftp conntrack".
si existe, el modulo se llama ip_conntrack_ftp
modprobe ip_conntrack_ftp
tambien, tiene el ip_conntrack_irc para servidores de irc.. que
presentan el mismo inconveniente.
* E ip_nat_ftp, pero los modulos de seguimiento de conexiones establecidas o
relacionadas para ftp, son ñapas que no solucionan el problema principal, que
es que el protocolo ftp es de otros tiempos.
yo tengo instalado un ftp anonimo detras de un cortafuegos y por aca,
con el modulo que mencione antes, funciona sin mayores problemas....
de verdad, nunca use este modulo que mencionas "ip_nat_ftp" y no
podria mencionar nada sobre el !!!!
Post by jose maria
* La solucion decente es instalar un proxy ftp, es decir proxyficar el
protocolo, software como proxy-suite por ejemplo.
estamos hablando del mismo ???
un servidor ftp, a los cuales los clientes externos van bajar/subir
archivos en mi servidor ???
Post by jose maria
* La solucion buena es no usar ftp.
hehehe... pienso el mismo !!!!
scp seria una opcion !!!!

salu2.

--
--
Victor Hugo dos Santos
Linux Counter #224399
Carlos E. R.
2006-01-22 01:33:44 UTC
Permalink
Post by Victor Hugo dos Santos
Post by jose maria
Post by Victor Hugo dos Santos
el ftp, utiliza 2 puertos (20 y 21) uno para la conexcion (21) y
otros para los datos (20)... y en esto esta el problema para los
cortafuegos !!!!
* El problema para los cortafuegos es que usa otro par de ellos mas
aleatorios.
yo tengo abierto, solamente los que mencione mas arriba.. y funciona..
el kernel, es lo bastante inteligente para manejar las conexciones que
ya fueron estabelecidas !!!!
A ver, no te confundas. El puerto 20 (ftp-data) sólo se usa en el modo
"ftp activo", pero no en el pasivo.

Lo puedes ver perfectamente en los registros del iptraf que mandó Marcos.
Post by Victor Hugo dos Santos
Post by jose maria
Post by Victor Hugo dos Santos
modprobe ip_conntrack_ftp
No hace falta modprobe, se carga automáticamente. Yo lo tengo cargado, y
no tengo trabajando el ftp, sino simplemente que tengo abierto el puerto
de ftp en la red interna:

ip_conntrack_ftp 73616 1 ip_nat_ftp
ip_conntrack 45624 5 ipt_MASQUERADE,ipt_state,ip_nat_ftp,iptable_nat,ip_conntrack_ftp
Post by Victor Hugo dos Santos
Post by jose maria
Post by Victor Hugo dos Santos
tambien, tiene el ip_conntrack_irc para servidores de irc.. que
presentan el mismo inconveniente.
* E ip_nat_ftp, pero los modulos de seguimiento de conexiones establecidas o
relacionadas para ftp, son ñapas que no solucionan el problema principal, que
es que el protocolo ftp es de otros tiempos.
También está cargado:

ip_nat_ftp 3584 0
iptable_nat 24284 2 ipt_MASQUERADE,ip_nat_ftp
Post by Victor Hugo dos Santos
yo tengo instalado un ftp anonimo detras de un cortafuegos y por aca,
con el modulo que mencione antes, funciona sin mayores problemas....
de verdad, nunca use este modulo que mencionas "ip_nat_ftp" y no
podria mencionar nada sobre el !!!!
Haz un lsmod. Si estás usando SuSEfirewall en un suse 9.2 o superior, los
verás.

- --
Saludos
Carlos Robinson
jose maria
2006-01-22 19:38:58 UTC
Permalink
Post by Victor Hugo dos Santos
Post by jose maria
Post by Victor Hugo dos Santos
el ftp, utiliza 2 puertos (20 y 21) uno para la conexcion (21) y
otros para los datos (20)... y en esto esta el problema para los
cortafuegos !!!!
* El problema para los cortafuegos es que usa otro par de ellos mas
aleatorios.
yo tengo abierto, solamente los que mencione mas arriba.. y funciona..
el kernel, es lo bastante inteligente para manejar las conexciones que
ya fueron estabelecidas !!!!
* El kernel no dispone de inteligencia que se sepa, los modulos de iptables
para seguimiento de conexiones ftp estan cargados por defecto, tienes una
politica por defecto accept y se pueden establecer conexiones a los puertos
altos, que es lo que hace el modulo (una ñapa).

* ftp hace lo siguiente:

* El cliente inicia desde cualquier puerto (puerto X) una peticion hacia el
puerto 21 del servidor.
Una vez que está establecida la conexión, se envía el comando PORT al
servidor, para especificar el número de puerto que debe utilizar el servidor
para crear la conexión de datos (puerto Y).
Para ciertas operaciones, es necesario realizar el envío de un fichero, por lo
que se crea el canal de datos. Para ello el servidor crea una conexión física
desde su puerto 20 hasta un número de puerto del cliente. Este número de
puerto fue el que indicó el cliente a través del comando PORT (puerto Y). De
este modo, el servidor establece el canal de datos por el que se transmite la
información.

* El anterior esquema es el modo activo, porque es el servidor el que
activamente crea el canal de datos.


* modo pasivo:
* El cliente arranca e intenta conectarse contra el servidor. Para ello crea
un canal de control estableciendo una conexión física a la dirección IP (o
nombre de dominio) del servidor, y desde cualquier puerto del cliente (puerto
X) hacia el puerto 21 del servidor. (este punto es igual que en el modo
activo).

* El cliente envía el comando PASV para activar el modo pasivo. Como respuesta
a este comando, el servidor retorna un número de puerto que tenga disponible
(puerto Z).

* Para ciertas operaciones, es necesario realizar el envío de un fichero, por
lo que se crea el canal de datos. Para ello el cliente crea una conexión
física desde uno de sus puerto (puerto Y) hasta un número de puerto del
servidor.

* Este número de puerto fue el que indicó el servidor como respuesta del
comando PASV (puerto Z). De este modo, el cliente establece el canal de datos
por el que se transmite la información.

* La principal diferencia es que en el modo pasivo es el cliente el que inicia
las conexiones y nunca el servidor.

* Supongamos que nuestra conexión a internet utiliza un cortafuegos.

* El principal cometido del cortafuegos es cerrar los puertos para conexiones
entrantes, es decir: que sobre ciertos puertos sea imposible realizar una
conexión remota.

* Si el cliente FTP utiliza un cortafuegos, y se utiliza el modo activo de
conexión, tendremos muchas posibilidades de que no funcione correctamente, ya
que cuando el servidor necesite abrir el canal de datos, se podría utilizar
uno de los puertos que el cortafuegos del cliente mantiene cerrado.

* Sin embargo, en el modo pasivo, un cortafuegos no supone ningún problema en
el cliente, ya que las conexiónes siempre las inicia el cliente, y el
servidor nunca intentará abrir una conexión con el cliente, traspasandose el
problema de seguridad al servidor (o no poderse establecer la conexion) por
que los puertos pedidos estan filtrados en el servidor.

* Si a esto le añades que hay que definir modos de transmision (ascii o
binario) estamos en un protocolo de otros tiempos, es preferible un servidor
web para las descargas anonimas, si no se pretenden otras funcionalidades no
hace falta poner apache, boa por ejemplo, hay servidores web minimos
implementados hasta en bash.
Jordi Espasa Clofent
2006-01-21 16:50:08 UTC
Permalink
En el vsftpd no sé, pero en Pure-FTPd existe la opción -p / --passiveportrange
que precisamente se usa para solventar (o, al menos, aliviar, esta
problemática).
--
Salut,
Jordi Espasa
Carlos E. R.
2006-01-22 01:24:03 UTC
Permalink
Post by Jordi Espasa Clofent
En el vsftpd no sé, pero en Pure-FTPd existe la opción -p / --passiveportrange
que precisamente se usa para solventar (o, al menos, aliviar, esta
problemática).
También lo tiene: pasv_max_port y pasv_min_port. En cuanto lo he mirado en
el manual lo he encontrado.

- --
Saludos
Carlos Robinson
jose maria
2006-01-19 14:06:45 UTC
Permalink
Post by Marcos Arias Velázquez
Bueno, como he dicho me imagino que sea algo de la
configuración del cortafugos, los puerto 20 y 21 los
activo desde Servicos Autorizados -> Opciones
Avanzadas y los he puesto en todos los protocolos (ya
por deseseperación).
Muchas gracias a todos y perdon por haber sido tan extenso.
* Prueba a configurar al filezilla ese para emplee conexiones pasivas por
defecto.
Juan Erbes
2006-01-21 14:08:24 UTC
Permalink
Me imagino, que en la configuracion del firewall, habras habilitado ftp, en
la seccion "Servicios disponibles" del configurador del Yast.
Post by Marcos Arias Velázquez
Estoy tratando de configurar una maquina con Suse 10
como servidor FTP a la cual puedan acceder los
usuarios del sistema. Para ello configuro el fichero
vsftpd-conf, activo el servicio de red con xinetd
desde yast. Hasta aquí todo normal, pero el problema
viene cuando inteto conectarme al servidor ftp.
Si me conecto con un cliente de linea de comando (ya
sea un cliente windows o linux) todo funciona
perfectamete, puedo acceder al servidor sin
problemas, listar los ficheros en home (con ls),
descargar archivos y andar por los directorios sin
problemas.
Si me conecto con firefox en la propia maquina
pide el password y funciona sin problemas.
Pero, si me quiero conectar desde otra maquina con un
cliente grafico me da un error. Con el FileZilla desde
Respuesta: 230 Login successful.
Comando: FEAT
Respuesta: EPRT
Respuesta: EPSV
Respuesta: MDTM
Respuesta: PASV
Respuesta: REST STREAM
Respuesta: SIZE
Respuesta: TVFS
Respuesta: 211 End
Comando: SYST
Respuesta: 215 UNIX Type: L8
Estado: Conectado
Estado: Recuperando la lista de contenidos del
directorio...
Comando: PWD
Respuesta: 257 "/home/usuario"
Comando: TYPE A
Respuesta: 200 Switching to ASCII mode.
Comando: PASV
Respuesta: 227 Entering Passive Mode
(xx,xx,xxx,xxx,xx,xxx)
Comando: LIST
Error: Transfer channel can't be opened. Reason: Se
produjo un error durante el intento de conexin ya que
la parte conectada no respondi adecuadamente tras un
periodo de tiempo, o bien se produjo un error en la
conexin establecida ya que el host conectado no ha
podido responder.
Error: No se pudo recuperar la lista de contenidos del
directorio
Comando: REST 0
Error: Interrupcin detectada! (Timeout)
Y con el firefox aparece el error 25 (Creo recordar)
Tengo el puerto 21 abierto en cortafuegos de Suse y
puse también el 20 ya que lei en algun foro que habia
que abrirlo, pero como podeis ver no lista los
ficheros. Me imagino que será un problema de
configuración de los puertos pero os mando también la
configuración del archivo vsftpd-conf para ver si veis
algun problema.
write_enable=YES
dirmessage_enable=YES
ftpd_banner="Welcome. Have a nice day"
ls_recurse_enable=YES
local_enable=YES
local_umask=022
syslog_enable=YES
log_ftp_protocol=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
dual_log_enable=YES
setproctitle_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd
Bueno, como he dicho me imagino que sea algo de la
configuración del cortafugos, los puerto 20 y 21 los
activo desde Servicos Autorizados -> Opciones
Avanzadas y los he puesto en todos los protocolos (ya
por deseseperación).
Muchas gracias a todos y perdon por haber sido tan extenso.
______________________________________________
LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com
--
Para obtener el resto de direcciones-comando, mande
Marcos Arias Velázquez
2006-01-23 17:44:32 UTC
Permalink
Problema solucionado, muchisimas gracias a todos, sois increibles.

Os cuento que los modulos:
ip_conntrack_ftp
ip_nat_ftp
yo no los tenia cargados por defecto, por lo que la solucin pas simplemente por hacer:
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp

Con esto se han solucionado todos los problemas que tenia con el vsftpd. Tambien he quitado el puerto 20 que tenia habierto en el cortafuegos de Suse (sabia que era de envio de datos pero la desesperacin me habia vencido ;-)

La otra opcin que desde esta lista se me haba presentado de habrir algunos puertos altos del cortafuegos y configurar el vsftpd con las opciones:
pasv_max_port
pasv_min_port
no la he probado, tiene pinta de funcionar pero implica demasiado riesgo innecesario cuando tienes una solucin mucho mas sencilla y eficaz.

De nuevo muchas gracias a todos... y perdon por tardar en enviar la solucin pero es que estube muy liado y pude probarlo hasta hoy...

Un saludo, Marcos Arias

PD: Carlos E. R, siento haberte enviado antes este e-mail a tu cuenta y no a la lista, es que me equivoqué... sería por la emoción de ver como por fin funcionaba...


"Carlos E. R." <***@tiscali.es> escribi:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Victor Hugo dos Santos
Post by jose maria
el ftp, utiliza 2 puertos (20 y 21) uno para la conexcion (21) y
otros para los datos (20)... y en esto esta el problema para los
cortafuegos !!!!
* El problema para los cortafuegos es que usa otro par de ellos mas
aleatorios.
yo tengo abierto, solamente los que mencione mas arriba.. y funciona..
el kernel, es lo bastante inteligente para manejar las conexciones que
ya fueron estabelecidas !!!!
A ver, no te confundas. El puerto 20 (ftp-data) slo se usa en el modo
"ftp activo", pero no en el pasivo.

Lo puedes ver perfectamente en los registros del iptraf que mand Marcos.
Post by Victor Hugo dos Santos
Post by jose maria
modprobe ip_conntrack_ftp
No hace falta modprobe, se carga automticamente. Yo lo tengo cargado, y
no tengo trabajando el ftp, sino simplemente que tengo abierto el puerto
de ftp en la red interna:

ip_conntrack_ftp 73616 1 ip_nat_ftp
ip_conntrack 45624 5 ipt_MASQUERADE,ipt_state,ip_nat_ftp,iptable_nat,ip_conntrack_ftp
Post by Victor Hugo dos Santos
Post by jose maria
tambien, tiene el ip_conntrack_irc para servidores de irc.. que
presentan el mismo inconveniente.
* E ip_nat_ftp, pero los modulos de seguimiento de conexiones establecidas o
relacionadas para ftp, son apas que no solucionan el problema principal, que
es que el protocolo ftp es de otros tiempos.
Tambin est cargado:

ip_nat_ftp 3584 0
iptable_nat 24284 2 ipt_MASQUERADE,ip_nat_ftp
Post by Victor Hugo dos Santos
yo tengo instalado un ftp anonimo detras de un cortafuegos y por aca,
con el modulo que mencione antes, funciona sin mayores problemas....
de verdad, nunca use este modulo que mencionas "ip_nat_ftp" y no
podria mencionar nada sobre el !!!!
Haz un lsmod. Si ests usando SuSEfirewall en un suse 9.2 o superior, los
vers.

- --
Saludos
Carlos Robinson
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
Comment: Made with pgp4pine 1.76

iD8DBQFD0uD6tTMYHG2NR9URAjgrAJ9pSU7RE1fagJ8Jotuox6zZNTjxHgCeNd6k
iGZKIv6iHz3jxqoU/BVXUc0=
=IX/+
-----END PGP SIGNATURE-----

--
Para dar de baja la suscripcin, mande un mensaje a:
suse-linux-s-***@suse.com
Para obtener el resto de direcciones-comando, mande
un mensaje a:
suse-linux-s-***@suse.com


---------------------------------

LLama Gratis a cualquier PC del Mundo.
Llamadas a fijos y móviles desde 1 céntimo por minuto.
http://es.voice.yahoo.com

Continúe leyendo en narkive:
Resultados de búsqueda para 'Problema con vsftpd' (Preguntas y respuestas)
4
respuestas
¿Ayuda reparación de windows 7?
iniciado 2012-06-30 16:41:43 UTC
software
Loading...