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.
gssftpd — Un demonio FTP kerberizado basado en xinetd que no pasa información de autenticación sobre la red.
Red Hat Content Accelerator (tux) — Un servidor Web con espacio kernel que posee capacidades de FTP.
vsftpd — Una implementación de servicio FTP independiente y orientado a la seguridad.
Las siguientes pautas de seguridad son para la configuración del servicio FTP vsftpd.
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.# #################################################### |
![]() | Nota |
---|---|
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.
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ón |
---|---|
Si está activando el acceso anónimo a un servidor FTP, tenga cuidado de dónde guarda información confidencial. |
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 |
![]() | Aviso |
---|---|
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 |
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 |
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.
Utilice TCP Wrappers para controlar el acceso a cualquier demonio FTP como se describió en la Sección 5.1.1.