RSS

Como instala y configurar vsftpd (Servidor FTP)

01 Dic

Instalación y configuración de un servidor ftp con vsftpd en Linux

Instalación y configuración de un servidor ftp con vsftpd en Ubuntu Server 14.04

  1. Instalación

En Linux, antes de hacer cualquier instalación, hay que actualizar la liste de los paquetes con

apt-get update y se instala el servicio ftp con

apt-get instal vsftpd

image006

Una vez instalado. Comprobar con los siguientes comandos

Comprobar con navegador poniendo ftp://[ip de servidor ftp] Te preguntara los datos de usuario que sería un usuario de la máquina, a este nivel, solo para comprobar que funciona el servicio instalado.

image007

  1. Configuración

2.1. Abrir archivo /etc/vsftpd.conf y hacer cambios de la siguiente manera.  Use

nano -c para que se muestra la numeración de línea mientras modificando el ficheros.

Des-comentar la linea 14   listen = YES  Para que el servidor ftp se inicie con el sistema. (nota: en las nuevas versiones del  vsftpd, viene habilitado por defecto)

listen

Des-comentar las líneas de abajo (línea no:26, 29 y 33).

  • write_enable = YES : Si quieres que los usuarios puedan escribir y no sólo descargar cosas.
  • local_umask = 022 : Esta máscara hace que cada vez que subas un archivo, sus permisos sean 755. Es lo más típico en servidores FTP.

image008

  • local_enable = YES : Para poder conectarse con los usuarios locales del servidor donde está instalado.

 

local

2.2. Descomentar la línea de abajo (línea no: 120) para impedir el acceso a las otras carpetas fuera del directorio de inicio de cada usuario.(también llamado enjaular usuarios ftp)

image009

 

  • chroot_list_enable = YES : Sirven para que los usuarios locales puedan navegar por todo el árbol de directorios del servidor. Evidentemente esto sólo queremos permitírselo a ciertos usuarios, para ello tenemos el siguiente parámetro.

chroot list

  • chroot_list_file = /etc/vsftpd.chroot_list : Indicamos el fichero donde están listados los usuarios que pueden navegar hacía arriba por los directorios del servidor, lo normal es que sea el administrador del servidor.

chroot path

 

Los usuarios que no les quieren anjaular, meten sus nombre en esta list de vsftpd.chroot_list

usuario_no_enjaulado

2.3. y añadir la siguiente línea al final para permitir la escritura

image010

2.4. Añada las siguientes líneas para activar el modo pasivo para máximo de 100 conexiones

image011

2.5. service vsftpd restart para reinicia el servicio

image012

2.6. Ahora el servidor ftp escuchará en el puerto 21.

Crear grupo de usuario para FTP

Los usuarios que se conectarán no tendrán acceso al servidor vía SSH o Shell Local por lo tanto debemos darles permisos especiales.

Cuando se instala vsftpd, se crea un grupo y usuario llamado ftp por defecto

podes confirmarlo/verificarlo con el comando egrep -i «^ftp» /etc/group

comprobacion_grupo_ftp

2.7. Habilitar una shell fantasma para que los usuarios ftp no puedan entrar a la consola del servidor.

Prefiero /usr/sbin/nologin por que es recién que /bin/false o /bin/true ya que el  primero tiene un fichero /usr/sbin/nologin donde se puede personalizar un mensaje para cuando estos usuarios intenta a inicia sesión en la consola del servidor

«/ usr / sbin / nologin está ddiseñado específicamente para reemplazar una cáscara y produce salida de queja no se puede acceder al sistema. Antes de que existiera, era común el uso de / bin / false para los usuarios ficticios, pero podría ser confuso ya que el usuario no sabe por qué están rechazado el inicio de sesion.»

Permitir el acceso de inicio de sesión para el usuario nologin. Abrir /etc/shells y añadir la siguiente línea al final.

image014

 

Crear usuarios para FTP

Para los usuarios que pertenecerá al grupo ftp,  creamos la carpeta del usuarios ftp en el servidor, será donde los usuarios ftp tendrán sus carpetas personal, todos en un directorio raíz para facilitar la administración.

carpetaftp

Crear usuario con el siguiente comando. Usa Shell  /usr/sbin/nologin para evitar el acceso a la Shell para los usuarios ftp.

useradd -g ftp -d /home/usuariosftp/nombre  -m -s /usr/sbin/nologin -c «Nombre completo» nombre

crearusurio ftp
Los parámetros que usamos en la línea anterior:

  • -g ftp = el usuario pertenece al grupo ftp.
  • -d /home/usuariosftp = El directorio principal del usuario es /home/usuariosftp/pepe
  • -m = Para que se crear automáticamente el home del usuario pepe dentro de la raiz /home/usuariosftp
  • -s /usr/sbin/nologin = El usuario no tendrá acceso al shell de sistem, asi no puedo inicia sesión en el servidor (solo ftp)
  • -c “Manolito Pepe” = el nombre completo del usuario.
  • pepe = la última palabra será el nombre de usuario

Creamos la contraseña para el usuario:

contraseña_usuario

 Comprobación de los usuarios ftp

Ahora trata de conectar a este servidor ftp con el nombre de usuario en el puerto 21 usando cliente ftp como FileZillaWinSCP  y asegurarse de que el usuario no puede acceder a las otras carpetas fuera de su directorio principal.

pepe_conectado

 

Este usuario no puede inicia sesion al consola del servidor como dijo antes con la directivas nologin.

su pepe

Otro usuario de servidor, pero este es nuestro administrador que ne esta enjaulado, ya vera como el usuario administrador tiene acceso a otras carpetas, por que su nombre esta listado en el fichero /etc/vsftpd.chroot_list

rolando_conectado

 

  • Clientes FTP.

También podemos habilitar la conexión a usuarios anónimo si nuestra ftp será usado por usuarios q no tengan cuenta ftp o local en nuestro servidor ftp

Esto se configura modificando las directivas en el fichero de configuración vsftpd.conf que está en /etc cambiado la línea 23 anonymous_enable=NO por   anonymous_enable=YES

ano

Reinicia el servicio  con service vsftpd restart y haz comprobación.

image018

Conecta como usuario anónimo te lleva a /srv/ftp que es la carpeta pública por defecto

image019

image020

Ahora ya tenemos un servidor  FTP funcionando y con los privilegios adecuados para que nuestros usuario puedan almacenar archivos debidamente separados


Tenga en cuenta el uso de ftp en el puerto 21 es un gran riesgo para la seguridad. Es muy recomendable usar ftpes.  Continuamos con la configuración para asegurar  FTP integrando la seguridad ssl

 
12 comentarios

Publicado por en 1 diciembre, 2014 en Servicios de red e internet

 

Etiquetas: , ,

12 Respuestas a “Como instala y configurar vsftpd (Servidor FTP)

  1. Nelson

    2 septiembre, 2015 at 00:17

    Muy bueno tu aporte. Lo he seguido al pié de la letra, pero al llegar al punto 2.6 el servidor no tiene el puerto 21 abierto. Estoy usando un ubuntu server ¿Me podrías ayudar con esto?

    Me gusta

     
    • Rolando Nguba

      2 septiembre, 2015 at 00:46

      Estaba abierto el puerto 21 cuando instalaste el daemon «vsftpd»? que version del ubuntu estas usando? deberia actualizar el repositorio de los paquetes antes de instala para que tenga a version mas reciente.

      Me gusta

       
      • Nelson

        2 septiembre, 2015 at 00:49

        Muchas gracias por tu pronta respuesta. He comenzado a configurar de 0 el archivo de vsftps.conf. He seguido tus pasos hasta el punto 2.1 y me está funcionado perfecto. Voy a serguir probanado de a uno los puntos y te aviso en cual tengo el problema.
        Saludos

        Me gusta

         
      • Rolando Nguba

        2 septiembre, 2015 at 00:55

        Venga!,
        Por las primeras, veces se puede comete error en edita el fichero de configuración, por eso que siempre hay q guarda una copia del fichero en cada punto que esta progresando.

        Me gusta

         
  2. Luisa Fernanda Arango

    20 septiembre, 2015 at 19:02

    Disculpe, tengo una pregunta inicialmente desde ubuntu se conecto al servido con la dirección 192.169.1.9 pero después cuando estaba como cliente en filezilla se conecta con la dirección 192.168.56.9. hice todos los pasos, pero no me puedo conectar al servido desde filezilla

    Me gusta

     
    • Rolando Nguba

      23 septiembre, 2015 at 15:52

      Estaba de vacaciones
      Me puedes decir exactamente el error que salta en file zilla? si no ha asegurado (anade ssl en la conexiones) se puede conectar basicamente pero si has asegurado, tiener que eligir/personliza conectar ssl explicit en file zila. esta noche (condicional), si puedo, le voy hacer unas capturas.

      Me gusta

       
  3. Christian

    8 noviembre, 2016 at 18:43

    Excelente tu aporte Rolando.

    Me gusta

     
  4. Emi “Dark4staR” Harastasan

    11 enero, 2017 at 01:35

    Muy buena guia me ha ayudado mucho!

    Me gusta

     
  5. Alejandro Caceres

    12 enero, 2017 at 18:15

    Muy buenas yo tengo un problemas con eso de los privilegios de navegación de los usuarios, por ejemplo tengo 2 usuarios que son los que suben los archivos al ftp, pero necesito agregar 1 usuario adicional digamos «invitado» el cual pueda ver y descargar lo que los 2 usuarios suban. EL problema es que no logro hacer que el Usuario Invitado tenga acceso a las otras 2 carpetas. Alguna recomendacion de como solucionar eso?

    Me gusta

     

Deja un comentario