🛡️FTP: Conexiones, Modos y Seguridad (Parte 2)
1. Conexiones FTP
El servicio FTP utiliza dos conexiones separadas entre el cliente y el servidor1:
1. Conexión de Control (o Comandos):
o Utiliza el puerto 21/TCP.
o Se mantiene activa durante toda la sesión.
o Transmite comandos de control (como get, put, ls, cd) y respuestas del servidor.
o Utiliza el protocolo Telnet.
2. Conexión de Datos:
o Se establece solo cuando se van a transferir datos (un archivo o una lista de
directorios).
o Utiliza un puerto diferente al de control.
o La transferencia de datos se realiza sobre esta conexión.
o La forma en que se establece el puerto de datos define el Modo de Conexión
(Activo o Pasivo).
2. Modos de Conexión FTP
La diferencia clave entre los modos es quién inicia la Conexión de Datos y qué puerto se
utiliza10.
Modo Pasivo (Passive
Característica Modo Activo (Active Mode)
Mode)
Control (Comandos) Cliente al Servidor,
Cliente al Servidor, Puerto 21.
Puerto 21.
Cliente al Servidor, a
Datos Servidor al Cliente, a través del puerto 20 del través de puertos
(Transferencia) servidor y un puerto aleatorio (N) del cliente. aleatorios del cliente y del
servidor (P).
Comando de Inicio Cliente envía PORT (N). Cliente envía PASV.
Iniciador de la
El Servidor. El Cliente.
Conexión de Datos
A menudo bloqueado por Firewalls en el
Modo más seguro y
lado del cliente21. El servidor no puede abrir
Problemas Comunes preferido para clientes
una conexión al cliente si este está detrás de un
detrás de un firewall.
firewall/NAT.
3. Modos de Transferencia FTP
El modo de transferencia define cómo se envían los datos a través de la Conexión de Datos24.
Modo Stream (Flujo): La transferencia se hace como un flujo continuo de datos. Es el
modo por defecto25.
Modo Block (Bloque): El fichero se transfiere en bloques precedidos por un
encabezado26.
Modo Comprimido (Compressed): El fichero se comprime utilizando el algoritmo Run-
Length Encoding (RLE) antes de ser enviado27.
4. Servicio FTP Seguro (FTPS)
Problema: El FTP original transmite la contraseña y los datos sin cifrar, siendo
vulnerable a la interceptación28.
Solución: FTPS (FTP Secure)29.
Definición: FTPS es una extensión del protocolo FTP que añade seguridad mediante la
capa SSL/TLS (Secure Sockets Layer / Transport Layer Security)30.
Características:
o Proporciona cifrado de datos31.
o Permite la autenticación mediante contraseñas, certificados o ambos32.
FTPS Explícito (Predeterminado):
o Usa el puerto 21/TCP para iniciar la conexión, como el FTP normal33.
o El cliente solicita explícitamente el uso de TLS/SSL con el comando AUTH
TLS34.
FTPS Implícito (En desuso):
o Usa un puerto distinto, el puerto 990/TCP35.
o La seguridad se establece automáticamente al inicio de la conexión 36.