Sniffing de conexiones del vsftpd

Sunday, February 20, 2011 11:30
Posted in category Administrador Sistemas

Instalar un servidor FTP con vsftpd no tiene ningún misterio, pero cuando hemos cometido algún tipo de error en la configuración e intentamos acceder a nuestro servidor usando un cliente tipo Filezilla y no conseguimos conectarnos, nos podemos volver locos, sobre todo si no aparece ningún tipo de mensaje de error ni en el fichero de logs del vsftpd, ni en /var/log/messages, ni en ningún otro fichero de log.

La semana pasada estuvimos en mi empresa instalando un nuevo servidor vsftpd en una máquina y al conectarnos con FileZilla recibiamos este error:

GnuTLS error -8: A record packet with illegal version was received

Si alguna vez te encuentras con este mensaje veras que no aparece ningún error en ningún fichero de log. Desde hace mucho tiempo se le ha indicado a los desarrolladores de vsftpd un bug por el cual muchos errores no aparecen en los logs y son volcados en el stream de datos de la conexión TCP, lo que hace que no aparezcan en el log de errores de nuestro cliente FTP.

La única manera de solucionar esto es realizando un sniffing de la conexión con wireshark. Cuando realicé un seguimiento de los datos que se estaban comunicando vía TPC, por fin encontré el error. Bastante sencillo de solucionar, si por supuesto hubiera aparecido el error en los ficheros de logs del vsftpd:

  4.085525 xx.xx.xx.44 -> xx.xxx.xx.xx FTP Response: 500 OOPS:
  4.085538 xx.xx.xx.44 -> xx.xxx.xx.xx FTP Response: cannot change directory:/var/www/usuario_ftp

Un consejo, recomiendo deshabilitar temporalmente la encriptación del vsftpd, para poder ver los mensajes de error mientras utilizamos wireshark.
Si os encontrais como fue nuestro caso con que estais trabajando en una consola, y no podéis tener acceso a un terminal visual (a las “x”), podéis usar tshark (terminal shark):

	tshark -i  eth1 > /tmp/fichero_logs_conexión_ftp

Solo tendréis que lanzar el anterior comando antes de establecer la conexión con Filezilla. Mientras os conecteis se irán almacenando todos los errores en el fichero de logs que indiqueis.

You can leave a response, or trackback from your own site.

2 Responses to “Sniffing de conexiones del vsftpd”

  1. damupi says:

    February 20th, 2011 at 3:34 pm

    Deckerix:

    Recuerda que al final, todo puede ser mas sencillo de lo que parece. Si tienes en cuenta todas las variables posibles.

    Despues de instalar un servidor vsftpd, a la hora de configurarlo, debemos de decirle sobre que puerto queremos que haga la conexion, y sobre que puertos se van a realizar las transferencias de datos.

    Es por ello preciso, que estemos seguros, que los puertos que hemos mencionado en nuestro vsftpd.conf, sean accesibles desde el exterior.

    😉

  2. damupi says:

    February 6th, 2012 at 12:27 pm

    Ayer tuve un problema al actualizar filezilla con este error:

    Error:   GnuTLS error -12: A TLS fatal alert has been received.

    pero wireshark tampoco pudo aclararme nada.

    Al final localize una url del foro de filezilla en el que me ayudaron cambiando el vsftpd.conf con la siguiente linea

    ssl_ciphers=HIGH

    Lo extraje de aqui

    http://forum.filezilla-project.org/viewtopic.php?f=2&t=23275

Leave a Reply