Protokół wymiany plików

File eXchange Protocol ( FXP lub FXSP ) to metoda przesyłania danych, która wykorzystuje FTP do przesyłania danych z jednego zdalnego serwera na inny ( między serwerami ) bez kierowania tych danych przez połączenie klienta. Konwencjonalny protokół FTP obejmuje jeden serwer i jednego klienta ; cała transmisja danych odbywa się między tymi dwoma. W sesji FXP klient utrzymuje standardowe połączenie FTP z dwoma serwerami i może skierować jeden z serwerów do połączenia z drugim w celu zainicjowania transferu danych. Zaleta korzystania z FXP przez FTP jest oczywista, gdy serwer o dużej przepustowości wymaga zasobów od innego serwera o dużej przepustowości, ale tylko klient o niskiej przepustowości, taki jak administrator sieci pracujący z dala od lokalizacji, ma uprawnienia dostępu do zasobów na oba serwery.

Ryzyko

Włączenie obsługi FXP może narazić serwer na exploit znany jako odbijanie FTP . W rezultacie serwera FTP często ma domyślnie wyłączone FXP. Niektóre witryny ograniczają adresy IP do zaufanych witryn, aby ograniczyć to ryzyko.

FXP przez SSL

Niektóre serwery FTP, takie jak glFTPd , cuftpd, RaidenFTPD, drftpd i wzdftpd obsługują negocjowanie bezpiecznego kanału danych między dwoma serwerami przy użyciu jednego z poleceń rozszerzających protokół FTP; CPSV lub SSCN. Zwykle działa to, gdy klient wystawia CPSV zamiast polecenia PASV — lub wysyła SSCN przed transferami PASV — co instruuje serwer, aby utworzył połączenie SSL lub TLS . Jednak obie metody — CPSV i SSCN — mogą być podatne na ataki typu „man-in-the-middle” , jeśli oba serwery FTP nie weryfikują wzajemnie swoich certyfikatów SSL. SSCN został po raz pierwszy wprowadzony przez RaidenFTPD i SmartFTP w 2003 roku i został szeroko [ potrzebne źródło ] przyjęty. [ kiedy? ]

Techniczny

  Chociaż FXP jest często uważany za odrębny protokół, w rzeczywistości jest jedynie rozszerzeniem protokołu FTP i jest określony w dokumencie RFC 959 :

 User-PI — serwer A (docelowy) User-PI — serwer B (źródło) ------------------ -------------- ---- C->A : Połącz C->B : Połącz C->A : PASV A->C : 227 Wejście w tryb pasywny. A1,A2,A3,A4,a1,a2 C->B : PORT A1,A2,A3,A4,a1,a2 B->C : 200 OK C->A : STOR C->B : RETR B-  
 > A: Podłącz do HOST-A, PORT-a 

Ten „protokół” jest znormalizowany jako podzbiór RFC 959 przez IETF jako:

  •       RFC 959 Protokół przesyłania plików (FTP). J. Postel, J. Reynolds. październik-1985. Spowodowało to przestarzałe poprzednie RFC 765 i wcześniejsze RFC FTP z powrotem do oryginalnego RFC 114 .

Zobacz też