23 ftp

15

Click here to load reader

Transcript of 23 ftp

Page 1: 23  ftp

387

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.

Page 2: 23  ftp

388

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

Page 3: 23  ftp

389

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

Page 4: 23  ftp

390

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

Page 5: 23  ftp

391

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 momento 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.

Page 6: 23  ftp

392

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.

Page 7: 23  ftp

393

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.

Page 8: 23  ftp

394

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.

Page 9: 23  ftp

395

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.

Page 10: 23  ftp

396

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.

Page 11: 23  ftp

397

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.

Page 12: 23  ftp

398

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.

Page 13: 23  ftp

399

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.

Page 14: 23  ftp

400

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

Page 15: 23  ftp

401

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.