148
Capitulo 18. Application Layer Gateway (ALG)
18.2
FTP
El File Transfer Protocol (FTP) es un protocolo basado en TCP/IP para el intercambio de
archivos entre cliente y servidor. El cliente inicia la conexión al conectarse al servidor
FTP. Normalmente el cliente necesita autentificarse a sí mismo entregando un
registro y contraseña predefinidos. Luego de ganar acceso, el servidor proveerá al
cliente con un listado de archivo/directorio desde el cual puede descargar/cargar
archivos (dependiendo de los derechos de acceso). El FTP ALG es utilizado para
administrar conexiones FTP a través del firewall.
18.2.1
Conexiones FTP
FTP utiliza dos canales de comunicación, uno para comandos de control y uno para
que los archivos actuales sean transferidos.
Cuando una sesión FTP es abierta, el cliente FTP establece una conexión TCP
(el canal de control) al puerto 21( por defecto) en el servidor FTP.
Lo que sucede luego de este punto depende del modo en que es utilizado el FTP.
Modos
Existen dos modos, activo y pasivo, describiendo el rol del servidor con respecto a los
canales de datos abiertos
En el modo activo, el cliente FTP envía un comando al servidor FTP indicando a qué
dirección IP y puerto el servidor debe conectarse. El servidor FTP establece el canal
de datos de vuelta al cliente FTP utilizando la información de dirección recibida.
En el modo pasivo, el canal de datos es abierto por el cliente FTP del servidor FTP,
tal como el canal comando. Este es el modo recomendado por defecto para
Clientes FTP, de acuerdo a el "firewall-friendly FTP"
RFC.
Asuntos de Seguridad
Ambos modos de operación FTP presentan problemas para firewalls. Considere un
escenario donde un cliente FTP en la red interna se conecta a través del firewall a un
Servidor FTP en el Internet. La regla IP en el firewall es entonces configurada para permitir
tráfico de red desde el cliente FTP al puerto 21 en el servidor FTP.
Guía de Usuario de los Firewalls D-Link