Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this document? Why not share!

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,748
On Slideshare
1,748
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
40
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. FTP El Protocolo de transferencia de archivos (FTP) es uno de los protocolos más viejos y populares que se encuentran en la Internet hoy día. Su objetivo es el de transmitir archivos exitósamente entre máquinas en una red sin que el usuario tenga que iniciar una sesión en el host remoto o que requiera tener conocimientos sobre cómo utilizar el sistema remoto. FTP permite a los usuarios acceder a archivos en sistemas remotos usando un conjunto de comandos estándar muy simples. Este capítulo describe los elementos básicos de este protocolo, así como también las opciones de configuración para el servidor FTP primario que se entrega con Red Hat Enterprise Linux, vsftpd. 23.1. The File Transfer Protocol However, because FTP is so prevalent on the Internet, it is often required to share files to the public. System administrators, therefore, should be aware of the FTP protocol's unique characteristics. 23.1.1. Puertos múltiples, modos múltiples A diferencia de la mayoría de los protocolos utilizados en Internet, FTP requiere de múltiples puertos de red para funcionar correctamente. Cuando una aplicación cliente FTP inicia una conexión a un servidor FTP, abre el puerto 21 en el servidor — conocido como el puerto de comandos. Se utiliza este puerto para arrojar todos los comandos al servidor. Cualquier petición de datos desde el servidor se devuelve al cliente a través del puerto de datos. El número de puerto para las conexiones de datos y la forma en la que las conexiones son inicializadas varía dependiendo de si el cliente solicita los datos en modo activo o en modo pasivo. A continuación se describen estos modos: active mode El modo activo es el método original utilizado por el protocolo FTP para la transferencia de datos a la aplicación cliente. Cuando el cliente FTP inicia una transferencia de datos, el servidor abre una conexión desde el puerto 20 en el servidor para la dirección IP y un puerto aleatorio sin privilegios (mayor que 1024) especificado por el cliente. Este arreglo implica que la máquina cliente debe poder aceptar conexiones en cualquier puerto superior al 1024. Con el crecimiento de las redes inseguras, tales como Internet, es muy común el uso de cortafuegos para proteger las máquinas cliente. Debido a que estos cortafuegos en el lado del cliente normalmente rechazan las conexiones entrantes desde servidores FTP en modo activo, se creó el modo pasivo. passive mode La aplicación FTP cliente es la que inicia el modo pasivo, de la misma forma que el modo activo. El cliente FTP indica que desea acceder a los datos en modo pasivo y el servidor proporciona la dirección IP y el puerto aleatorio, sin privilegios (mayor que 1024) en el servidor. Luego, el cliente se conecta al puerto en el servidor y descarga la información requerida. While passive mode resolves issues for client-side firewall interference with data connections, it can complicate administration of the server-side firewall. You can reduce the number of open ports on a server by limiting the range of unprivileged ports on the FTP server. This also simplifies the process of configuring firewall rules for the server. Refer to Sección 23.5.8, “Opciones de red” for more about limiting passive ports. 387
  • 2. Archivos instalados con vsftpd 23.2. Servidores FTP Red Hat Enterprise Linux se entrega con dos servidores FTP diferentes: • Acelerador de Contenidos Red Hat — Un servidor Web basado en el kernel que ofrece un servidor web y servicios FTP de alto rendimiento. Puesto que la velocidad es su objetivo principal de diseño, su funcionalidad es limitada y solamente se ejecuta como FTP anónimo. Para más información sobre la configuración y administración del Acelerador de Contenidos Red Hat, consulte la documentación disponible en línea en http://www.redhat.com/docs/manuals/tux/. • vsftpd — un demonio FTP rápido y seguro. Este es el preferido en Red Hat Enterprise Linux. El resto de este capítulo se enfoca en vsftpd. 23.2.1. vsftpd The Very Secure FTP Daemon (vsftpd) is designed from the ground up to be fast, stable, and, most importantly, secure. vsftpd is the only stand-alone FTP server distributed with Red Hat Enterprise Linux, due to its ability to handle large numbers of connections efficiently and securely. El modelo de seguridad utilizado por vsftpd tiene tres aspectos principales: • Clara separación de procesos privilegiados y sin privilegios — Procesos separados manejan tareas diferentes y cada uno de estos procesos se ejecuta con los privilegios mínimos requeridos para la tarea. • Las tareas que requieren altos privilegios son manejadas por procesos con los mínimos privilegios necesarios — Influenciando las compatibilidades encontradas en la biblioteca libcap, las tareas que usualmente requieren privilegios de superusuario se pueden ejecutar de forma más segura desde un proceso menos privilegiado. • La mayoría de los procesos se ejecutan enjaulados en un ambiente chroot — Siempre que sea posible, se cambia la raíz de los procesos al directorio compartido; este directorio se considera luego como la jaula chroot. Por ejemplo, si el directorio /var/ftp/ es el directorio compartido principal, vsftpd reasigna /var/ftp/ al nuevo directorio raíz, conocido como /. Esto previene actividades maliciosas de cualquier hacker potencial en algún directorio que no estén por debajo del nuevo directorio root. El uso de estas prácticas de seguridad tiene el efecto siguiente en cómo vsftpd trata con las peticiones: • El proceso padre se ejecuta con el mínimo de privilegios requerido — El proceso padre calcula dinámicamente el nivel de privilegios requerido para minimizar el nivel de riesgos. Los procesos hijo manejan la interacción directa con los clientes FTP y se ejecutan casi sin ningún privilegio. • Todas las operaciones que requieren altos privilegios son manejadas por un pequeño proceso padre — Similar a Servidor HTTP Apache, vsftpd lanza procesos hijos sin privilegios para manejar las conexiones entrantes. Esto permite al proceso padre privilegiado, ser tan pequeño como sea posible y manejar relativamente pocas tareas. • El proceso padre no confia en ninguna de las peticiones desde procesos hijos sin privilegios — Las comunicaciones con procesos hijos se reciben sobre un socket y la validez de cualquier información desde un proceso hijo es verificada antes de proceder. • La mayor parte de la interacción con clientes FTP la manejan procesos hijo sin privilegios en una jaula chroot. — Debido a que estos procesos hijo no tienen privilegios y solamente tienen acceso 388
  • 3. Archivos instalados con vsftpd al directorio que está siendo compartido, cualquier proceso fallido solamente permitirá al atacante acceder a los archivos compartidos. 23.3. Archivos instalados con vsftpd El RPM vsftpd instala el demonio (/usr/sbin/vsftpd), su archivo de configuración y otros archivos relacionados, así como también los directorios FTP en el sistema. La siguiente es una lista de los archivos y directorios considerados más a menudo cuando se configura vsftpd: • /etc/rc.d/init.d/vsftpd — The initialization script (initscript) used by the /sbin/service command to start, stop, or reload vsftpd. Refer to Sección 23.4, “Iniciar y detener vsftpd” for more information about using this script. • /etc/vsftpd/vsftpd.conf — The configuration file for vsftpd. Refer to Sección 23.5, “Opciones de configuración vsftpd ” for a list of important options contained within this file. • /etc/vsftpd.ftpusers — Una lista de los usuarios que no tienen permitido conectarse a vsftpd. Por defecto esta lista incluye a los usuarios root, bin y daemon, entre otros. • /etc/vsftpd.user_list — Este archivo se puede configurar para negar o permitir el acceso a los usuarios listados, dependiendo de si la directriz userlist_deny está configurada a YES (por defecto) o a NO en /etc/vsftpd/vsftpd.conf. Si se utiliza /etc/vsftpd.user_list para permitir acceso a los usuarios, los nombres de usuarios listados no deben aparecer en /etc/ vsftpd.ftpusers. • El directorio /var/ftp/ — El directorio que contiene los archivos servidos por vsftpd. También contiene el directorio /var/ftp/pub/ para los usuarios anónimos. Ambos directorios están disponibles para la lectura de todos, pero sólo el superusuario o root puede escribir en el. 23.4. Iniciar y detener vsftpd El RPM vsftpd instala el script /etc/rc.d/init.d/vsftpd, al cual se puede acceder usando el comando /sbin/service. Para iniciar el servidor, escriba como usuario root, lo siguiente: /sbin/service vsftpd start Para detener el servidor, como root escriba: /sbin/service vsftpd stop La opción restart es un atajo para detener y volver a iniciar vsftpd. Esta es la forma más efectiva para que los cambios de configuración tomen efecto luego de modificar el archivo de configuración para vsftpd. Para reiniciar el servidor, escriba como root: /sbin/service vsftpd restart 389
  • 4. Archivos instalados con vsftpd La opción condrestart (reinicio condicional) solamente arranca vsftpd si está ejecutándose en ese momento. Esta opción es muy útil para scripts, puesto que no arranca el demonio si este no se está ejecutando. Para reiniciar el servidor de forma condicional, escriba como usuario root: /sbin/service vsftpd condrestart 23.4.1. Iniciar múltiples copias de vsftpd En ocasiones, se utiliza un computador para servir varios dominios FTP. Esta es una técnica que se conoce como multihoming (multi-anfitrión). Una forma de hacer multihome usando vsftpd es ejecutando múltiples copias del demonio, cada uno con su propio archivo de configuración. To do this, first assign all relevant IP addresses to network devices or alias network devices on the system. Refer to Capítulo 15, Configuración de la red for more information about configuring network devices and device aliases. Additional information can be found about network configuration scripts in Capítulo 14, Interfaces de red. Next, the DNS server for the FTP domains must be configured to reference the correct machine. For information about BIND and its configuration files, refer to Capítulo 17, Berkeley Internet Name Domain (BIND). For vsftpd to answer requests on different IP addresses, multiple copies of the daemon must be running. The first copy must be run using the vsftpd initscripts, as outlined in Sección 23.4, “Iniciar y detener vsftpd”. This copy uses the standard configuration file, /etc/vsftpd/vsftpd.conf. Cada sitio FTP adicional debe tener un archivo de configuración con un nombre único en el directorio /etc/vsftpd/, tal como /etc/vsftpd/vsftpd-site-2.conf. Cada archivo de configuración sólo debería de ser legído y escrito por root. Dentro de cada archivo de configuración para cada servidor FTP que se encuentre escuchando en la red IPv4, la siguiente directriz debe ser única: listen_address=N.N.N.N Reemplace N.N.N.N con la única dirección IP para el sitio FTP que está siendo servido. Si el sitio en cuestión está utilizando IPv6, utilice la directriz listen_address6. Una vez que cada servidor adicional tenga su archivo de configuración, el demonio vsftpd se debe lanzar desde un indicador de comandos shell usando el comando siguiente: vsftpd /etc/vsftpd/<configuration-file> [amp ] In the above command, replace <configuration-file> with the unique name for the server's configuration file, such as /etc/vsftpd/vsftpd-site-2.conf. Otras directrices que podría considerar modificar en una base de por servidor son: • anon_root • local_root • vsftpd_log_file 390
  • 5. Opciones de configuración vsftpd • xferlog_file For a detailed list of directives available within vsftpd's configuration file, refer to Sección 23.5, “Opciones de configuración vsftpd ”. Para configurar servidores adicionales para que se inicien de forma automática al mo mento del arranque, añada el comando que se muestra arriba al final del archivo /etc/rc.local. 23.5. Opciones de configuración vsftpd Although vsftpd may not offer the level of customization other widely available FTP servers have, it offers enough options to fill most administrator's needs. The fact that it is not overly feature-laden limits configuration and programmatic errors. Toda la configuración de vsftpd es manejada por su archivo de configuración, /etc/vsftpd/ vsftpd.conf. Cada directriz está en su propia línea dentro del archivo y sigue el formato siguiente: <directive>=<value> For each directive, replace <directive> with a valid directive and <value> with a valid value. Importante There must not be any spaces between the <directive>, equal symbol, and the <value> in a directive. Se debe colocar el símbolo de almohadilla (#) antes de una línea en comentarios. El demonio ignorará cualquier línea en comentarios. Para una lista completa de las directrices disponibles, consulte las páginas man para vsftpd.conf. The following is a list of some of the more important directives within /etc/vsftpd/vsftpd.conf. All directives not explicitly found within vsftpd's configuration file are set to their default value. 23.5.1. Opciones de demonios La lista siguiente presenta las directrices que controlan el comportamiento general del demonio vsftpd. • listen — Cuando esta directriz está activada vsftpd se ejecuta en modo independiente. Red Hat Enterprise Linux establece este valor a YES. Esta directriz no se puede utilizar junto con la directriz listen_ipv6. El valor predeterminado es NO. • listen_ipv6 — Cuando esta directriz está activada vsftpd se ejecuta en modo independiente, pero solamente escucha a los sockets IPv6. Esta directriz no se puede utilizar junto con la directriz listen. El valor predeterminado es NO. 391
  • 6. Opciones de configuración vsftpd 23.5.2. Opciones de conexión y control de acceso La siguiente es una lista de las directrices que controlan el comportamiento de los inicios de sesión y los mecanismos de control de acceso. • anonymous_enable — Al estar activada, se permite que los usuarios anónimos se conecten. Se aceptan los nombres de usuario anonymous y ftp. El valor por defecto es YES. Refer to Sección 23.5.3, “Opciones de usuario anónimo” for a list of directives affecting anonymous users. • banned_email_file — Si la directriz deny_email_enable tiene el valor de YES, entonces esta directriz especifica el archivo que contiene una lista de contraseñas de correo anónimas que no tienen permitido acceder al servidor. El valor predeterminado es /etc/vsftpd.banned_emails. • banner_file — Especifica un archivo que contiene el texto que se mostrará cuando se establece una conexión con el servidor. Esta opción supersede cualquier texto especificado en la directriz ftpd_banner. Esta directriz no tiene un valor predeterminado. • cmds_allowed — Especifica una lista delimitada por comas de los comandos FTP que permite el servidor. Se rechaza el resto de los comandos. Esta directriz no tiene un valor predeterminado. • deny_email_enable — Si está activada, se le niega el acceso al servidor a cualquier usuario anónimo que utilice contraseñas de correo especificadas en /etc/vsftpd.banned_emails. Se puede especificar el nombre del archivo al que esta directriz hace referencia usando la directriz banned_email_file. El valor predeterminado es NO. • ftpd_banner — Si está activada, se muestra la cadena de caracteres especificada en esta directriz cuando se establece una conexión con el servidor. banner_file puede sobreescribir esta opción. Por defecto, vsftpd muestra su pancarta estándar. • local_enable — Al estar activada, los usuarios locales pueden conectarse al sistema. El valor por defecto es YES. Refer to Sección 23.5.4, “Opciones del usuario local” for a list of directives affecting local users. • pam_service_name — Especifica el nombre de servicio PAM para vsftpd. El valor predeterminado es ftp, sin embargo, bajo Red Hat Enterprise Linux, el valor es vsftpd. • El valor predeterminado es NO, sin embargo, bajo Red Hat Enterprise Linux, el valor está configurado a YES. 392
  • 7. Opciones de usuario anónimo • userlist_deny — Cuando se utiliza en combinación con la directriz userlist_enable y con el valor de NO, se les niega el acceso a todos los usuarios locales a menos que sus nombres esten listados en el archivo especificado por la directriz userlist_file. Puesto que se niega el acceso antes de que se le pida la contraseña al cliente, al configurar esta directriz a NO previene a los usuarios locales a proporcionar contraseñas sin encriptar sobre la red. El valor por defecto es YES. • userlist_enable — Cuando está activada, se les niega el acceso a los usuarios listados en el archivo especificado por la directriz userlist_file. Puesto que se niega el acceso al cliente antes de solicitar la contraseña, se previene que los usuarios suministren contraseñas sin encriptar sobre la red. El valor predeterminado es NO, sin embargo, bajo Red Hat Enterprise Linux el valor está configurado a YES. • userlist_file — Especifica el archivo al que vsftpd hace referencia cuando la directriz userlist_enable está activada. El valor predeterminado es /etc/vsftpd.user_list y es creado durante la instalación. 23.5.3. Opciones de usuario anónimo A continuación, se presenta una lista de las directrices que controlan el acceso de usuarios anónimos al servidor. Para utilizar estas opciones, la directriz anonymous_enable debe tener el valor de YES. • anon_mkdir_write_enable — Cuando se activa en combinación con la directriz write_enable, los usuarios anónimos pueden crear nuevos directorios dentro de un directorio que tiene permisos de escritura. El valor predeterminado es NO. • anon_root — Especifica el directorio al cual vsftpd cambia luego que el usuario anónimo se conecta. Esta directriz no tiene un valor predeterminado. • anon_upload_enable — Cuando se usa con la directriz write_enable, los usuarios anónimos pueden cargar archivos al directorio padre que tiene permisos de escritura. El valor predeterminado es NO. • anon_world_readable_only — Si está activada, los usuarios anónimos solamente pueden descargar archivos legibles por todo el mundo. El valor por defecto es YES. • ftp_username — Especifica la cuenta del usuario local (listada en /etc/passwd) utilizada por el usuario FTP anónimo. El directorio principal especificado en /etc/passwd para el usuario es el directorio raíz del usuario FTP anónimo. El valor por defecto es ftp. • no_anon_password — Cuando está activada, no se le pide una contraseña al usuario anónimo. 393
  • 8. Opciones de usuario anónimo El valor predeterminado es NO. • secure_email_list_enable — Cuando está activada, solamente se aceptan una lista de contraseñas especificadas para las conexiones anónimas. Esto es una forma conveniente de ofrecer seguridad limitada al contenido público sin la necesidad de usuarios virtuales. Se previenen las conexiones anónimas a menos que la contraseña suministrada esté listada en /etc/vsftpd.email_passwords. El formato del archivo es una contraseña por línea, sin espacios al comienzo. El valor predeterminado es NO. 23.5.4. Opciones del usuario local La siguiente es una lista de las directrices que caracterizan la forma en que los usuarios locales acceden al servidor. Para utilizar estas opciones, la directriz local_enable debe estar a YES. • chmod_enable — Cuando está activada, se permite el comando FTP SITE CHMOD para los usuarios locales. Este comando permite que los usuarios cambien los permisos en los archivos. El valor por defecto es YES. • chroot_list_enable — Cuando está activada, se coloca en una prisión de chroot a los usuarios locales listados en el archivo especificado en la directriz chroot_list_file. Si se utiliza en combinación con la directriz chroot_local_user, los usuarios locales listados en el archivo especificado en la directriz chroot_list_file, no se colocan en una prisión chroot luego de conectarse. El valor predeterminado es NO. • chroot_list_file — Especifica el archivo que contiene una lista de los usuarios locales a los que se hace referencia cuando la directriz chroot_list_enable está en YES. El valor por defecto es /etc/vsftpd.chroot_list. • chroot_local_user — Si está activada, a los usuarios locales se les cambia el directorio raíz (se hace un chroot) a su directorio principal luego de la conexión. El valor predeterminado es NO. Aviso Al activar chroot_local_user se abren varios problemas de seguridad, especialmente para los usuarios con privilegios para hacer cargas. Por este motivo, no se recomienda su uso. • guest_enable — Al estar activada, todos los usuarios anónimos se conectan como guest, el cual es el usuario local especificado en la directriz guest_username. El valor predeterminado es NO. • guest_username — Especifica el nombre de usuario al cual guest está asignado. 394
  • 9. Opciones de directorio El valor por defecto es ftp. • local_root — Especifica el directorio al cual vsftpd se cambia después de que el usuario se conecta. Esta directriz no tiene un valor predeterminado. • local_umask — Specifies the umask value for file creation. Note that the default value is in octal form (a numerical system with a base of eight), which includes a "0" prefix. Otherwise the value is treated as a base-10 integer. El valor por defecto 022. • passwd_chroot_enable — Cuando se activa junto con la directriz chroot_local_user, vsftpd cambia la raiz de los usuarios locales basado en la ocurrencia de /./ en el campo del directorio principal dentro de /etc/passwd. El valor predeterminado es NO. • user_config_dir — Specifies the path to a directory containing configuration files bearing the name of local system users that contain specific setting for that user. Any directive in the user's configuration file overrides those found in /etc/vsftpd/vsftpd.conf. Esta directriz no tiene un valor predeterminado. 23.5.5. Opciones de directorio La siguiente es una lista de directrices que afectan a los directorios. • dirlist_enable — Al estar activada, los usuarios pueden ver los listados de directorios. El valor por defecto es YES. • dirmessage_enable — Al estar activada, se mostrará un mensaje cada vez que un usuario entra en un directorio con un archivo de mensaje. Este mensaje se encuentra dentro del directorio al que se entra. El nombre de este archivo se especifica en la directriz message_file y por defecto es .message. El valor predeterminado es NO, sin embargo, bajo Red Hat Enterprise Linux, el valor está configurado a YES. • force_dot_files — Al estar activada, se listan en los listados de directorios los mensajes que comienzan con un punto (.), a excepción de los archivos . y ... El valor predeterminado es NO. • hide_ids — Cuando está activada, todos los listados de directorios muestran ftp como el usuario y grupo para cada archivo. El valor predeterminado es NO. • message_file — Especifica el nombre del archivo de mensaje cuando se utiliza la directriz dirmessage_enable. El valor predeterminado es .message. 395
  • 10. Opciones de directorio • text_userdb_names — Cuando está activado, se utilizan los nombres de usuarios y grupos en lugar de sus entradas UID o GID. Al activar esta opción puede que reduzca el rendimiento del servidor. El valor predeterminado es NO. • use_localtime — Al estar activada, los listados de directorios revelan la hora local para el computador en vez de GMT. El valor predeterminado es NO. 23.5.6. Opciones de transferencia de archivos La siguiente es una lista de directrices que afectan a los directorios. • download_enable — Cuando está activada, se permiten las descargas de archivos. El valor por defecto es YES. • chown_uploads — Si está activada, todos los archivos cargados por los usuarios anónimos pertenecen al usuario especificado en la directriz chown_username. El valor predeterminado es NO. • chown_username — Especifica la propiedad de los archivos cargados anónimamente si está activada la directriz chown_uploads. El valor predeterminado es root. • write_enable — Cuando está activada, se permiten los comandos FTP que pueden modificar el sistema de archivos, tales como DELE, RNFR y STOR. El valor por defecto es YES. 23.5.7. Opciones de conexión The following lists directives which affect vsftpd's logging behavior. • dual_log_enable — Cuando se activa en conjunto con xferlog_enable, vsftpd escribe simultáneamente dos archivos: un registro compatible con wu-ftpd al archivo especificado en la directriz xferlog_file (por defecto /var/log/xferlog) y un archivo de registro estándar vsftpd especificado en la directriz vsftpd_log_file (por defecto /var/log/vsftpd.log). El valor predeterminado es NO. • log_ftp_protocol — Cuando está activado en conjunto con xferlog_enable y con xferlog_std_format configurada a NO, se registran todos los comandos y respuestas. Esta directriz es muy útil para propósitos de depuración. El valor predeterminado es NO. • syslog_enable — Cuando se activa en conjunto con xferlog_enable, todos los registros que normalmente se escriben al archivo estándar vsftpd especificado en la directriz vsftpd_log_file, se envían al registro del sistema bajo la facilidad FTPD. El valor predeterminado es NO. 396
  • 11. Opciones de red • vsftpd_log_file — Especifica el archivo de registro de vsftpd. Para que se utilice este archivo, xferlog_enable debe estar activado y xferlog_std_format debe ser bien sea NO o, si está en YES, entonces dual_log_enable debe estar activado. Es importante resaltar que si syslog_enable está en YES, se utiliza el registro del sistema en lugar del archivo especificado en esta directriz. El valor por defecto es /var/log/vsftpd.log. • xferlog_enable — Cuando se activa, vsftpd registra las conexiones (solamente formato vsftpd) y la información de transferencia, al archivo de registro especificado en la directriz vsftpd_log_file (por defecto es /var/log/vsftpd.log). Si xferlog_std_format está configurada a YES, se registra la información de transferencia de archivo pero no las conexiones y en su lugar se utiliza el archivo de registro especificado en xferlog_file (por defecto /var/ log/xferlog). Es importante observar que se utilizan ambos archivos y formatos de registro si dual_log_enable tiene el valor de YES. El valor predeterminado es NO, sin embargo, bajo Red Hat Enterprise Linux, el valor está configurado a YES. • xferlog_file — Especifica el archivo de registro compatible con wu-ftpd. Para que se utilice este archivo, xferlog_enable debe estar activado y xferlog_std_format debe tener el valor de YES. También se utiliza si dual_log_enable tiene el valor de YES. El valor por defecto es /var/log/xferlog. • xferlog_std_format — Cuando se activa en combinación con xferlog_enable, sólo se escribe un archivo de registro compatible con wu-ftpd al archivo especificado en la directriz xferlog_file (por defecto /var/log/xferlog). Es importante resaltar que este archivo solamente registra transferencias de archivos y no las conexiones al servidor. El valor predeterminado es NO, sin embargo, bajo Red Hat Enterprise Linux, el valor está configurado a YES. Importante Para mantener la compatibilidad con los archivos de registro escritos por el servidor FTP más antiguo wu-ftpd, se configura la directriz xferlog_std_format a YES bajo Red Hat Enterprise Linux. Sin embargo, esta configuración implica que las conexiones al servidor no son registradas. Para registrar ambas conexiones en formato vsftpd y mantener un archivo de registro de transferencia compatible con wu-ftpd, configure dual_log_enable a YES. Si no es de importancia mantener un archivo de registro de transferencias compatible con wu-ftpd, entonces configure xferlog_std_format a NO, comente la línea con un carácter de almohadilla (#) o borre completamente la línea. 23.5.8. Opciones de red Lo siguiente lista las directrices que afectan cómo vsftpd interactua con la red. 397
  • 12. Opciones de red • accept_timeout — Especifica la cantidad de tiempo para un cliente usando el modo pasivo para establecer una conexión. El valor por defecto 60. • anon_max_rate — Especifica la cantidad máxima de datos transmitidos por usuarios anónimos en bytes por segundo. El valor por defecto es 0, lo que no limita el ratio de transferencia. • connect_from_port_20 — Cuando está activada, vsftpd se ejecuta con privilegios suficientes para abrir el puerto 20 en el servidor durante las transferencias de datos en modo activo. Al desactivar esta opción, se permite que vsftpd se ejecute con menos privilegios, pero puede ser incompatible con algunos clientes FTP. El valor predeterminado es NO, sin embargo, bajo Red Hat Enterprise Linux, el valor está configurado a YES. • connect_timeout — Especifica la cantidad máxima de tiempo que un cliente usando el modo activo tiene para responder a una conexión de datos, en segundos. El valor por defecto 60. • data_connection_timeout — Especifica la cantidad máxima de tiempo que las conexiones se pueden aplazar en segundos. Una vez lanzado, se cierra la conexión con el cliente remoto. El valor predeterminado es 300. • ftp_data_port — Especifica el puerto utilizado por las conexiones de datos activas cuando connect_from_port_20 está configurado a YES. El valor predeterminado es 20. • idle_session_timeout — Especifica la cantidad máxima de tiempo entre comandos desde un cliente remoto. Una vez disparado, se cierra la conexión al cliente remoto. El valor predeterminado es 300. • listen_address — Especifica la dirección IP en la cual vsftpd escucha por las conexiones de red. Esta directriz no tiene un valor predeterminado. Tip If running multiple copies of vsftpd serving different IP addresses, the configuration file for each copy of the vsftpd daemon must have a different value for this directive. Refer to Sección 23.4.1, “Iniciar múltiples copias de vsftpd” for more information about multihomed FTP servers. • listen_address6 — Especifica la dirección IPv6 en la cual vsftpd escucha por conexiones de red cuando listen_ipv6 está configurada a YES. Esta directriz no tiene un valor predeterminado. 398
  • 13. Opciones de red Tip If running multiple copies of vsftpd serving different IP addresses, the configuration file for each copy of the vsftpd daemon must have a different value for this directive. Refer to Sección 23.4.1, “Iniciar múltiples copias de vsftpd” for more information about multihomed FTP servers. • listen_port — Especifica el puerto en el cual vsftpd escucha por conexiones de red. El valor predeterminado es 21. • local_max_rate — Especifica la taza máxima de transferencia de datos para los usuarios locales conectados en el servidor en bytes de segundo. El valor por defecto es 0, lo que no limita el ratio de transferencia. • max_clients — Especifica el número máximo de clientes simultáneos que tienen permitido conectarse al servidor cuando se ejecuta en modo independiente. Cualquier conexión adicional resultará en un mensaje de error. El valor predeterminado es 0, lo que no limita las conexiones. • max_per_ip — Especifica el máximo número de clientes que tienen permitido conectarse desde la misma dirección IP fuente. El valor predeterminado es 0, lo que no limita las conexiones. • pasv_address — Especifica la dirección IP para la IP del lado público del servidor para los servidores detrás de cortafuegos Network Address Translation (NAT). Esto permite que vsftpd entregue la dirección correcta de retorno para las conexiones pasivas. Esta directriz no tiene un valor predeterminado. • pasv_enable — Cuando está activa, se permiten conexiones en modo pasivo. El valor por defecto es YES. • pasv_max_port — Especifica el puerto más alto posible enviado a los clientes FTP para las conexiones en modo pasivo. Esta configuración es utilizada para limitar el intervalo de puertos para que las reglas del cortafuegos sean más fáciles de crear. El valor predeterminado es 0, lo que no limita el rango de puertos pasivos más alto. El valor no puede exceder de 65535. • pasv_min_port — Especifica el puerto más bajo posible para los clientes FTP para las conexiones en modo pasivo. Esta configuración es utilizada para limitar el intervalo de puertos para que las reglas del cortafuego sean más fáciles de implementar. El valor predeterminado es 0, lo que no limita el intervalo de puertos pasivos más bajo. El valor no debe ser menor que 1024. 399
  • 14. Opciones de red • pasv_promiscuous — Cuando está activada, las conexiones de datos no son verificadas para asegurarse de que se originan desde la misma dirección IP. Este valor solamente es útil para ciertos tipos de tunneling. At en ció n No active esta opción a menos que sea absolutamente necesario ya que desactiva una funcionalidad de seguridad muy importante la cual verifica que las conexiones en modo pasivo partan desde la misma dirección IP que la conexión de control que inicia la transferencia de datos. El valor predeterminado es NO. • port_enable — Cuando está activada, se permiten las conexiones en modo activo. El valor por defecto es YES. 23.6. Recursos adicionales Para más información sobre vsftpd, consulte los recursos siguientes. 23.6.1. Documentación instalada • The /usr/share/doc/vsftpd-<version-number>/ directory — Replace <version- number> with the installed version of the vsftpd package. This directory contains a README with basic information about the software. The TUNING file contains basic performance tuning tips and the SECURITY/ directory contains information about the security model employed by vsftpd. • Páginas man relacionadas con vsftpd — Hay varias páginas man para este demonio y los archivos de configuración. Lo siguiente lista algunas de las más importantes. Aplicaciones de servidor • man vsftpd — Describe las opciones de línea de comandos disponibles para vsftpd. Archivos de configuración • man vsftpd.conf — Contiene una lista detallada de las opciones disponibles dentro del archivo de configuración para vsftpd. • man 5 hosts_access — Describe el formato y las opciones disponibles dentro de los archivos de configuración de TCP wrappers: hosts.allow and hosts.deny. 23.6.2. Sitios web de utilidad • http://vsftpd.beasts.org/ — La página del proyecto vsftpd es un excelente lugar para 400
  • 15. Opciones de red ubicar la documentación más reciente y para contactar al autor del software. • http://slacksite.com/other/ftp.html — Este sitio proporciona una explicación completa de las diferencias entre el modo activo y pasivo de FTP. • http://www.ietf.org/rfc/rfc0959.txt — Una lista completa de las Request for Comments (RFCs) del protocolo FTP desde IETF. 401