Saltar la navegación

2.- Instalación del servidor ProFTPD.

Caso práctico

Se ven representadas las letras FTP en color rojo en el centro estando rodeadas a la izquierda por una línea casi circular amarilla y a la derecha por una línea casi circular azul, formando todo algo similar a una elipse.
The ProFTPD Project (GNU/GPL)

Bien —pensó María— ya es la hora, una vez configurado el servidor web, alojada la página y comprobada su visibilidad a través de Internet, toca permitir la subida de archivos de gran tamaño a la carpeta upload preparada para tal fin. Así que, déjame pensar, María, ¿qué debo hacer?:

  1. Esta empresa maneja archivos de gran tamaño, por lo que habrá que configurar un servidor ftp para que en la subida de archivos la conexión no se corte, que es lo más probable que ocurra a través de la subida de archivos mediante la propia aplicación web.
  2. Mirar qué servicio han contratado, puesto que el nivel de cuota en disco puede variar según el servicio.
  3. Crear un usuario virtual para que pueda subir archivos, —¿cómo lo haré? ¿mediante base de datos SQL? —Uhm..., creo que lo mejor será crear un usuario virtual y, como solamente se trata de un usuario, pues lo crearé mediante un archivo de autenticación.
  4. Si se necesita crear otro usuario, pues otro en el archivo de autenticación y listo. ¿Y si necesito crear grupos? Pues lo mismo, en un archivo de autenticación de grupos.
  5. Se necesita que la comunicación sea cifrada, con lo cual se debe emplear el protocolo SSL. —¿Uhm...? Mejor el protocolo TLS, que es el sucesor de SSL. Pero, claro, si empleo cifrado voy a tener que utilizar otros puertos TCP distintos del servidor ftp que maneja por defecto: el 21 para la conexión de control y el 20 para la conexión de datos.
  6. Ya está, mejor empleo TLS Explícito, de tal forma que puedo seguir utilizando los mismos puertos 20 y 21 para el cifrado.
  7. Y todo esto no debe modificar la configuración ya realizada para otras empresas.

Pues clarísimo, lo que tengo que hacer es utilizar el servidor ProFTPD.

Entonces:

  • Primero, comprobar si en este servidor dedicado está instalado y, si no lo está, instalarlo.
  • Segundo, configurar el servidor proftpd de la siguiente forma:
    • Configuración independiente para esta empresa.
    • Usuario virtual en un archivo de autenticación.
    • Cifrado TLS Explícito para asegurar el cifrado.
    • Cuota de disco.
    • Permisos de subida en la carpeta upload correspondiente.

Pues, manos a la obra María, que se va haciendo tarde.

¿Por qué ProFTPD? Pues porque es un servidor FTP bajo licencia GPL altamente configurable, así permite:

  • Usuarios virtuales con:
    • LDAP
    • BBDD: MySQL, PostgreSQL...
    • Ficheros de autenticación (ficheros de texto).
  • Personalizar opciones según usuario/grupo.
  • Seguridad mediante cifrado SSL/TLS.
  • Configuraciones independientes mediante virtualhosts.

Para instalar el servidor protftpd en un sistema Operativo Debian/Ubuntu ejecutar el comando apt-get install proftpd. En la instalación deberás elegir si ProFTPD va a ejecutarse como un servicio desde inetd o como un servidor independiente. Ambas opciones tienen sus ventajas. Si sólo recibes unas pocas conexiones FTP diarias, probablemente sea mejor ejecutar ProFTPD desde inetd para ahorrar recursos. Por otro lado, con más tráfico, ProFTPD debería ejecutarse como un servidor independiente para evitar crear un proceso nuevo por cada conexión entrante.

En la instalación se crearán los usuarios proftpd y ftp con grupo nogroup y sin posibilidad de acceso a una consola del sistema. Se puede comprobar en el fichero /etc/passwd donde encontrarás nuevas líneas similares a las siguientes:

proftpd:x:124:65534::/run/proftpd:/usr/sbin/nologin
ftp:x:125:65534::/srv/ftp:/usr/sbin/nologin

Para saber más

Te proponemos el siguiente enlace a un vídeo práctico sobre la instalación y uso de protfpd en una distribución GNU/Linux basada en Debian. Aunque es una versión antigua, el procedimiento es prácticamente igual al de Ubuntu.

En este otro vídeo podemos ver la instalación del servidor ProFTP en Ubuntu<.

Debes conocer

En el siguiente enlace podemos ver una descripción detallada de cómo instalar ProFTPd en Ubuntu: