В чем разница между активным и пассивным FTP?



кто-нибудь, пожалуйста, скажите мне, в чем разница между активным и пассивным FTP? Какой из них предпочтительнее?

1203   5  

5 ответов:

активный и пассивный-это два режима, в которых может работать FTP.

для фона FTP фактически использует два каналы между клиентом и сервером, команды и каналы данных, которые на самом деле отдельные TCP-соединения.

команда канала для команд и ответов, в то время как канал данных для передачи файлов.

Это разделение командной информации и данных на отдельные каналы отличный способ возможность отправлять команды на сервер без необходимости ждать завершения текущей передачи данных. Согласно RFC, это требуется только для подмножества команд, таких как выход, прерывание текущей передачи и получение статуса.


на активный режим, клиент устанавливает командный канал, но сервер отвечает за установление канала передачи данных. Это действительно может быть проблемой, если, например, клиентская машина защищен брандмауэрами и не допускает несанкционированных сеансовых запросов от внешних сторон.

на пассивный режим, клиент устанавливает и каналы. Мы уже знаем, что он устанавливает командный канал в активном режиме, и он делает то же самое здесь.

однако затем он запрашивает сервер (на командном канале) для запуска слушать на порту (по усмотрению серверов) вместо того, чтобы пытаться установить соединение обратно клиент.

в рамках этого сервер также возвращает клиенту номер порта, который он выбрал для прослушивания, чтобы клиент знал, как подключиться к нему.

Как только клиент узнает об этом, он может успешно создать канал данных и продолжить.

более подробная информация доступна в RFC:https://www.ietf.org/rfc/rfc959.txt

Я недавно столкнулся с этим вопросом на своем рабочем месте, поэтому я думаю, что должен сказать что-то еще здесь. Я буду использовать изображение, чтобы объяснить, как FTP работает в качестве дополнительного источника для предыдущего ответа.

активный режим:

active mode


пассивный режим:

enter image description here


В конфигурации активного режима сервер попытается подключиться к случайному порту на стороне клиента. Так что, скорее всего, этот порт не будет одним из тех стандартные порты. В результате попытка подключения к нему будет заблокирована брандмауэром и соединение не будет установлено.

enter image description here


Пассивная конфигурация не будет иметь этой проблемы, так как клиент будет инициировать соединение. Конечно, на стороне сервера тоже может быть брандмауэр. Однако, поскольку сервер ожидается большее количество запросов на подключение по сравнению с клиентом, то это будет, но логично, чтобы администратор сервера адаптировался к ситуации и открыл выбор портов для удовлетворения конфигураций пассивного режима.

Так что было бы лучше для вас, чтобы настроить сервер для поддержки пассивного режима FTP. Однако пассивный режим сделает вашу систему уязвимой для атак, потому что клиенты должны подключаться к случайным портам сервера. Таким образом, чтобы поддерживать этот режим, не только ваш сервер должен иметь несколько доступных портов, ваш брандмауэр также должен разрешать подключения ко всем эти порты, чтобы пройти через!

чтобы снизить риски, хорошим решением было бы указать диапазон портов на вашем сервере, а затем разрешить только этот диапазон портов на вашем брандмауэре.

для получения дополнительной информации, пожалуйста, прочитайте официальный документ.

отредактированная версия моей статьи режимы подключения FTP (активный и пассивный):

режим FTP-соединения (активный или пассивный), определяет, как устанавливается соединение для передачи данных. В обоих случаях клиент создает управляющее TCP-соединение с командным портом FTP-сервера 21. Это стандартное исходящее соединение, как и любой другой протокол передачи файлов (SFTP, SCP, WebDAV) или любое другое клиентское приложение TCP (например, веб-браузер). Так что, обычно их нет проблемы при открытии управляющего соединения.

где протокол FTP является более сложным по сравнению с другими протоколами передачи файлов передача файлов. В то время как другие протоколы используют одно и то же соединение для управления сеансом и передачи файлов (данных), протокол FTP использует отдельное соединение для передачи файлов и списков каталогов.

на активный режим, клиент начинает слушать на случайном порте для входящих соединений данных от сервер (клиент отправляет команду FTP PORT сообщить серверу, на каком порту он слушает). В настоящее время типично, что клиент находится за брандмауэром (например, встроенный брандмауэр Windows) или маршрутизатором NAT (например, ADSL-модем), не может принимать входящие TCP-соединения.

по этой причине пассивный режим был введен и в основном используется в настоящее время. Используя пассивный режим предпочтительнее, потому что большая часть сложной конфигурации выполняется только один раз на стороне сервера, опытным администратором, а не индивидуально на стороне клиента, (возможно) неопытными пользователями.

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

настройки сети Пассивный Режим

С пассивный режим, большая часть нагрузки конфигурации находится на стороне сервера. Администратор сервера должен настроить сервер, как описано ниже.

брандмауэр и NAT на стороне FTP-сервера должны быть настроены не только для разрешения/маршрутизации входящих соединений на FTP-Порту 21, но и для ряда портов для входящих подключений к данным. Как правило, программное обеспечение FTP-сервера имеет параметр конфигурации для настройки диапазона портов, сервер будет использовать. И тот же диапазон должен быть открыт/маршрутизирован на брандмауэре/NAT.

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

Smart Firewalls / NATs

некоторые брандмауэры / NATs пытаются автоматически открывать / закрывать порты данных, проверяя соединение управления FTP и / или переводя IP-адреса подключения к данным в трафик подключения управления.

С такой брандмауэр / NAT, приведенная выше конфигурация не требуется для простого незашифрованного FTP. Но это не может работать с FTPS, так как трафик подключения управления зашифрован, и брандмауэр/NAT не может проверить или изменить его.

активный режим: -сервер инициирует соединение.

пассивный режим: - клиент инициирует соединение.

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

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

есть много хороших ответов, но этот блог включает в себя некоторые полезные графика и дает довольно солидное объяснение: https://titanftp.com/2018/08/23/what-is-the-difference-between-active-and-passive-ftp/

Comments

    Ничего не найдено.