5.6. Aseguramiento de FTP

El Protocolo de transferencia de archivos (FTP) es un protocolo TCP antiguo diseñado para transferir archivos sobre la red. Debido a que las transacciones con el servidor no son encriptadas, incluyendo la autenticación de usuarios, se considera un protocolo inseguro y debería ser configurado cuidadosamente.

Red Hat Enterprise Linux proporciona tres servidores FTP.

Las siguientes pautas de seguridad son para la configuración del servicio FTP vsftpd.

5.6.1. Pancarta de saludo de FTP

Antes de suministrar un nombre de usuario y contraseña, a todos los usuarios se les presenta una pancarta de saludo. Por defecto, esta pancarta incluye la información sobre la versión, lo que es útil para los crackers que estén intentando averiguar las debilidades del sistema.

Para cambiar la pancarta de bienvenida para vsftpd, añada la directiva siguiente a /etc/vsftpd/vsftpd.conf:

ftpd_banner=<insert_greeting_here>

Reemplace <insert_greeting_here> en la directiva de arriba con el texto de su mensaje de bienvenida.

Para pancartas de varias líneas, es mejor utilizar un archivo de pancartas. Para simplificar la administración de múltiples pancartas, colocaremos todas las pancartas en un nuevo directorio llamado /etc/banners/. El archivo de pancartas para las conexiones FTP en este ejemplo será /etc/banners/ftp.msg. Abajo se muestra un ejemplo de como se vería tal archivo:

####################################################
# Hello, all activity on ftp.example.com is logged.#
####################################################

NotaNota
 

No es necesario comenzar cada línea del archivo con 220 como se especifica en la Sección 5.1.1.1.

Para hacer referencia a este archivo de pancartas para vsftpd, añada la siguiente directiva a /etc/vsftpd/vsftpd.conf:

banner_file=/etc/banners/ftp.msg

También es posible enviar pancartas adicionales a las conexiones entrantes usando TCP wrappers como se describió en la Sección 5.1.1.1.

5.6.2. Acceso anónimo

La presencia del directorio /var/ftp/ activa la cuenta anónima.

La forma más fácil de crear este directorio es instalando el paquete vsftpd. Este paquete configura un árbol de directorios y configura los permisos en estos directorios como de sólo lectura para los usuarios anónimos.

Por defecto los usuarios anónimos no pueden escribir a estos directorios.

AtenciónAtención
 

Si está activando el acceso anónimo a un servidor FTP, tenga cuidado de dónde guarda información confidencial.

5.6.2.1. Carga anónima

Si desea permitir a los usuarios anónimos que carguen archivos al servidor, se recomienda que cree un directorio de sólo escritura dentro de /var/ftp/pub/.

Para hacer esto escriba:

mkdir /var/ftp/pub/upload

Luego, cambie los permisos para que los usuarios anónimos no puedan ver que hay dentro del directorio, escribiendo:

chmod 730 /var/ftp/pub/upload

Un listado de formato largo del directorio debería verse como:

drwx-wx---    2 root     ftp          4096 Feb 13 20:05 upload

AvisoAviso
 

Los administradores que permiten a los usuarios anónimos leer y escribir en directorios, a menudo encuentran que sus servidores se convierten en depósitos de software robado.

Adicionalmente, bajo el comando vsftpd, añada la línea siguiente a /etc/vsftpd/vsftpd.conf:

anon_upload_enable=YES

5.6.3. Cuentas de usuarios

Debido a que FTP pasa los nombres de usuarios y contraseñas sobre redes inseguras sin encriptar, es una buena idea negar a los usuarios del sistema el acceso al servidor desde sus cuentas de usuario.

Para deshabilitar las cuentas de usuarios en vsftpd, añada la siguiente directiva a /etc/vsftpd/vsftpd.conf:

local_enable=NO

5.6.3.1. Restringir cuentas de usuarios

La forma más fácil de restringir un grupo específico de cuentas de usuarios, tales como el usuario root y aquellos con privilegios sudo, de acceder a un servidor FTP, es usando un archivo de lista PAM como se describe en la Sección 4.4.2.4. El archivo de configuración PAM para vsftpd es /etc/pam.d/vsftpd.

También es posible desactivar las cuentas de usuario dentro de cada servicio directamente.

Para deshabilitar una cuenta de usuario específica en vsftpd, añada el nombre de usuario a /etc/vsftpd.ftpusers.

5.6.4. Usar TCP Wrappers para controlar el acceso

Utilice TCP Wrappers para controlar el acceso a cualquier demonio FTP como se describió en la Sección 5.1.1.