FTP (Lo que tienes que saber)

lunes, 16 de enero de 2012
FTP (siglas en inglés de File Transfer Protocol, 'Protocolo de Transferencia de Archivos') en informática, es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos.
Para solucionar este problema son de gran utilidad aplicaciones como scp y sftp, incluidas en el paquete SSH, que permiten transferir archivos pero cifrando todo el tráfico.


Fuente: http://es.wikipedia.org/wiki/File_Transfer_Protocol










FTP activo vs. pasivo

El protocolo FTP es utilizado para transferencia de archivos entre dos hosts remotos, definido en la RFC 959. El mismo soporta básicamente dos modos de funcionamiento, FTP activo y FTP pasivo.
El protocolo FTP funciona de una forma que es denominada fuera de banda. Por un lado, utiliza una conexión persistente para control (envío de comandos) y otra conexión a demanda para datos (se abre sólo cuando hay una transferencia real de información). Por ello se verá que el mismo utiliza 2 puertos TCP: 21 para control y 20 para datos.
En el modo activo trabaja básicamente de la siguiente manera:
  • El cliente A inicia la conexión con un puerto TCP origen aleatorio N al puerto destino TCP 21 del servidor B.
  • El cliente comienza a escuchar peticiones en el puerto TCP N+1 y se lo indica al servidor.
  • El servidor B será luego el que, al transferir información al cliente, se conectará al puerto TCP destino N+1 del cliente A con puerto TCP origen 20.
El siguiente diagrama muestra el intercambio anterior:
Funcionamiento de FTP activo
Funcionamiento de FTP activo
El gran problema con el modo activo es que no funciona con clientes detrás de NAT, pues el servidor no puede alcanzar el puerto en el que el cliente escucha. También implica un problema de seguridad, dado que el cliente no debería recibir conexiones sino generarlas.
Lo anterior se soluciona con el modo pasivo, donde es el cliente el que inicia ambas conexiones. En este caso el protocolo es el que sigue:
  • El cliente A inicia una conexión desde un puerto TCP origen aleatorio N al puerto destino TCP 21 del servidor B.
  • El servidor le responde con un puerto donde estará escuchando sus peticiones.
  • El cliente A inicia las conexiones de datos desde otro puerto TCP origen aleatorio N+1 al puerto TCP destino especificado por el servidor.
El siguiente diagrama refleja lo explicado:
Funcionamiento de FTP pasivo
Funcionamiento de FTP pasivo
Ahora bien, el problema en este caso es segurizar el servidor, puesto que como el puerto en el que escuchará las peticiones del cliente es aleatorio es difícil diagramar el firewall para el mismo (aunque algunos programas permiten especificar el rango de puertos posibles).

Para explicarles mas facil estos dos modos el modo activo se conecta normal por el puerto 21 y se conecta tambien por el puerto 20 para los datos, pero aqui intervienen cliente y servidor al conectar.
El modo pasivo como si el servidor tuviera un firewall y no dejara conectar por el dicho puerto 20 para los datos se usa este modo, y asi poder transferir burlando al firewall eso se podria decir je!.

Cracking FTP Brutus



Troyanizando FTP








0 comentarios:

Publicar un comentario