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.
15.1. El Protocolo de Transferencia de Archivos
FTP utiliza una arquitectura cliente/servidor para transferir archivos usando el protocolo de red TCP. Puesto que FTP es un protocolo m�s antiguo, no utiliza una autenticaci�n de usuarios y contrase�a encriptada. Por esta raz�n, se considera un protocolo inseguro y no se deber�a utilizar a menos que sea absolutamente necesario. sftp, del conjunto de herramientas OpenSSH, es un buen sustituto para FTP. Para informaci�n sobre la configuraci�n de OpenSSH, consulte el cap�tulo OpenSSH en el Manual de administraci�n del sistema de Red Hat Enterprise Linux. Para m�s informaci�n sobre el protocolo SSH, consulte el Cap�tulo 20.
Sin embargo, puesto que FTP est� tan extendido en la Internet, se requiere a menudo para compartir archivos con el p�blico. Por lo tanto, los administradores de sistemas deber�an estar conscientes de las caracter�sticas �nicas del protocolo FTP.
15.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:
modo activo
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.
modo pasivo
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.
Mientras que el modo pasivo resuelve el problema de la interferencia del cortafuegos en el lado del cliente con las conexiones de datos, tambi�n puede complicar la administraci�n del cortafuegos del lado del servidor. Una de las formas de limitar el n�mero de puertos abiertos en el servidor y de simplificar la tarea de crear reglas para el cortafuegos del lado del servidor, es limitando el rango de puertos sin privilegios ofrecidos para las conexiones pasivas. Consulte la Secci�n 15.5.8 para m�s detalles sobre c�mo limitar puertos pasivos.