Navigation

  • Home
  • Google
  • YouTube

RSS : Articles / Comments


Servidor FTP

19:18, Posted by Fran, No Comment

Buenas, os voy a explicar que es y como configurar un servidor FTP.

FTP (File Transfer Protocol) es un protocolo de transferencia de ficheros entre sistemas conectados a una red TCP basado en la arquitectura cliente-servidor, de manera que desde un equipo cliente nos podemos conectar a un servidor para descargar ficheros desde él o para enviarle nuestros propios archivos independientemente del sistema operativo utilizado en cada equipo.

El Servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario. Un problema básico de 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 fichero, se realiza en texto plano sin ningún tipo de encriptación, con lo que un posible atacante lo tiene muy fácil para capturar este tráfico, acceder al servidor, o apropiarse de los ficheros transferidos.

Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir ficheros pero cifrando todo el tráfico.

El servicio utiliza los puertos 20 y 21:
-El puerto 20 es utilizado para el flujo de datos entre cliente y servidor.
-El puerto 21 es utilizando para el envío de órdenes del cliente hacia el servidor.

Voy a explicar como instalar y configurar Vsftpd en Fedora o Centos(este es el que yo he utilizado). Si lo que buscas en un servidor para Windows puedes usar la version de evaluación de Serv-U(lo he utilizado y es bastante fácil de instalar y configurar) o FileZilla Server.

Vsftp

Vsftp(Very Secure Ftp), es un servidor ftp para sistemas UNIX. Tiene licencia GPL. Se caracteriza por ser seguro, rapido y sencillo de configurar.

1.-Instalación del servidor

Descargamos en instalamos la última versión de vsftpd, bien mediante rpm:
# rpm -Uvh vsftpd-xxxxxx.rpm
O bien utilizando la herramienta yum:
# yum install vsftpd
Ambas opciones dejarán configurado con las funciones básicas un servidor de ftp en nuestro sistema.

Si queremos que vsftp se inicie cada vez que arracamos el sistema:
# chkconfig -add vsftpd
# /etc/rc.d/init.d/vsftpd restart

Por defecto, el servidor ftp "escucha" en el puerto 21, así que la siguiente orden nos confirmará la ejecución correcta como demonio en el servidor:

# netstat -an|grep LISTEN|grep 21 , esto nos debe devolver:
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN


2.-Configuración de vsftpd

El fichero de configuración de vsftpd lo podemos encontrar en /etc/vsftpd/vsftpd.conf.
Este fichero permite configurar multitud de opciones, algunas de ellas son:
  • nonymous_enable=YES, permitir accesos anónimos.
  • local_enable=YES, permitir los accesos de los usuarios locales del sistema.
  • write_enable=YES, permitir escritura en el servidor.
  • max_clients, max_per_ip, esto sirve para establecer el número máximo de lientes, totales y por dirección IP.
  • ftpd_banner=xxxxxx, muestra un mensaje cuando conectamos al servidor.
  • anon_max_rate, limitar la tasa de transferencia en bytes por segundo para los usuarios anónimos
  • max_clients, número máximo de clientes que podrán acceder simultáneamente hacia el servidor.
Es posible establecer jaulas para los usuarios, de forma que un usuario solo podrá entrar en la carpeta que tenga asignada. Esto se configura con el parámetro chroot_local_user que habilitará la función de chroot() y los parámetros chroot_list_enable y chroot_list_file para establecer el fichero con la lista de usuarios que quedarán excluidos de la función chroot().
  • chroot_local_user=YES
  • chroot_list_enable=YES
  • chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
Con lo anterior, cada vez que un usuario local se autentique en el servidor FTP, solo tendrá acceso a su propio directorio personal y lo que este contenga. Hay crear el fichero /etc/vsftpd/vsftpd.chroot_list, ya que de otro modo no arrancará el servicio vsftpd. Para esto hacer:
  • touch /etc/vsftpd/vsftpd.chroot_list
Despues de configurar el vsftpd.conf tendremos que iniciar el servicio:
  • /etc/rc.d/init.d/vsftpd start iniciar servicio
  • /etc/rc.d/init.d/vsftpd stop parar servicio
  • /etc/rc.d/init.d/vsftpd restart reiniciar servicio
Voy a poner un par de capturas para que se vea que el servidor funciona correctamente.
En la primera se ve el servicio funcionando desde un terminal y en la segunda desde una ventana de firefox.


Un saludo y hasta la próxima!!!

No Comment