Протокол обмена файлами - File eXchange Protocol

Протокол обмена файлами ( FXP или FXSP ) - это метод передачи данных, который использует FTP для передачи данных с одного удаленного сервера на другой ( между серверами ) без маршрутизации этих данных через соединение клиента. Обычный FTP включает в себя один сервер и одного клиента ; все данные передаются между этими двумя. В сеансе FXP клиент поддерживает стандартное FTP-соединение с двумя серверами и может указать любому серверу подключиться к другому, чтобы инициировать передачу данных. Преимущество использования FXP по сравнению с FTP очевидно, когда сервер с высокой пропускной способностью требует ресурсов от другого сервера с высокой пропускной способностью, но только клиент с низкой пропускной способностью, например сетевой администратор, работающий вдали от места, имеет право доступа к ресурсам на оба сервера.

Риск

Включение поддержки FXP может сделать сервер уязвимым для эксплойта, известного как отказ FTP . В результате в программном обеспечении FTP-сервера FXP часто по умолчанию отключен. Некоторые сайты ограничивают IP-адреса надежными сайтами, чтобы ограничить этот риск.

FXP через SSL

Некоторые FTP-серверы, такие как glFTPd , cuftpd, RaidenFTPD, drftpd и wzdftpd, поддерживают согласование безопасного канала данных между двумя серверами с использованием любой из команд расширения протокола FTP; CPSV или SSCN. Обычно это работает, когда клиент выдает CPSV вместо команды PASV или отправляет SSCN до передачи PASV, что дает серверу команду создать соединение SSL или TLS . Однако оба метода - CPSV и SSCN - могут быть уязвимы для атак типа « злоумышленник в середине» , если два FTP-сервера не проверяют сертификаты SSL друг друга. SSCN был впервые представлен RaidenFTPD и SmartFTP в 2003 году и получил широкое распространение.

Технический

Хотя FXP часто считается отдельным протоколом, на самом деле это просто расширение протокола FTP и указано в RFC  959 :

        User-PI - Server A  (Dest)              User-PI - Server B  (Source)
        ------------------                      ------------------
       
        C->A : Connect                          C->B : Connect
        C->A : PASV
        A->C : 227 Entering Passive Mode. A1,A2,A3,A4,a1,a2
                                                C->B : PORT A1,A2,A3,A4,a1,a2
                                                B->C : 200 Okay
        C->A : STOR                             C->B : RETR
                   B->A : Connect to HOST-A, PORT-a

Ссылки

Этот «протокол» стандартизирован IETF как часть RFC 959 :

  • RFC  959 Протокол передачи файлов (FTP). Дж. Постел, Дж. Рейнольдс. Октябрь 1985 г. В результате предыдущий RFC  765 и более ранние RFC FTP были заменены на исходный RFC  114 .

Смотрите также