File eXchange Protocol
# File eXchange Protocol

File eXchange Protocol (FXP) es un método de transferencia de datos, a través del cual los datos se envían de un servidor FTP a otro sin pasar por un cliente intermedio. La comunicación convencional FTP consiste en un solo servidor y un solo cliente. Toda la transferencia de datos se realiza entre los dos. Durante una sesión FXP, un cliente mantiene conexiones estándares con dos servidores, dirigiendo cualquiera de los dos servidores que se conecte al otro para iniciar una transferencia de datos. Este método permite a un cliente con poco ancho de banda intercambiar datos entre dos servidores con más ancho de banda sin el retraso asociado con la comunicación convencional FTP. A lo largo de este proceso, sólo el cliente es capaz de acceder a los recursos de los dos servidores.

## Riesgos

Sin embargo, algunos de los servidores que soportan el FXP son vulnerables a un exploit conocido como el ataque FTP Bounce, por el cual un usuario malicioso puede superar algunos cortafuegos.

## FXP a través de SSL

Algunos servidores FTP como glFTPD, RaidenFTPd y wzdftpd soportan la negociación de un canal de dato seguro entre dos servidores mediante cualquiera de las dos órdenes de extensión del protocolo FTP: CPSV o SSCN. Normalmente, un cliente realiza esto enviando CPSV en lugar de la orden PASV (modo pasivo), o enviando SSCN antes de iniciar las transferencias pasivas. No obstante, ambos métodos aún son susceptibles a los ataques Man-in-the-middle, pues los dos servidores FTP no comprueban sus respectivos certificados SSL.

## Técnica

Aunque el FXP se puede calificar de su propio protocolo, es meramente una extensión de FTP en cambio y se describe en RFC 959:

