Servidor FTP anónimo (Protocolo de Transferencia de Archivos)

Si deseamos compartir archivos de manera abierta y donde no sea necesario tener en cuenta cuestiones relacionadas con la seguridad, montar un servidor FTP (Protocolo de Transferencia de Archivos por sus siglas en inglés) es una alternativa a considerar. En particular, un servidor FTP anónimo es el que nos permite distribuir archivos sin necesidad de que el cliente se autentique.

Montar un servidor FTP anónimo

En Linux hay diferentes posibilidades para implementar un servidor FTP anónimo. En este post elegimos utilizar vsftpd, debido a la seguridad y a la rapidez de respuesta que ofrece. Para montarlo necesitaremos instalar el paquete del mismo nombre:

yum install vsftpd # CentOS y similares
aptitude install vsftpd ftp # Debian y derivados

Para configurar el servidor, debemos buscar las siguientes directivas (o agregarlas, si no están presentes) y asegurarnos de que tengan el valor indicado en /etc/vsftpd/vsftpd.conf (el archivo de configuración de vsftpd). En el archivo adjunto (servidor-ftp-anonimo-man-page.pdf) se encuentra una descripción detallada de cada una de ellas. De todas maneras, es bueno aclarar el propósito de las que están relacionadas específicamente con la implementación del servidor FTP anónimo:

  • anon_root: directorio donde guardaremos los archivos a compartir (/share/ftp en nuestro caso).
  • no_anon_password: nos permite indicar si se permiten usuarios anónimos. En nuestro caso elegimos yes.
  • anon_max_rate permite especificar la velocidad de transferencia, en bytes por segundo, para los usuarios anónimos. En este caso usaremos 10240 (10 KB/s).

Ahora sí, veamos el resto de las directivas y sus valores necesarios:

local_enable=NO
write_enable=NO
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
anon_max_rate=10240
local_max_rate=20480
max_per_ip=5
anon_root=/share/ftp
no_anon_password=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=15000
pasv_max_port=15500

Reiniciemos el servicio:

systemctl start vsftpd

y agreguemos un archivo cualquiera (archivo1.pdf) en el directorio /share/ftp. Finalmente vayamos a ftp://192.168.0.29 (o la IP que corresponda al servidor donde hayamos instalado FTP) mediante nuestro navegador web y veamos el resultado en la Fig. 1:

Nuestro servidor FTP anónimo en funcionamiento
Figura 1 – Nuestro servidor FTP anónimo en funcionamiento

Como podemos apreciar, el archivo que agregamos está disponible para su descarga. ¡Felicitaciones! Hemos montado nuestro servidor FTP anónimo.

¡Nos leemos en breve!