¿Por qué es inseguro el chroot_local_user de vsftpd?

Estoy configurando en mi VPS un vsftpd, y no quiero que los usuarios se les permite salir de su directorio de inicio ftp. Estoy utilizando local_user ftp, no anónimo, por lo que añadí:

Chroot_local_user = SI

He leído en un montón de mensajes en el foro, que esto es inseguro.

  1. ¿Por qué es inseguro?
  2. Si esto es inseguro debido a usar ssh para unirse a mi VPS, así, entonces podría bloquear a estos usuarios de sshd, ¿verdad?
  3. ¿Existe otra opción para lograr este comportamiento de vsftpd? (No quiero quitar permisos de lectura en todas las carpetas / archivos de "mundo" en mi sistema)

Compruebe aquí las FAQ de VSFTPD para la respuesta que busca. A continuación se muestra el extracto importante que creo que responderá a su pregunta.

Q) ¡Ayuda! ¿Cuáles son las implicaciones de seguridad referidas en la opción "chroot_local_user"?

A) En primer lugar, tenga en cuenta que otros daemons ftp tienen las mismas implicaciones. Es un problema genérico. El problema no es demasiado grave, pero es así: Algunas personas tienen cuentas de usuario FTP que no se confía en tener acceso completo a shell. Si estas cuentas también pueden subir archivos, hay un pequeño riesgo. Un usuario incorrecto ahora tiene el control de la raíz del sistema de archivos, que es su directorio personal. El daemon ftp puede causar que se lea algún archivo de configuración, por ejemplo, / etc / some_file. Con chroot (), este archivo está ahora bajo el control del usuario. Vsftpd es cuidadoso en esta área. Sin embargo, la libc del sistema podría querer abrir archivos de configuración de configuración regional o de otra configuración …

El problema es que no se pueden usar cuentas locales y también desactivar esas cuentas desde el inicio de sesión de shell. Si establece su shell de inicio de sesión en / bin / nologin, tampoco le permitirá iniciar sesión con vsftpd.

Un daemon de FTP mejor y más seguro sería Pure-ftpd. Mira, está disponible en el repositorio EPEL, y permite crear usuarios virtuales. El servidor utiliza un usuario / grupo común para establecer todos los permisos para las carpetas de inicio de los usuarios y "asignar" a los usuarios virtuales a ese usuario cuando se conecta a los permisos. Eso es más seguro, y no tienes que lidiar con la seguridad de inicio de sesión de openssh.

Pure-ftpd también soporta una gran cantidad de características tales como cuotas, ratios, etc. Mucho mejor que vsftpd.

Aquí hay un sencillo tutorial sobre cómo instalarlo y configurar un usuario virtual básico: http://blog.namran.net/2011/05/04/how-to-setup-virtual-ftp-server-using-pure-ftpd- En-centos

Si lees el documento completo (lo que deberías), sabrás que el modificador -d al crear el usuario virtual es un chroot automático en ese directorio para ese usuario.