0

Montar Servidor FTP en Ubuntu Server 18.04 LTS

Hola a tod@s,

En este post vamos a ver como montar un servidor FTP en Ubuntu Server 18.04 LTS usando vsftpd (Very Secure FTP Daemon).

Antes de empezar hemos realizado algunas configuraciones en nuestra máquina con Ubuntu 18.04 LTS:

  • Hemos ubicado la máquina en la red DMZ de nuestra infraestructura.
  • Le hemos asignado un hostname, direccionamiento IP y hemos creado el registro tipo A en nuestro DNS:

  • Una vez vistas las configuraciones que lleva la máquina que va a albergar el servicio FTP, procedemos a instalar el paquete vsftpd con el comando apt-get install vsftpd, que instalará el servicio FTP y que se iniciará automáticamente con nuestro sistema:

  • Como podemos ver ya se ha instalado:

  • Una vez instalado el paquete vsftpd nos crea el fichero /etc/vsftpd.conf que contiene todas las configuraciones de nuestro servidor FTP, como el fichero es muy extenso vamos a utilizar el comando grep para indicarle que NO nos muestre las líneas que comienzan por #, cat /etc/vsftpd.conf | grep -v «^#», por defecto el acceso anónimo está deshabilitado y si permite el acceso a los usuarios locales:

  • Ahora nos vamos a crear el siguiente grupo, dónde vamos a ir añadiendo los usuarios que nos creemos para las conexiones FTP, groupadd sftpusers:

  • Ahora vamos a añadir los usuarios que se van a conectar por FTP a nuestro servidor, lo agregaremos al grupo sftpusers y le indicaremos que no se podrá conectar a través de la Shell, para ello, vamos a introducir el siguiente comando useradd -g sftpusers -d /ftp -s /sbin/nologin ragasysftp, le asignaremos una password:

  • Ahora le vamos a dar una fecha de caducidad al usuario con el comando chage –E YYYY-MM-DD usuario:

  • Con chage –l usuario, podemos ver cuando caduca:

  • El archivo /etc/ftpusers contiene la lista de usuarios a los que se le deniega el acceso por FTP:

  • Ahora vamos a limitar a los usuarios locales del servidor para que únicamente se conecten a sus carpetas personales, si no hacemos esto, cualquier usuario local que se conecte mediante FTP puede acceder al resto del sistema de archivos.
  • Lo primero que debemos hacer es editar el fichero para el acceso por ssh, este fichero se llama /etc/ssh/sshd_config, le realizamos un backup al fichero original:

  • Dónde vamos a añadir las siguientes líneas:

  • Nos creamos los directorios para los usuarios que se van a conectar por FTP:

  • Dentro de los directorios de los usuarios nos creamos un subdirectorio llamado ftp, que será el único directorio que vea el usuario cuando se conecte por FTP:

  • Para que chroot funcione correctamente debemos asegurarnos que los permisos están bien establecidos, para ello, establecemos la propiedad del usuario y el grupo al grupo sftpusers:

  • Reiniciamos el servicio vsftpd y verificamos el estado, para ello introducimos estos comandos, /etc/init.d/vsftpd restart y /etc/init.d/vsftpd status:

  • Ahora con el cliente FileZilla FTPclient, verificamos que con el usuario creado, sólo podemos acceder al directorio al que sólo le hemos dado permiso:

  • Para publicar el servicio en Internet debemos abrir el puerto 22 en nuestro firewall, o si tenemos un sistema Proxypass, configurar las opciones adecuadas.

Saludos y espero que os sea de ayuda 😉

Jose Ramon Ramos Gata

Técnico Superior STI

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.