Servidor FTP ProFTPd para Linux: Instalación y configuración

Servidor FTP ProFTPd para Linux: Instalación y configuración

Sergio De Luz

Actualmente existen una gran cantidad de programas que actúan como servidores FTP. El protocolo FTP (File Transfer Protocol) nos permite transferir archivos de manera local y remota de forma fácil, y, sobre todo, muy rápida. El protocolo FTP por sí mismo no encripta ni los datos transmitidos ni tampoco la autenticación mediante usuario y contraseña, pero si hacemos uso de FTPES todo el tráfico va cifrado desde el cliente FTP hasta el servidor FTP.

En RedesZone os vamos a enseñar cómo instalar y configurar de manera avanzada el servidor FTP proFTPd, uno de los software más completos y potentes que hay para sistemas operativos Linux. Este servidor FTP es el favorito de muchos administradores de sistemas por la configurabilidad que es capaz de proporcionarnos. En este artículo os vamos a enseñar cómo podemos instalarlo y configurarlo de forma completa en un sistema que esté ejecutando Ubuntu para que varios usuarios puedan acceder a él de forma remota.

 

Principales características de proFTPd

El servidor proFTPd es compatible con todos los sistemas operativos basados en Linux y Unix, por tanto, también es compatible con los populares sistemas operativos basados en FreeBSD que son ampliamente utilizados a gran escala para servidores. Este servidor FTP dispone de una grandísima cantidad de opciones de configuración, como, por ejemplo, crear usuarios virtuales que solamente se utilizan en el servidor FTP y que no forman parte del sistema operativo. También podremos definir rutas virtuales para cada uno de estos usuarios que hemos creado anteriormente, limitar el ancho de banda de los diferentes usuarios a nivel de aplicación, e incluso podremos también definir una MasqueradeAddress para que no tengamos ningún problema si utilizamos FTP PASV, el cual es lo más recomendable para no tener problemas en entornos de NAT. Otras opciones son la posibilidad de crear reglas avanzadas para que desde una determinada red tengamos una serie de «permisos», y desde otra red tengamos otros, ya que podremos subdividir el servidor FTP por clases.

El protocolo FTP utiliza una arquitectura cliente-servidor, hace uso del puerto 21 TCP (que se puede cambiar) para el canal de control, donde se establecerá la conexión de datos, la autenticación del cliente FTP que se conecta al servidor, y también la finalización de la conexión de datos. El canal de control depende de cómo tengamos configurado el servidor FTP, antiguamente estaba el modo activo que usaba el puerto 20 TCP para transferir los datos, pero esto ocasiona problemas con el NAT de las redes. Actualmente se hace uso del modo pasivo de FTP, donde tenemos un rango de puertos pasivos, en el servidor FTP tendremos que abrir los puertos pasivos en el router para no tener problemas de conectividad.

Una opción muy importante hoy en día está en el cifrado, tanto a la hora de autenticar a los clientes que se conecten al servidor FTP, como a la hora de transmitir toda la información de manera local y remota. Este software proFTPd incorpora la posibilidad de levantar un servidor FTPES, por tanto, utilizará el protocolo TLS 1.2 o TLS 1.3 para que toda la información desde el origen (cliente FTP) hasta el destino (el propio servidor FTP) esté cifrada y autenticada. Para poder configurar el proFTPd con FTPES, será necesario crear unos certificados digitales, en este tutorial también os enseñaremos a crearlos y utilizarlos, para que todas vuestras comunicaciones con el servidor FTPES sean seguras. Gracias a este protocolo, tanto la autenticación como la transferencia de los datos estará protegido, tanto con TLS 1.2 y TLS 1.3 en el canal de control, como con AES-256-GCM en el canal de datos, ideal para tener aceleración de cifrado por hardware y conseguir altas velocidades de transferencia. Si comparamos el rendimiento que obtenemos con un procesador que incorpora AES-NI frente a uno que no lo tiene, estamos hablando de un rendimiento entorno a 10 veces superior, por este motivo es muy importante que nuestro procesador incorpore esta tecnología.

 

Principales ventajas de ProFTPd

Entre las principales ventajas de ProFTPd podemos destacar que tiene un archivo de configuración principal único que posee directivas y grupos de directivas que a su vez son bastante intuitivos y que serán muy fáciles de usar sobre todo para usuarios que ya han usado alguna vez el servidor web de Apache, ya que puede realizarse también la configuración por directorio “.ftoaccess” que es bastante similar al “.htaccess” que utiliza Apache.

Además, como ya hemos demostrado antes, se torna bastante fácil la configuración incluso de múltiples servidores FTP virtuales y también servicios FTP anónimos y está diseñado también para ejecutarse como un servidor independiente o desde inetd/xinetd según la carga que tenga el sistema. Cabe destacar, que los directorios raíz FTP anónimos no requieren una estructura de directorio específica, archivos binarios del sistema u otros archivos del sistema y además de esto no contiene comandos SITE EXEC ya que, en los entornos modernos de internet, este tipo de comandos son una verdadera pesadilla para la seguridad.

El software también es de código abierto, y además siempre debe estar disponible para que administradores y desarrolladores tengan la capacidad de auditar. Tiene la capacidad de manejar directorios y archivos ocultos y que están basados en permisos o propiedad de usuarios o grupos o estilo Unix y también puede ejecutarse como un usuario sin privilegios y es configurable de modo independiente, ya que esto disminuye las posibilidades de ataques o exploits en nuestra raíz.

Y por último, podemos destacar su diseño modular, que nos permite ampliar el servidor de manera bastante fácil con distintos módulos, han sido escritos, por ejemplo, módulos para bases de datos SQL, para servidores LDAP, también para cifrado SSL/TLS, compatibilidad por ejemplo con RADIUS entre muchas otras posibilidades y además también es completamente compatible con IPv6 por lo que no tendremos prácticamente ningún problema.

 

Rendimiento de ProFTPd

Estos servidores que se encuentran diseñados para poder ofrecer plataformas de transferencias de archivos, necesitan disponer de un buen rendimiento. Esto incluye la rapidez, la seguridad y la confiabilidad del sistema que estamos utilizando. Si bien se trata de una de las soluciones más populares hoy en día, vamos a ver cuáles son sus virtudes en cuanto al rendimiento general del sistema. El cual de por sí, ya ofrece flexibilidad, estabilidad y seguridad, como has podido ver previamente.

  • Velocidad: Se trata de un protocolo ampliamente conocido por su velocidad de transferencia. Esto hace que sea una opción muy buena para entornos donde disponer de la mejor velocidad es muy importante. Este se encuentra optimizado para poder transferir grandes archivos, con la posibilidad de manejar múltiples conexiones de forma simultánea.
  • Estabilidad: Es un punto esencial para cualquier servidor FTP. Cuando estos se interrumpen, pueden causar grandes daños en forma de pérdidas de tiempo y dinero. Por lo cual, con ProFTPD estamos ante un sistema muy estable, y también muy tolerante a fallos que puedan ocasionarse. Otra de sus grandes virtudes, es la capacidad de recuperación después de algún problema.
  • Seguridad: Dentro de cualquier servidor, la seguridad es un punto esencial y de vital importancia. ProFTPD cuenta con diferentes medidas de seguridad para proteger la integridad de los archivos, evitando también las conexiones no autorizadas. Entre otras, incluye autenticación por contraseña, registros de actividad y controles basados en grupos.
  • Escalabilidad: El sistema es capaz de manejar una gran cantidad de usuarios y conexiones de forma simultánea, haciendo que sea muy bueno para entornos de mucha demanda o empresariales. Su arquitectura modular también permite a los usuarios personalizar y adaptar el servidor para satisfacer sus necesidades específicas. Esto es algo que puede suponer un ahorro de dinero y tiempo importante, sobre todo si tenemos previsión de que la organización o el sistema en sí, puede crecer en gran medida en un futuro. Para el cual ya estaremos preparados.

Una vez que ya conocemos las principales características de proFTPd, vamos a ver cómo instalar este servidor en cualquier distribución de Linux o Unix.

 

Instalación de proFTPd

proFTPd es muy fácil de instalar porque se encuentra en los repositorios de software de todas las distribuciones Linux y Unix, no obstante, también podrías descargarlo desde la web oficial para posteriormente instalarlo de manera manual. Para instalarlo en cualquier distribución de Linux como Debian o Ubuntu, bastará con instalar el paquete «proftpd» desde un terminal con el siguiente comando:

sudo apt install proftpd

Durante la instalación nos preguntará sobre el tipo de instalación que queremos. En caso de hacer poco uso del servidor FTP podemos seleccionar la opción «inetd» para ahorrar recursos del sistema. Si vamos a hacer un uso considerable del servidor FTP con varios usuarios y bastante tiempo deberíamos instalarlo como «standalone» o «independientemente». Esta configuración se podría modificar posteriormente, pero os recomendamos seleccionar «standalone» porque se ejecutará como un servidor independiente, y en caso de tener un alto tráfico, te funcionará mejor.

proftpd_tuto_foto_2

Seleccionamos la opción que más se ajuste a nuestras necesidades y finalizamos la instalación del servidor. Tal y como ocurre con otros programas en Linux, no será necesario reiniciar el ordenador ni el servidor, podemos empezar a trabajar con él instantáneamente.

 

Iniciar, parar, reiniciar y recargar el proceso de proFTPd

Si necesitas iniciar, parar o reiniciar el proceso de proFTPd, y utilizas el sistema SysVinit típico, podrás ejecutar los siguientes comandos para realizar todas las acciones.

Para iniciar el servidor proFTPD:

/etc/init.d/proftpd start

o también puedes usar:

service proftpd start

Para parar el servidor proFTPD:

/etc/init.d/proftpd stop

o también puedes usar:

service proftpd stop

Si quieres reiniciar el servidor proFTPd puedes usar:

/etc/init.d/proftpd restart

o también puedes usar:

service proftpd restart

Si necesitas iniciar, parar o reiniciar el proceso de proFTPd, y utilizas el sistema systemd, podrás ejecutar los siguientes comandos para realizar todas las acciones.

Para iniciar el servidor proFTPD:

systemctl start proftpd

o también puedes usar:

systemctl start proftpd.service

Para parar el servidor proFTPD:

systemctl stop proftpd

o también puedes usar:

systemctl stop proftpd.service

Si quieres reiniciar el servidor proFTPd puedes usar:

systemctl restartproftpd

o también puedes usar:

systemctl restart proftpd.service

¿Cuándo necesitaríamos hacer un «reload» para recargar el servicio proFTPd? Cuando hagamos un cambio en la configuración, para que automáticamente la aplique. En el caso de utilizar SysVinit para hacer el «reload», deberás poner lo siguiente:

/etc/init.d/proftpd reload

o también puedes usar:

service proftpd reload

En el caso de utilizar Systemd, deberás poner lo siguiente:

systemctl reload proftpd

o también puedes usar:

systemctl reload proftpd.service

Finalmente, si quieres ver el estado actual del servidor proFTPd, puedes ejecutar los siguientes comandos, dependiendo de si utilizas SysVinit o Systemd, deberás utilizar los siguientes comandos. Si usas SysVinit tendrás que usar:

service proftpd status

ó

/etc/init.d/proftpd status

y si utilizas Systemd:

systemctl status proftpd

ó

systemctl status proftpd.service

Una vez que ya sabéis iniciar, parar, restaurar, recargar la configuración y ver el estado del software proFTPd, vamos a ver cómo podemos configurarlo con el arranque del sistema.

 

Configurar proFTPd al arranque del sistema

Cuando instalamos proFTPd, automáticamente lo tendremos puesto al inicio, es decir, cuando arranque el sistema arrancará el proceso de proFTPd para que podamos conectarnos. En caso de que esto no ocurra, siempre podremos activarlo de manera manual ejecutando los siguientes comandos:

Si utilizas SysVinit:

chkconfig proftpd on

Si utilizas systemd:

systemctl enable proftpd systemctl enable proftpd.service

En estos instantes, cada vez que reiniciemos el servidor Linux donde tengamos instalado este servidor FTP de alto rendimiento y muy avanzado en cuanto a opciones de configuración, se iniciará automáticamente y estará disponible para aceptar las conexiones entrantes vía FTP.

Una vez que sabemos cómo arrancarlo con el sistema, vamos a ver todas y cada una de las configuraciones de proFTPd para que podáis configurarlo todo en detalle.

 

Configuración de proFTPd

El archivo de configuración principal de proFTPd se encuentra en /etc/proftpd/proftpd.conf. Desde aquí deberemos configurar la mayoría de los aspectos de nuestro servidor FTP. Lo primero que debemos hacer es establecer una carpeta como directorio principal para todos los usuarios del FTP. Para ello, abriremos con nuestro editor de texto preferido el archivo de configuración anterior:

sudo gedit /etc/proftpd/proftpd.conf

Este archivo de configuración en formato texto también podremos abrirlo directamente en consola haciendo uso de herramientas como nano, vim o vi. Gracias a estos programas podrás editar ficheros de texto directamente desde la consola, sin necesidad de tener un entorno gráfico de usuario. Debemos recordar que los servidores normalmente no tienen interfaz gráfica de usuario, solamente los podremos administrar a través de comandos por consola SSH.

proftpd_tuto_foto_3

Una vez allí, buscaremos la línea comentada «DefaultRoot» y la descomentamos borrando la almohadilla #. Esto nos va a permitir que cuando cada usuario acceda a su cuenta del FTP, estos accederán directamente a su carpeta «home».

Si queremos que todos los usuarios que inicien sesión accedan por defecto a una misma carpeta, debemos cambiar el parámetro DefaultRoot y añadir la ruta a la que queramos que accedan. Por ejemplo, en nuestro caso hemos creado una carpeta llamada «proftpd» dentro de /home/ y queremos que todos los usuarios por defecto accedan a ella. El archivo de configuración quedará de la siguiente manera:

proftpd_tuto_foto_6

También podemos hacer que todos los usuarios accedan por defecto a una carpeta (como en el paso anterior) salvo un usuario que queremos que acceda a otra o, simplemente, tenga permiso de administrador y pueda acceder a todo el disco.

Para ello debemos modificar los siguientes aspectos:

El parámetro DefaultRoot tiene la siguiente estructura:

DefaultRoot [directorio] [grupo de usuarios que tendrán ese directorio por defecto] [Grupo de usuarios a los que no se les aplicará ese directorio]

Es decir, vamos a poner el ejemplo de tener 2 usuarios, A y B. A únicamente podrá acceder a su directorio mientras que B podrá acceder a todo el disco duro. Debemos añadir las siguientes líneas:

DefaultRoot /home/ftp A

DefaultRoot / B

De esta manera, cuando el usuario B acceder al servidor tendrá control completo sobre todos los archivos del disco, mientras que si es A quien accede, únicamente podrá gestionar su carpeta.

Otros parámetros interesantes para configurar son:

  • ServerName: nos permite establecer un nombre al servidor.
  • AccessGrantMsg: Mensaje de bienvenida. (Hay que añadirlo manualmente al final del archivo).
  • AccessDenyMsg: Mensaje de error al iniciar. (Hay que añadirlo manualmente al final del archivo).

A continuación, reiniciaremos el servidor para que se apliquen los cambios realizados tecleando:

sudo /etc/init.d/proftpd restart

Vamos a comprobar que el servidor nos funciona. Para ello utilizaremos un cliente como FileZilla y nos conectaremos a nuestra cuenta.

proftpd_tuto_foto_4

 

Crear usuarios y contraseñas para el FTP

Ahora vamos a mostrar cómo podemos crear un usuario y poder así gestionar el contenido de una manera sencilla y rápida. Esto es algo que podemos hacer en cualquier momento y crear tantos usuarios como queramos. Además, hay que asignar un nombre, contraseña, directorio y también una cuota de almacenamiento, aunque esto es voluntario y podemos dejarlo simplemente en ilimitado.

A través de Cuenta de FTP podremos administrar las cuentas que ya hemos creado o también crear una nueva, que es lo que nos interesa. Veremos automáticamente la opción de Añadir una cuenta de FTP. Tendremos que rellenar los datos como nos aparece en la imagen de abajo.

Para conectarnos al servidor FTP es fundamental contar con un usuario y contraseña, de hecho, proFTPd nos permite crear varios usuarios virtuales, esto significa que no tendremos que crearlos en el propio sistema operativo Linux para que posteriormente se conecten al servidor FTP. Esto es una de las características más interesantes de este FTP, no obstante, lo más normal sería crear diferentes usuarios y grupos con diferentes permisos como si fuera una carpeta compartida vía Samba.

El proceso para crear usuarios es el mismo que para crearlos en el sistema ya que proftpd utiliza los usuarios del sistema por defecto, de manera opcional podríamos crear los usuarios virtuales. Debemos teclear los siguientes parámetros en un terminal:

Si queremos crear un usuario, tendremos que poner la siguiente orden y seguir los pasos del asistente de configuración que tenemos en nuestra distribución con Linux.

sudo adduser usuario

Dentro del asistente, siempre nos va a indicar que pongamos la contraseña del nuevo usuario, no obstante, podríamos cambiar esta contraseña en cualquier momento poniendo al siguiente orden:

sudo passwd usuario

Esta orden lo que hace es cambiar la clave del usuario «usuario» por la que nosotros deseemos.

A partir de ahora, «usuario» podrá conectarse al FTP y accederá, por defecto, a la carpeta especificada en DefaultRoot.

  • Gestionar el tamaño disponible

Podemos crear tantas cuentas como queramos, siempre y cuando no superen el almacenamiento disponible. Hemos visto que a la hora de crear una nueva cuenta FTP para el hosting podemos asignarle un tamaño máximo. Esto es útil si no queremos problemas en nuestro sitio al quedarnos sin espacio disponible. Ya sabemos que esto puede ser limitado, según el hosting que tengamos contratado podemos tener más o menos espacio disponible.

Cada imagen, cada vídeo o cualquier archivo que subamos va a consumir esa memoria disponible. Por tanto, debemos gestionar el espacio que tenemos libre. Si fuera necesario, siempre podemos ampliar el almacenamiento. Normalmente los hostings suelen ser muy escalables, por lo que fácilmente podemos pasar a un nivel superior y poder contar con más espacio en disco disponible para poder guardar nuestros archivos sin mayores problemas.

En definitiva, administrar los archivos mediante FTP es algo muy útil. Especialmente cuando tenemos que cargar grandes archivos o muchos a la vez. Una manera sencilla e intuitiva de conectarnos al servidor y poder gestionar todo rápidamente en nuestra página web. Para ello utilizaremos la plataforma propia del hosting que tenemos, pero también está la opción de hacer uso de una herramienta independiente, como pueden ser FileZilla o WinSCP.

 

Permitir y denegar usuarios

proFTPd nos permite controlar los usuarios que pueden y no pueden iniciar sesión en nuestro servidor de una forma muy sencilla. Para ello, abrimos el archivo de configuración y añadiremos lo siguiente al final de este:

<Limit LOGIN>

AllowUser ruvelro

DenyAll

</Limit>

Otros parámetros que podemos utilizar aquí son:

  • AllowUser: Nos permite permitir un usuario específico.
  • DenyUser: Bloqueamos el acceso a un usuario específico.
  • DenyAll: Bloqueamos el acceso a todos los usuarios salvo a los que especifiquemos con AllowUser.
  • AllowAll: Permite que los usuarios como «anonymous» se conecten al FTP.

Dependiendo de lo que nos interese, podremos permitir o denegar los diferentes grupos de usuarios y usuarios, este servidor FTP es realmente muy configurable. Además, si queremos permitir las conexiones anónimas a nuestro FTP debemos añadir dentro del grupo anterior el parámetro AllowAll, quedando de la siguiente manera:

<Limit LOGIN>

AllowUser ruvelro

AllowAll

</Limit>

También podríamos poner un «DenyAll» en la parte final, con el objetivo de bloquear cualquier intento de acceso de los usuarios que tengamos excepto a los usuarios específicamente permitidos.

proftpd_tuto_foto_5

Para añadir un usuario nuevo debemos crear a este una cuenta de usuario en nuestro Ubuntu y accederá al servidor FTP con las credenciales de su cuenta.

 

Otros comandos de utilidad para proFTPd

Podemos consultar un registro de inicio de sesión y actividad con el siguiente parámetro:

sudo cat /var/log/proftpd/proftpd.log

Este comando lo que hace es mostrarnos todo el archivo de log del servidor FTP, en caso de querer mostrar las últimas líneas, podremos hacer uso del popular comando «tail», e incluso podremos ver los logs en tiempo real haciendo uso de «tail -f /var/log/proftpd/proftpd.log» para ver todos los registros en tiempo real.

Podemos consultar los usuarios que están conectados a nuestro servidor FTP en tiempo real con los siguientes comandos:

ftpwho ftptop  

Configurar FTPES en el servidor proFTPd para tener seguridad

FTPES se conoce como FTP Explícito, este protocolo nos permite conectanors al puerto TCP 21 del servidor FTP, y antes de autenticarnos y empezar a transferir información, se le añade una capa TLS 1.2 o TLS 1.3 para proteger toda la información. Por tanto, con FTPES seguiremos haciendo uso del popular puerto 21, o el puerto que vosotros queráis utilizar. También tenemos la posibilidad de solo permitir conexiones FTPES, y dejar las conexiones FTP de lado, para que tanto la autenticación como la transferencia de ficheros sean seguros. Debido a la utilización del protocolo TLS/SSL, deberemos configurar en el servidor un certificado RSA o similar, con su clave pública y su clave privada, para poder levantar correctamente el servicio de FTP.

Lo primero que debemos hacer es activar la directiva en el fichero de configuración principal de proFTPd, descomentando la parte de «Include /etc/proftpd/tls.conf», tal y como podéis ver a continuación:

Ahora vamos a crear el certificado digital RSA, necesitaremos tanto la clave pública como la clave privada que genera, para que los clientes se puedan conectar correctamente al servidor proFTPd con FTPES. El propio proFTPd incorpora una herramienta que automatiza mucho el proceso de crear certificados, esta herramienta se llama proftpd-gencert, y es muy fácil de utilizar:

root@debian-vm:/home/bron# proftpd-gencert
Generating a RSA private key
.............................................................................................................+++++
...............+++++
writing new private key to '/etc/ssl/private/proftpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:RedesZone
Locality Name (eg, city) []:RedesZone
Organization Name (eg, company) [Internet Widgits Pty Ltd]:RZ
Organizational Unit Name (eg, section) []:RZ
Common Name (e.g. server FQDN or YOUR name) []:RedesZone.NET
Email Address []:webmaster

Use the following information in your ProFTPD configuration:

TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key

See /etc/proftpd/tls.conf for suggested TLS related configuration
items and include that file in your /etc/proftpd/proftpd.conf file.

root@debian-vm:/home/bron#

Pero nosotros os vamos a enseñar cómo hacerlo «manualmente» para seleccionar la longitud de clave RSA que vosotros queráis. Para hacer esto mismo, tendremos que ejecutar el siguiente comando:

openssl genrsa -out /etc/ssl/private/proftpd.key 4096

Este comando genera la clave privada con 4096 bits RSA, posteriormente tendremos que generar el certificado digital público que se compartirá con los clientes:

openssl req -new -x509 -days 1460 -key /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt

Indicamos que queremos que caduque en 1460 días, y aquí tendremos que importar la clave privada y posteriormente exportar el certificado proftpd.crt a ese directorio. El proceso que hemos seguido es el siguiente, tal y como podéis ver en este registro:

root@debian-vm:/home/bron# openssl genrsa -out /etc/ssl/private/proftpd.key 4096
Generating RSA private key, 4096 bit long modulus (2 primes)
...................................................................................................................................................................++++
..................................................++++
e is 65537 (0x010001)
root@debian-vm:/home/bron# openssl req -new -x509 -days 1460 -key /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ES
State or Province Name (full name) [Some-State]:RedesZone
Locality Name (eg, city) []:RZ
Organization Name (eg, company) [Internet Widgits Pty Ltd]:RZ
Organizational Unit Name (eg, section) []:RZ
Common Name (e.g. server FQDN or YOUR name) []:RZ
Email Address []:webmaster
root@debian-vm:/home/bron#

Una vez que lo hayamos hecho, podremos editar el fichero de configuración «etc/proftpd/tls.conf», el cual tiene esta configuración de manera predeterminada:

# Proftpd sample configuration for FTPS connections.
#
# Note that FTPS impose some limitations in NAT traversing.
# See http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-TLS.html
# for more information.
##TLSEngine on
#TLSLog /var/log/proftpd/tls.log
#TLSProtocol SSLv23
#
# Server SSL certificate. You can generate a self-signed certificate using
# a command like:
#
# openssl req -x509 -newkey rsa:1024
# -keyout /etc/ssl/private/proftpd.key -out /etc/ssl/certs/proftpd.crt
# -nodes -days 365
#
# The proftpd.key file must be readable by root only. The other file can be
# readable by anyone.
#
# chmod 0600 /etc/ssl/private/proftpd.key
# chmod 0640 /etc/ssl/private/proftpd.key
#
#TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
#TLSRSACertificateKeyFile /etc/ssl/private/proftpd.key
#
# CA the server trusts...
#TLSCACertificateFile /etc/ssl/certs/CA.pem
# ...or avoid CA cert and be verbose
#TLSOptions NoCertRequest EnableDiags
# ... or the same with relaxed session use for some clients (e.g. FireFtp)
#TLSOptions NoCertRequest EnableDiags NoSessionReuseRequired
#
#
# Per default drop connection if client tries to start a renegotiate
# This is a fix for CVE-2009-3555 but could break some clients.
#
#TLSOptions AllowClientRenegotiations
#
# Authenticate clients that want to use FTP over TLS?
#
#TLSVerifyClient off
#
# Are clients required to use FTP over TLS when talking to this server?
#
#TLSRequired on
#
# Allow SSL/TLS renegotiations when the client requests them, but
# do not force the renegotations. Some clients do not support
# SSL/TLS renegotiations; when mod_tls forces a renegotiation, these
# clients will close the data connection, or there will be a timeout
# on an idle data connection.
#
#TLSRenegotiate required off

El fichero de configuración que debemos tener nosotros en /etc/proftpd/tls.conf es el siguiente:

TLSEngine on
TLSLog /var/ftpd/tls.log

TLSProtocol TLSv1.2 TLSv1.3

TLSRequired off

TLSRSACertificateFile /etc/ssl/certs/proftpd.crt
TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.key

TLSVerifyClient off

TLSRenegotiate none

Guardamos el archivo, y procedemos a reiniciar el servicio de proFTPd con lo que hemos aprendido anteriormente. Cuando nos vayamos a conectar, veremos que efectivamente nos estamos conectando con TLS 1.3 con un intercambio de claves seguro, y con un cifrado AES-256-GCM que nos proporcionará la mejor seguridad y rendimiento.

También podréis crear certificados basados en ECC, ya que proFTPd incorpora directivas «TLSECCertificateFile» y también «TLSECCertificateKeyFile» para ello. Podéis ver todas las opciones disponibles sobre FTPES y TLS en proFTPd en la web oficial del mod_tls.

Como podemos ver, proFTPd es un servidor FTP muy potente y sencillo de configurar. Con ProFTPd no tendremos problemas, por ejemplo, a la hora de tener que usar el servidor con muchos usuarios a la vez ni al tener que compartir archivos con muchos usuarios al mismo tiempo. Gracias a sus opciones de configuración avanzadas tenemos la posibilidad de definir todos los parámetros del servidor FTP en detalle, este software es más potente y avanzado que vsftpd, otro de los softwares por excelencia para crear un servidor FTP en sistemas Linux.

Proftpd también es compatible con sistemas operativo FreeBSD y derivados, por este motivo, sistemas operativos orientados a servidores NAS como XigmaNAS o TrueNAS disponen de este software para funcionar como servidor FTP.

 

Alternativas a proFTPd

En todas las herramientas que utilizamos en nuestro día a día, podemos encontrar alternativas. Si bien unas son más utilizadas que otras debido a su versatilidad o capacidades, es probable que en algún momento notemos que necesitemos algo que no tiene el sistema que estamos utilizando. Esto es normal, pero en muchos casos es algo que no compensa del todo, por lo cual se busca una solución que sea válida a todos los efectos. Y que ocasiones la menor pérdida de tiempo y dinero posible, obviamente, todo dentro de unos estándares de calidad que siguen las empresas. Lo cual ayuda a no comprometer el sistema de ninguna forma.

Pero en el caso de que aún no se instalara nada, es probable que se quiera ver cuáles son las opciones que tenemos disponibles. Buscar la que mejor se adapta a nuestras necesidades, o a nuestro sistema es algo que nos va permitir ahorrar tiempo y dinero. A la vez que facilitará mucho las labores de administración que sean necesarias.

Estas son solo algunas de las opciones que tenemos disponibles. Lo cual hace que esto sea un sector el cual, se puede adaptar en gran medida a nuestras necesidades. Lo cual, en el sector empresarial, nos puede ayudar mucho en muchos aspectos diferentes en todos los sistemas. Buscar un sistema versátil y fiable, es solo el primer paso. Luego, tendremos que ver cuál es el más adecuado para nosotros. Así que estas son algunas de las alternativas que se tienen disponibles:

  • FileZilla Server

Es un servidor que soporta FTP/SSL (FTPS), Lo cual nos proporciona una seguridad bajo encriptación para las conexiones de nuestro servidor. Esta alternativa está disponible para sistemas operativos como Windows, a partir de la versión Windows 7.

Para que te hagas una idea, este programa en particular es una de las alternativas más recomendadas para Windows, aunque si se usa Linux es mejor la siguiente opción o directamente utilizar ProFTPd. Además de lo anterior, hay que señalar que esta opción es completamente gratis y es de código abierto, por lo que no tendrás ningún tipo de inconveniente para instalarlo en tu dispositivo. Y se trata de una de las recomendaciones más fiables si quieres tener varias opciones presentes.

  • VSFTPD

Es uno de los más seguros que nos podeos encontrar. A la vez que resulta muy rápido para sistemas Unix, incluido Linux. Entre sus principales características se encuentran la opción de establecer límites por IP, al igual que es compatible con IPv6 o hasta te ofrece la alternativa de que puedas configurar IP virtual. Y esto es solo el inicio.

Por otro lado, hay que tener en cuenta que esta opción es un servicio realmente seguro, además de fiable y rápido. Por lo que se puede comparar a la perfección con el FTP de RedHat.

  • Microsoft IIS

Es una opción muy flexible, segura y sencilla de manejar. Se puede aplicar en casi cualquier tipo de hosting web, y es ideal para emisión de contenido. Resulta muy escalable, gracias a su arquitectura abierta con gran capacidad de añadir nuevas funciones.

  • PureFTPd

Por otra parte, también está este programa en concreto que es gratuito. Además de tener la opción de instalarlo sin pagar, se considera como una opción segura, la cual se centra en la eficiencia. Incluso, es fácil de usar. Y hay que señalar que PureFTPd se puede ejecutar en Linux, MacOS, OpenBSD, NetBSD, DragonflyBSD, FreeBSD, Solaris y derivados, Tru64, Irix, etc. Por lo que te ofrece compatibilidad con diferentes alternativas. De ahí que sea otra de las distintas opciones que se deben tener en cuenta como alternativa a ProFTPd.

20 Comentarios
Logo redeszone.net
Navega gratis con publicidad…

Navegar por testdevelocidad.es con publicidad personalizada, seguimiento y cookies de forma gratuita. i

Para ello, nosotros y nuestros socios i necesitamos tu consentimiento i para el tratamiento de datos personales i para los siguientes fines:

Las cookies, los identificadores de dispositivos o los identificadores online de similares características (p. ej., los identificadores basados en inicio de sesión, los identificadores asignados aleatoriamente, los identificadores basados en la red), junto con otra información (p. ej., la información y el tipo del navegador, el idioma, el tamaño de la pantalla, las tecnologías compatibles, etc.), pueden almacenarse o leerse en tu dispositivo a fin de reconocerlo siempre que se conecte a una aplicación o a una página web para una o varias de los finalidades que se recogen en el presente texto.

La mayoría de las finalidades que se explican en este texto dependen del almacenamiento o del acceso a la información de tu dispositivo cuando utilizas una aplicación o visitas una página web. Por ejemplo, es posible que un proveedor o un editor/medio de comunicación necesiten almacenar una cookie en tu dispositivo la primera vez que visite una página web a fin de poder reconocer tu dispositivo las próximas veces que vuelva a visitarla (accediendo a esta cookie cada vez que lo haga).

La publicidad y el contenido pueden personalizarse basándose en tu perfil. Tu actividad en este servicio puede utilizarse para crear o mejorar un perfil sobre tu persona para recibir publicidad o contenido personalizados. El rendimiento de la publicidad y del contenido puede medirse. Los informes pueden generarse en función de tu actividad y la de otros usuarios. Tu actividad en este servicio puede ayudar a desarrollar y mejorar productos y servicios.

La publicidad que se presenta en este servicio puede basarse en datos limitados, tales como la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que está interactuando (o con el que ha interactuado) (por ejemplo, para limitar el número de veces que se presenta un anuncio concreto).

  • Un fabricante de automóviles quiere promocionar sus vehículos eléctricos a los usuarios respetuosos con el medioambiente que viven en la ciudad fuera del horario laboral. La publicidad se presenta en una página con contenido relacionado (como un artículo sobre medidas contra el cambio climático) después de las 18:30 h a los usuarios cuya ubicación no precisa sugiera que se encuentran en una zona urbana.
  • Un importante fabricante de acuarelas quiere realizar una campaña publicitaria en Internet para dar a conocer su última gama de acuarelas con la finalidad de llegar tanto a artistas aficionados como a profesionales y, a su vez, se evite mostrar el anuncio junto a otro contenido no relacionado (por ejemplo, artículos sobre cómo pintar una casa). Se detectará y limitará el número de veces que se ha presentado el anuncio a fin de no mostrarlo demasiadas veces.

La información sobre tu actividad en este servicio (por ejemplo, los formularios que rellenes, el contenido que estás consumiendo) puede almacenarse y combinarse con otra información que se tenga sobre tu persona o sobre usuarios similares(por ejemplo, información sobre tu actividad previa en este servicio y en otras páginas web o aplicaciones). Posteriormente, esto se utilizará para crear o mejorar un perfil sobre tu persona (que podría incluir posibles intereses y aspectos personales). Tu perfil puede utilizarse (también en un momento posterior) para mostrarte publicidad que pueda parecerte más relevante en función de tus posibles intereses, ya sea por parte nuestra o de terceros.

  • En una plataforma de redes sociales has leído varios artículos sobre cómo construir una casa en un árbol Esta información podría añadirse a un perfil determinado para indicar tuinterés en el contenido relacionado con la naturaleza, así como en los tutoriales de bricolaje (con el objetivo de permitir la personalización del contenido, de modo que en el futuro, por ejemplo, se te muestren más publicaciones de blogs y artículos sobre casas en árboles y cabañas de madera).
  • Has visualizado tres vídeos sobre la exploración espacial en diferentes aplicaciones de televisión. Una plataforma de noticias sin relación con las anteriores y con la que no has tenido contacto en el pasado crea un perfil basado en esa conducta de visualización marcando la exploración del espacio como un tema de tu posible interés para para otros vídeos.

El contenido que se te presenta en este servicio puede basarse en un perfilde personalización de contenido que se haya realizado previamente sobre tu persona, lo que puede reflejar tu actividad en este u otros servicios (por ejemplo, los formularios con los que interactúas o el contenido que visualizas), tus posibles intereses y aspectos personales. Un ejemplo de lo anterior sería la adaptación del orden en el que se te presenta el contenido, para que así te resulte más sencillo encontrar el contenido (no publicitario) que coincida con tus intereses.

  • Has leído unos artículos sobre comida vegetariana en una plataforma de redes sociales. Posteriormente has usado una aplicación de cocina de una empresa sin relación con la anterior plataforma. El perfil que se ha creado sobre tu persona en la plataforma de redes sociales se utilizará para mostrarte recetas vegetarianas en la pantalla de bienvenida de la aplicación de cocina.
  • Has visualizado tres vídeos sobre remo en páginas web diferentes. Una plataforma de video, no relacionada con la página web en la que has visualizado los vídeos sobre remo, pero basandose en el perfil creado cuando visistaste dicha web, podrá recomendarte otros 5 vídeos sobre remo cuando utilices la plataforma de video a través de tu televisor .

La información sobre qué publicidad se te presenta y sobre la forma en que interactúas con ella puede utilizarse para determinar lo bien que ha funcionado un anuncio en tu caso o en el de otros usuarios y si se han alcanzado los objetivos publicitarios. Por ejemplo, si has visualizado un anuncio, si has hecho clic sobre el mismo, si eso te ha llevado posteriormente a comprar un producto o a visitar una página web, etc. Esto resulta muy útil para comprender la relevancia de las campañas publicitarias./p>

  • Has hecho clic en un anuncio en una página web/medio de comunicación sobre descuentos realizados por una tienda online con motivo del “Black Friday” online y posteriormente has comprado un producto. Ese clic que has hecho estará vinculado a esa compra. Tu interacción y la de otros usuarios se medirán para saber el número de clics en el anuncio que han terminado en compra.
  • Usted es una de las pocas personas que ha hecho clic en un anuncio que promociona un descuento por el “Día de la madre”de una tienda de regalos en Internet dentro de la aplicación de una web/medio de comunicación. El medio de comunicación quiere contar con informes para comprender con qué frecuencia usted y otros usuarios han visualizado o han hecho clic en un anuncio determinado dentro de la aplicación y, en particular, en el anuncio del “Día de la madre” para así ayudar al medio de comunicación y a sus socios (por ejemplo, las agencias de publicidad) a optimizar la ubicación de los anuncios.

La información sobre qué contenido se te presenta y sobre la forma en que interactúas con él puede utilizarse para determinar, por ejemplo, si el contenido (no publicitario) ha llegado a su público previsto y ha coincidido con sus intereses. Por ejemplo, si hasleído un artículo, si has visualizado un vídeo, si has escuchado un “pódcast” o si has consultado la descripción de un producto, cuánto tiempo has pasado en esos servicios y en las páginas web que has visitado, etc. Esto resulta muy útil para comprender la relevancia del contenido (no publicitario) que se te muestra.

  • Has leído una publicación en un blog sobre senderismo desde la aplicación móvil de un editor/medio de comunicación y has seguido un enlace a una publicación recomendada y relacionada con esa publicación. Tus interacciones se registrarán para indicar que la publicación inicial sobre senderismo te ha resultado útil y que la misma ha tenido éxito a la hora de ganarse tu interés en la publicación relacionada. Esto se medirá para saber si deben publicarse más contenidos sobre senderismo en el futuro y para saber dónde emplazarlos en la pantalla de inicio de la aplicación móvil.
  • Se te ha presentado un vídeo sobre tendencias de moda, pero tu y otros usuarios habéis dejado de visualizarlo transcurridos unos 30 segundos. Esta información se utilizará para valorar la duración óptima de los futuros vídeos sobre tendencias de moda.

Se pueden generar informes basados en la combinación de conjuntos de datos (como perfiles de usuario, estadísticas, estudios de mercado, datos analíticos) respecto a tus interacciones y las de otros usuarios con el contenido publicitario (o no publicitario) para identificar las características comunes (por ejemplo, para determinar qué público objetivo es más receptivo a una campaña publicitaria o a ciertos contenidos).

  • El propietario de una librería que opera en Internet quiere contar con informes comerciales que muestren la proporción de visitantes que han visitado su página y se han ido sin comprar nada o que han consultado y comprado la última autobiografía publicada, así como la edad media y la distribución de género para cada uno de los dos grupos de visitantes. Posteriormente, los datos relacionados con la navegación que realizas en su página y sobre tus características personales se utilizan y combinan con otros datos para crear estas estadísticas.
  • Un anunciante quiere tener una mayor comprensión del tipo de público que interactúa con sus anuncios. Por ello, acude a un instituto de investigación con el fin de comparar las características de los usuarios que han interactuado con el anuncio con los atributos típicos de usuarios de plataformas similares en diferentes dispositivos. Esta comparación revela al anunciante que su público publicitario está accediendo principalmente a los anuncios a través de dispositivos móviles y que es probable que su rango de edad se encuentre entre los 45 y los 60 años.

La información sobre tu actividad en este servicio, como tu interacción con los anuncios o con el contenido, puede resultar muy útil para mejorar productos y servicios, así como para crear otros nuevos en base a las interacciones de los usuarios, el tipo de audiencia, etc. Esta finalidad específica no incluye el desarrollo ni la mejora de los perfiles de usuario y de identificadores.

  • Una plataforma tecnológica que opera con un proveedor de redes sociales observa un crecimiento en los usuarios de aplicaciones móviles y se da cuenta de que, en funciónde sus perfiles, muchos de ellos se conectan a través de conexiones móviles. La plataforma utiliza una tecnología nueva para mostrar anuncios con un formato óptimo para los dispositivos móviles y con un ancho de banda bajo a fin de mejorar su rendimiento.
  • Un anunciante está buscando una forma de mostrar anuncios en un nuevo tipo de dispositivo. El anunciante recopila información sobre la forma en que los usuarios interactúan con este nuevo tipo de dispositivo con el fin de determinar si puede crear un nuevo mecanismo para mostrar la publicidad en ese tipo de dispositivo.

El contenido que se presenta en este servicio puede basarse en datos limitados, como por ejemplo la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que estás interactuando (o con el que has interactuado) (por ejemplo, para limitar el número de veces que se te presenta un vídeo o un artículo en concreto).

  • Una revista de viajes, para mejorar las experiencias de viaje en el extranjero, ha publicado en su página web un artículo sobre nuevos cursos que ofrece una escuela de idiomas por Internet. Las publicaciones del blog de la escuela se insertan directamente en la parte inferior de la página y se seleccionan en función de la ubicación no precisa del usuario (por ejemplo, publicaciones del blog que explican el plan de estudios del curso para idiomas diferentes al del país en el que este te encuentras).
  • Una aplicación móvil de noticias deportivas ha iniciado una nueva sección de artículos sobre los últimos partidos de fútbol. Cada artículo incluye vídeos alojados por una plataforma de streaming independiente que muestra los aspectos destacados de cada partido. Si adelantas un vídeo, esta información puede utilizarse para determinar que el siguiente vídeo a reproducir sea de menor duración.

Se puede utilizar la localización geográfica precisa y la información sobre las características del dispositivo

Al contar con tu aprobación, tu ubicación exacta (dentro de un radio inferior a 500 metros) podrá utilizarse para apoyar las finalidades que se explican en este documento.

Con tu aceptación, se pueden solicitar y utilizar ciertas características específicas de tu dispositivo para distinguirlo de otros (por ejemplo, las fuentes o complementos instalados y la resolución de su pantalla) en apoyo de las finalidades que se explican en este documento.

O sin publicidad desde 1,67€ al mes

Por solo 1,67€ al mes, disfruta de una navegación sin interrupciones por toda la red del Grupo ADSLZone: adslzone.net, movilzona.es, testdevelocidad.es, lamanzanamordida.net, hardzone.es, softzone.es, redeszone.net, topesdegama.com y más. Al unirte a nuestra comunidad, no solo estarás apoyando nuestro trabajo, sino que también te beneficiarás de una experiencia online sin publicidad ni cookies de seguimiento.