11.3. Servidor de archivos FTP
FTP (protocolo de transferencia de archivos: «File Transfer Protocol») es uno de los primeros protocolos de Internet (¡RFC 959 fue publicado en 1985!). Era utilizado para distribuir archivos antes que naciera la web (se creó el protocolo HTTP en 1990, y su versión 1.0 fue formalmente definida en el RFC 1945 publicado en 1996).
El protocolo permite tanto subir como descargar archivos; por esta razón, todavía continúa siendo utilizado para desplegar actualizaciones a un sitio web almacenado por nuestro proveedor de Internet (o cualquier otra entidad que almacene sitios web). En estos casos, se fuerza el acceso seguro con un identificador de usuario y una contraseña; si éste es exitoso, el servidor FTP proporciona acceso de lectura y escritura al directorio del usuario.
Otros servidores FTP son utilizados principalmente para distribuir archivos para descargar públicamente; los paquetes Debian son un buen ejemplo. Se obtiene el contenido de estos servidores desde otros servidores, geográficamente remotos; luego éstos estarán disponibles para usuarios menos distantes. Esto significa que no necesita autenticación del cliente; como consecuencia, se conoce este modo de operación como «FTP anónimo». Para ser perfectamente correcto, los clientes sí se autentican con el nombre de usuario anonymous
(«anónimo»); la contraseña es generalmente, por convención, la dirección de correo del usuario, pero el servidor la ignora.
Hay muchos servidores FTP disponibles en Debian (ftpd, proftpd-basic, ftpd, etc.). Los administradores de Falcot Corp seleccionaron vsftpd porque sólo utilizan el servidor FTP para distribuir unos pocos archivos (incluyendo un repositorio de paquetes Debian); como no necesitan funcionalidades avanzadas, eligieron enfocarse en los aspectos de seguridad.
Instalar el paquete crea un usuario de sistema ftp
. Siempre se utiliza esta cuenta para conexiones FTP anónimas, y su directorio personal (/srv/ftp/
) es la raíz del árbol al que tienen acceso los usuarios que se conecten a este servicio. La configuración predeterminada (en /etc/vsftpd.conf
) requiere algunso cambios para permitir poner a disposición archivos grandes para su descarga pública: es necesario habilitar el acceso anonimo (anonymous_enable=YES
) y se debe desactivar el acceso (de sólo lectura) para los usuarios locales (local_enable=NO
). Este último punto es particularmente importante, puesto que el protocolo FTP no utiliza cifrado y podría interceptarse la contraseña de los usuario a través de la red.