Sábado, Septiembre 23, 2017
A- A A+

INSTALAR VSFTPD SERVER EN UBUNTU 12.04

Vamos a instalar vsftpd porque es ligero, robusto, escalable, seguro, y lo recomienda Ubuntu para su sistema.

Empezamos Instalando el servidor FTP:

sudo apt-get install vsftpd

Ahora ya lo tenemos funcionando pero con la configuración por defecto. Esta configuración no se adapta al uso común. y no tiene ningun tipo de seguridad, podrias dejarlo asi si te interesa pero de este modo tienes un server escuchando en el puerto 21 con acceso anonymous y permisos de lectura, y eso de que un usuario anonimo pueda ver todo el contenido de los directorios de FTP de tu servidor, no es recomendable ¿verdad?.

Ademas el servicio FTP normalmente es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando los puertos de red 20 y el 21. Un problema de diseño del protocolo FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico,y obtener información que le permita acceder al servidor pudiendo de este modo apropiarse de los archivos transferidos creandonos de este modo un agujero de seguridad si no administramos bien los permisos, por ello es recomendable retirar el acceso anonimo.

Empezemos pues a configurar nuestro servidor FTP de un modo mas seguro.

Abrimos el archivo de configuración (tened en cuenta si estais en usuario root no necesitais poner sudo ): 

sudo gedit /etc/vsftpd.conf

Realizamos los siguientes cambios:

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
ftpd_banner=Bienvenid@s al Servidor FTP
chroot_local_user=YES

OJO, tened en cuenta que si delante de estas lineas esta # debereis quitarlo.

Anora reiniciamos el Server FTP:

sudo /etc/init.d/vsftpd restart

Con lo que hemos hecho nuestro usuario de login será cualquiera de los usuarios y su contraseña que tengamos configurados en nuestro Linux Ubuntu.

Ahora vamos ha hacer varios pasos para afinar y de este modo funcione correctamente nuestro servidor ftp. Empecemos.

Creación del grupo.

Ahora tenemos que crear un grupo el cual controle al servicio de vsftpd de la siguiente manera:

sudo groupadd ftp

Creación del home.

Tenemos que crear el deposito o el home donde el usuario va alojar su información, cuando el servidor vsftpd termina de instalarse crea una carpeta en home quedando de la siguiente manera

/home/ftp, pero tu puedes tener tus usuarios en otras rutas como /var/ftp.

sudo mkdir /home/ftp/directorio

Creación de shell FTP

Lo que haremos es crear un shell virtual o fantasma, para que los usuarios no puedan conectarse a una sesión del sistema operativo.

sudo mkdir /bin/ftp

Ya que lo creamos,ahora tenemos que editar el siguiente archivo.

sudo nano /etc/shells

Agregar al final del archivo /etc/ftp.

/bin/bash
/bin/rbash
/bin/ftp

Creando usuarios FTP

Para poder crear usuarios para nuestro servicio ftp se ocupa el siguiente comando.

sudo useradd -g ftp -d /home/ftp/directorio -s /bin/ftp usuario

Tenemos que agregarle una contraseña a nuestro usuario creado.

sudo passwd usuario

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Ahora hay que darle permiso al usuario pueda ser el dueño de su deposito.

cd /home/ftp
sudo chown usuario.ftp directorio/ R

Ficheros de configuración

El servidor vsfptd tiene dos archivos muy importantes de configuración:

El archivo de configuración de nuestro servidor ftp:

/etc/vsftpd.conf

El archivo que contiene la lista de los usuarios que van estar enjaulados.

 

/etc/vsftpd.chroot_list

Configuración de vsftpd:

En este momento comenzaremos a configurar nuestro servidor vsftpd. Antes de se recomiendo ampliamente crear una copia de respaldo de archivo de configuración:

cd /etc
sudo cp vsftpd.conf vsftpd.confi

Comenzaremos a editar el archivo de configuración del servicio vsftpd.conf.

sudo nano vsftpd.conf

En el archivo tendremos que cambiar varios parámetros:

Parámetro anonymous_enable, desactivar acceso a usuarios anónimos, para mayor seguridad.

anonymous_enable=NO

Parámetro local_enable, permitir a los usuarios autenticados tener sus propias carpetas locales, le quitamos la # para que se active.

#local_enable=YES
local_enable=YES

Parámetro write_enable, perrmitir el modo de escritura en su carpeta, le quitamos el #.

#write_enable=YES
write_enable=YES

Parámetro local_umask, permitimos la a través de este parámetro enmascararlo con algún permisos en especial al momento de subir la información

#local_umask=000
local_umask=037

En este caso estamos indicándole al parámetro, va tener permisos de rwx para el usuario, r– para el grupo y — otro ningún permiso.

Ahora vamos a enjaular a los usuarios FTP:

Habilitamos el enjaulamiento de los usuarios dentro de su directorio personal y también para acceder a sus carpetas por FTP quitando #.

estan asi

#chroot_local_user=YES
#chroot_list_enable=YES

tienen que quedar asi
chroot_local_user=YES
chroot_list_enable=YES

Habilitamos la siguiente linea que manda a llamar aun archivo, este archivo lo tiene que crear y dentro de este agregar los cuentas de
los usuario enjaulados.

chroot_list_file=/etc/vsftpd.chroot_list

Al terminar de configurar el archivo de vsftpd.conf

sudo touch vsftpd.chroot_list
echo “usuario”>> vsftpd.chroot_list

Controlar el ancho de Banda:

Se le pueden agregar mas opciones al final del archivo.

anon_max_rate=5100 #Ancho de banda para usuario anónimo 5kb.
local_max_rate=5100 #Ancho de banda por usuario local 5kb.
max_clients=3 #Numero máximo clientes conectados.
max_per_ip=2 #Numero máximo de conexiones por ip.

Reinicio del servidor FTP

Ahora ya solo tenemos que reiniciar el servicio de vsftpd para poder cargar los cambios que hemos realizado al servidor.

sudo /etc/init.d/vsftpd restart

• Stopping FTP server: vsftpd [OK]
• Starting FTP server: vsftpd [OK]

Y para terminar recordaros que teneis programas de conexion FTP gratuitos como por ejemplo Filezilla o FireFTP, este ultimo es un pluggin para Firefox que se integra en el navegador.

 

:) Be linux my Friend. :)