Como montar un servidor FTP en GNU/Linux

1 – ¿Qué significan las siglas FTP?

FTP son las siglas en inglés de File Transfer Protocol (Protocolo de transferencia de archivos), un protocolo de red para transferir archivos entre máquinas conectadas a una red TCP/IP, basándose en la arquitectura cliente-servidor.

2 – Arquitectura cliente-servidor

El servidor FTP es el programa que se ejecuta en un equipo servidor que normalmente está conectado a internet, permitiendo la transferencia de archivos entre diferentes ordenadores/servidores.

El cliente FTP es el programa que se ejecuta en el equipo del usuario y que se conecta al servidor para subir o descargar archivos.

Arquitectura FTP

Los clientes FTP pueden estar basados en web o en un programa cliente. Si son clientes web, tan solo nos hace falta un navegador web. Si por el contrario son programas cliente, tendremos que instalar el que creamos más adecuado. Estos últimos, pueden poseer un entorno gráfico o por el contrario, funcionar mediante la línea de comandos. Según el tipo, podemos encontrar:

– Clientes con entorno gráfico:

– gFTP.

– Filezilla.

– Kasablanca.

– Fireftp.

– KFTPgrabber.

– GNOME Commander.

– Sitecopy.

– FileRunner.

– Konqueror.

– Clientes de línea de comandos:

– FTP.

– Cftp.

– Lftp.

– Ftpcopy.

– Ncftp.

– Tnftp.

3 – Montar un servidor FTP

Ahora que ya hemos hecho una muy pequeña introducción, vamos a montar un servidor FTP. Para ello, y a modo de ejemplo, vamos a utilizar el servidor VSFTPD sobre una máquina con Ubuntu, aunque en cualquier otra versión de Linux el procedimiento sería el mismo.

VSFTPD son las siglas de “Very Secure FTP Daemon” (demonio FTP muy seguro). Viene incluido en UNIX, Linux, está bajo licencia GNU General Public License y se encuentra instalado por defecto en sistemas Ubuntu, CentOS, Fedora, NimbleX, Slackware y en las versiones de Red Hat Enterprise Linux.

Primeramente instalamos el servidor. Para ello, hacemos login como administradores en el terminal y ejecutamos:

# apt-get install vsftpd

Aunque también, podemos descargar la última versión desde su página oficial (en octubre del 2013 es v3.0.2):

https://security.appspot.com/downloads/vsftpd-3.0.2.tar.gz

A continuación, vamos a hacer una copia de seguridad del archivo de configuración:

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.original

Abrimos dicho archivo con un editor de textos, por ejemplo el vi:

# vi /etc/vsftpd/vsftpd.conf

Seguidamente vamos a modificar el mencionado archivo para configurar el funcionamiento de nuestro servidor.

Desactivaremos el login de usuarios anónimos:

# No anonymous login
anonymous_enable=NO

Habilitamos el login de usuarios locales y les otorgamos permisos de escritura:

# Let local users login
# If you connect from the internet with local users, you should enable TLS/SSL/FTPS
local_enable=YES
# Write permissions
write_enable=YES

Para mejorar la seguridad de nuestro servidor, “enjaulamos” a los usuarios locales dentro de su directorio personal, de esta manera no tendrán ningún tipo de privilegio fuera del mismo:

# All users are jailed by default:
chroot_local_user=YES
chroot_list_enable=NO

También podemos denegar (o admitir) el acceso al servidor a determinados usuarios. Para ello, añadimos al final del fichero las siguientes líneas:

userlist_deny=YES
userlist_file=/etc/vsftpd.denied_users

Al fichero /etc/vsftpd.denied_users hay que añadir el nombre del usuario al que le denegamos el acceso, siendo un nombre por línea.

Ahora ya solo nos queda aplicar los cambios. Esto lo conseguiremos reiniciando el servidor con el siguiente comando:

sudo /etc/init.d/vsftpd restart

Para más información consultar la página oficial de VSFTPD en Ubuntu:

https://help.ubuntu.com/community/vsftpd

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s