Vous êtes sur la page 1sur 11

VSFTP

vsftpd es un servidor FTP de cdigo libre para sistemas UNIX, incluyendo Linux. Es muy seguro y extremadamente fcil de configurar. Ya que es soportado por casi todas las distros Linux, estas instrucciones sirven para instalarlo y configurarlo. En este tutorial, te muestro como instalar vsftp en Ubuntu Linux 11.04 1. Instalndo vsftpd (desde terminal)
sudo apt-get install vsftpd

2. Cambios en el archivo de configuracin


sudo gedit /etc/vsftpd.conf

Una vez tengas el archivo abierto en el editor, hay que hacer unos pequeos cambios, busca est lnea:
anonymous_enable=YES

Cambiala por esto:


anonymous_enable=NO

Esto desactiva el acceso annimo a nuestro servidor FTP. Si no tienes una buena razn para permitir este acceso, una buena prctica es no permitirlo, siempre te pedir usuario y contrasea al intentar logearte, especialmente si tu servidor es visible desde internet. Ahora, necesitaremos habilitar el acceso local para que nuestros usuarios puedan logearse, busca sta lnea:
#local_enable=YES

Cambiala por esto:


local_enable=YES

(Tecleando un # delante de la directiva la desactiva, quitndola la activa.) 3. Aadimos un fake shell Editamos el archivo /etc/shells y al final del mismo aadimos la lnea /bin/false, por ejemplo. Esta lnea limita el acceso en el sistema a nuestros usuarios de FTP.

sudo gedit /etc/shells # /etc/shells: valid login shells /bin/sh /bin/bash /bin/false

/bin/false es nuestro falso shell. En Red Hat Linux, existe un dispositivos especial llamado /dev/null creado para este propsito. 4. Configurando las cuentas de usuario Como ya expusimos antes, el usuario debe estar aislado en un entorno restringido diferente al de una cuenta de usuario con acceso ilimitado, a causa de cmo funciona el entorno chroot. Chroot hace aparecer desde la perspectiva del usuario, que est en el nivel superior del sistema de archivos. Utiliza el siguiente comando para crear usuarios en el archivo /etc/passwd. Este paso debe hacerse para cada usuario adicional que permites acceder a tu servidor FTP.
sudo mkdir -p /home/ftp/ftpuser sudo useradd ftpuser -d /home/ftp/ftpuser/ -s /bin/false sudo passwd ftpuser

- El comando mkdir crear el directorio principal para nuestro usuario de FTP ftp/ftpuser dentro del directorio /home/ - El comando useradd aade nuestro usuario llamado ftpuser al servidor Linux. - Como ltimo paso, el comando passwd crea una contrasea para el usuario ftpuser. Una vez hayamos terminado, para aplicar los cambios debemos de reiniciar el servicio de nuestro servidor vsftpd con el comando:
sudo /etc/init.d/vsftpd restart

o
sudo service vsftpd restart

Montar un servidor de archivos en 10 minutos: vsftpd

Un servidor de ficheros (servidor FTP) puede ser muy til a la hora de centralizar datos en nuestra red, compartir con otros e incluso recibir datos de cualquier usuario autorizado para hacerlo. Montar un servidor ftp es muy sencillo gracias a VSFTPD, un servidor rpido, ligero, seguro y de fcil configuracin. Entre sus caractersticas ms interesantes encontramos: 1. 2. 3. 4. 5. 6. 7. Servidor rpido, estable y seguro Configuracin sencilla Soporte de usuarios annimos, registrados y virtuales Soporte para virtual hosts Ejecucin independiente o mediante (x)inetd Soporte IPv6 y SSL Lmites por usuario, conexin y ancho de banda

Instalacin

Gracias a que VSFTPD est presente en los repositorios oficiales de Ubuntu su instalacin ser tan sencilla como ejecutar la orden:
$ sudo apt-get install vsftpd

El propio proceso de instalacin se encarga de crear el usuario no privilegiado ftp, crear el directorio /home/ftp (donde colocaremos los archivos disponibles para el acceso annimo) y arrancar el servicio. Nota: En caso de tener un firewall instalado no olvides que debers abrir el puerto 21 (si no sabes como hacerlo consulta el artculo Administracin del firewall con firestarter), adems si conectas a internet a travs de un router y pretendes dar acceso al servidor de ficheros desde el exterior debers redireccionar el puerto 21 en la configuracin del router (revisa la documentacin de tu modelo de router si no sabes como hacerlo). Podemos comprobar que el proceso ha funcionado apuntando nuestro navegador o cliente de ftp favorito a la direccin ftp://localhost o ftp://127.0.0.1, en caso de acceder desde un ordenador remoto deberemos usar nuestra IP privada (si conectamos desde dentro de una red local) o nuestra IP pblica (si conectamos desde Internet):

Firefox conectado a nuestro servidor de ftp Nota: no muestra ningn archivo porque aun no he colocado nada en el directorio /home/ftp

Configuracin

La configuracin, muy sencilla, se realiza a travs de un nico archivo de texto plano: /etc/vsftpd.conf. Para realizar cualquier cambio en la configuracin editaremos este archivo con la orden:
$ sudo nano /etc/vsftpd.conf

Y una vez hechos los cambios reiniciaremos el servicio con la orden:


$ sudo /etc/init.d/vsftpd restart

Veamos ahora como cambiar la configuracin por defecto para dejar el servicio a nuestro gusto con algunos ejemplos.

Acceso annimo

El acceso annimo permitir a cualquier persona que conozca nuestra direccin IP conectarse al servicio y navegar por el directorio /home/ftp. Este modo es idoneo para compartir archivos que no necesitan una especial proteccin. Para permitir el acceso annimo editaremos el archivo de configuracin y nos aseguraremos de que contiene la linea:
anonymous_enable=YES

Para denegar el acceso annimo editaremos el archivo de configuracin y nos aseguraremos de que contiene la linea:
anonymous_enable=NO

Acceso privado

El acceso privado permite establer nombres de usuario y contrasea para acceder al servicio, cada usuari podr acceder tan solo a sus propios archivos. Este es un sistema idneo para organizar la informacin por usuarios y otorgar un cierto grado de seguridad a los archivos. Para permitir el acceso privado editaremos el archivo de configuracin y nos aseguraremos de que contiene la linea:
local_enable=YES

Para denegar el acceso privado editaremos el archivo de configuracin y nos aseguraremos de que contiene la linea:
local_enable=NO

Una vez activado el acceso privado apuntaremos nuestro navegador o cliente de ftp a la direccin ftp://usuario:clave@localhost o ftp://usuario:clave@127.0.0.1, en caso de acceder desde un ordenador remoto deberemos usar nuestra IP privada (si conectamos desde dentro de una red local) o nuestra IP pblica (si conectamos desde Internet):

Firefox mostrando el contenido privado de un usuario local

Seguridad

Aunque la configuracin por defecto es bastante segura podemos afinar un poco ms este aspecto si nuestros datos lo requieren. Para evitar que los usuarios registrados puedan salir de su directorio $HOME y navegar as por todo el sistema de ficheros editaremos el archivo de configuracin y nos aseguramos de que contiene la linea:
chroot_local_user=YES

Limitar el numero mximo de conexiones simultaneas (para evitar ataques DoS) editaremos el archivo de configuracin y nos aseguramos de que contiene las lineas:
listen=YES max_clients=10

Impedir que los usuarios puedan enviar archivos a nuestro servidor (opcion activada por defecto), editaremos el archivo de configuracin y nos aseguramos de que contiene la linea:
write_enable=NO

Cambiar el puerto por el que escucha el servicio puede ayudar a evitar ataques automatizados e intrusos poco experimentados, para cambiarlo y usar por ejemplo el puerto 50 editamos el archivo de configuracin y aadimos:
listen_port=50

Modo de ejecucin

Podemos elegir ejecutar el servidor de ficheros como un servicio del sistema controlado desde el arranque (modo Standalone, responde ms rpido a las peticiones) o que se inicie automticamente en el momento en que se recibe una peticin (modo inetd, libera ms recursos en caso de no usarse el servicio) Para establecer el servicio en modo Standalone (recomendado) editaremos el archivo de configuracin y nos aseguramos de que contiene la linea:
listen=YES

Para establecer el servicio en modo xinetd comentaremos la linea anterior de manera que quede as:
#listen=YES

Y crearemos el archivo de configuracin de xinetd para el servicio de ftp /etc/vsftpd.xinetd con este contenido:

# Configuracin para el servicio FTP service ftp { disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd per_source =5 instances = 200 no_access = 192.168.1.3 banner_fail = /etc/vsftpd.busy_banner log_on_success += PID HOST DURATION log_on_failure += HOST } # Fin del servicio FTP

VSFTPD en Ubuntu 12.04


2 respuestas

En esta entrada voy a describir los pasos bsicos para poder instalar en nuestra mquina Linux con Ubuntu 12.04 un servidor FTP. Para ello voy ha utilizar VSFTPD, estas siglas vienen de Very Secure FTP Daemon, que viene a ser demonio FTP muy seguro. Se encuentra bajo licencia GNU y soporta IPv6 y SSL. Instalacin La instalacin la hacemos desde un terminal, aunque se puede utilizar Synaptic o cualquier otro gestor de paquetes, pero a mi me resulta ms fcil desde comandos.
$ sudo apt-get install vsftpd

Configuracin La configuracin del servicio se encuentra en un mismo fichero en /etc/vsftpd.conf, editamos este fichero y modificamos algunas de las opciones.
$ sudo gedit /etc/vsftpd.conf

A continuacin detallo las que suelo modificar, evidentemente no estn todas las opciones de configuracin que ofrece VSFTPD. Como ocurre en otros servicios, la almohadilla (#) marca un comentario.
#Permitir o no el acceso a los usuarios annimos anonymous_enable=NO #Permitir el acceso de usuarios locales a sus respectivas cuentas local_enable=YES #Activar el modo escritura write_enable=YES #Mensaje de bienvenida ftpd_banner=Bienvenidos... #Encerrar a los usuarios dentro de su propio directorio persona, aumenta la seguridad chroot_local_user=YES #Para que los usuarios puedan ver sus carpetas FTP y no el reto del sistema chroot_list_enable=YES #Lista de usuarios con acceso permitido al FTP chroot_list_file=/etc/vsftpd.chroot_list #Opciones de transferencia #Establece el ancho de banda por cada usuario annimo

anon_max_rate=5100 #Establece el ancho de banda por cada usuario local local_max_rate=5100 #Nmero mximo de clientes simultneos max_clients=5 #Mximo nmero de conexiones por IP max_per_ip=2

Usuarios para utilizar el servicio FTP Generalmente, cuando instalas el servicio se crea automticamente el grupo ftp y el directorio /home/ftp, pero si no ocurre esto lo tendremos que crear a mano.
1. Creamos el directorio para el usuario dentro de /home/ftp, el directorios ser el punto en el que se encuentren todos los directorios para cada usuario del FTP. En este caso, nuestro usuario se llamar copias.
$ sudo mkdir /home/ftp/copias

2. Creamos el grupo ftp, puede que ya exista.


$ sudo groupadd ftp

3. Ahora creamos el usuario para el FTP, aadindolo al grupo ftp y asignndole su directorio.
$ sudo useradd -g ftp -d /home/ftp/copias -c "Copias" copias

4. Y ahora se crea la contrasea para el usuario creado.


$ sudo passwd copias

Ahora viene la parte interesante para los usuarios, vamos a crear un shell fantasma, de esta forma el usuario no podr iniciar sesin en el sistema y esta cuenta nicamente servir para el FTP.
1. Creamos el directorio para el shell.
$ sudo mkdir /bin/ftp

2. Aadimos la lnea /bin/ftp al fichero /etc/shells.


$ sudo gedit /etc/shells

3. Editamos el fichero /etc/passwd


$ sudo gedit /etc/passwd

Buscamos una lnea parecida a la siguiente:


copias:1001:1001:Copias:/home/ftp/copias:/bin/sh

Y la modificamos de la siguiente forma:


copias:1001:1001:Copias:/home/ftp/copias:/bin/ftp

Ahora le damos permiso al usuario para que pueda acceder mediante FTP, para ello aadimos el usuario al fichero vsftpd.chroot_list.
$ sudo gedit /etc/vsftpd.chroot_list

Su contenido tiene que ser algo parecido a esto:


#Usuarios permitidos copias

Reiniciar el servicio Ya slo nos queda reiniciar el servicio y probarlo.

$ sudo /etc/init.d/vsftpd restart

o con esta otra


$ sudo service vsftpd restart

Espero que os haya servido.

Vous aimerez peut-être aussi