Домой / Группы / Ftp пассивный режим какие порты. FileZilla FTP Server для домашней или небольшой офисной сети

Ftp пассивный режим какие порты. FileZilla FTP Server для домашней или небольшой офисной сети

FTP (File Transfer Protocol) один из самых архаичных протоколов передачи данных. Он был создан ещё до HTTP более 40 лет назад. Тем не менее, технология «FTP клиент-сервер» и «сервер-сервер», простая в использовании и не требующая особого обслуживания, до сих пор служит надежным средством систематизации внутреннего документооборота, создания многопользовательских архивов в локальных сетях корпораций и свободного распространения программного обеспечения, мультимедиа, документов и материалов во всемирной паутине.

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

Пассивный режим необходим в случаях, когда компьютер клиента находится в защищенной локальной вычислительной сети. Большинство браузеров поддерживают FTP-протокол, и позволяет подключаться, просматривать и копировать данные с удаленных серверов. Так, в Internet Explorer можно, указав в адресной строке ftp:// “IP адрес сервера” или найти с помощью FileSearch ссылки самых популярных хранилищ файлов. На вкладке/«Свойства обозревателя/Дополнительно»/ можно разрешить использовать пассивный режим FTP.

Не требуется никаких особых настроек в браузере «Mozilla Firefox». “Total Comander» и «Far” имеют встроенный FTP клиент. Здесь при создании нового соединения необходимо дополнительно указать логин и пароль. К открытым серверам логин по умолчанию «anonymous», а пароль – адрес вашего почтового ящика.

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

Для клиентов, работающих в файлообменном режиме постоянно или довольно часто, необходимо установить FTP менеджер. Это программа серий FileZilla, CuteFTP , SmartFTP , FTP Voyager и т.д. , которые тоже можно найти в открытом доступе в интернете. Эти программы дают возможность более тонкой настройки соединения с удаленным сервером FTP. Они незаменимы в случаях работы с серверами, работающими только в “active mode” , поскольку даже при отсутствии статического IP адреса у клиента, программа может эмулировать его на период сессии.

Среди русскоязычных пользователей наибольшую популярность получила бесплатная программа с открытым кодом – FileZilla. Эта программа просто устанавливается, у нее понятный русский интерфейс. Для настройки соединений можно использовать несколько вариантов. Общая настройка - Меню/Редактирование /Настройки/. выполнены в древовидном виде и затрагивают настройки всех доступных модулей. В этом же разделе меню можно переключиться на мастера создания подключения, где пошагово будут предложены параметры подключения при выборе активного или пассивного режима. Некоторые FTP серверы предлагают скачать небольшие файлы сценариев подключения, которые можно импортировать в программу и создать готовое постоянное подключение.

И наконец, среди консольных команд ОС Windows поддерживается команда ftp.exe, которая предоставляет возможность «ручного» подключения к FTP серверу с помощью введения консольных команд (протокол поддерживает 25 команд). Использование и синтаксис ввода этих команд необходимо хорошо знать и усвоить, но это потребует определённых навыков и опыта программирования.

» Режимы работы ftp серверов

Для FTP необходимо 2 соединения - первое для команд и второе для данных.Первое соединение (с данными) всегда идет от клиента на сервер, а вот направление второго различается для активного и пассивного режимов.

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

Одним важным моментом является то, что большинство FTP серверов (по крайней мере, под Windows) не позволяют ограничивать диапазон портов для второго соединения, что усложняет конфигурацию Firewall-ов и делает невозможной нормальную защиту для многих из них. Например, Serv-U - один из немногих позволяет ограничивать этот диапазон.

Из «ЧАВО» TMeter

FTP-протокол подразумевает два различных соединения между клиентом и FTP-сервером. Первое соединение называется «управляющим» (control connection). Оно предназначено для «входа» клиента в FTP-сервера, перехода между каталогами в FTP-сервере и т.п. Для того, чтобы получить список файлов с сервера, скачать файл с сервера или закачать файл на сервер, используется второе соединение, называемое «соединение для передачи данных» (data connection).

Управляющее соединение одинаково для Активного и Пассивного режима. Клиент инициирует TCP-соединение с динамического порта (1024-65535) к порту номер 21 на FTP-сервере и говорит «Привет! Я хочу подключиться к тебе. Вот мое имя и мой пароль». Дальнейшие действия зависят от того, какой режим FTP (Активный или Пассивный) выбран.

В активном режиме , когда клиент говорит «Привет!» он так же сообщает серверу номер порта (из динамического диапазона 1024-65535) для того, чтобы сервер мог подключиться к клиенту для установки соединения для передачи данных. FTP-сервер подключается к заданному номеру порта клиента используя со своей стороны номер TCP-порта 20 для передачи данных.

В пассивном режиме, после того как клиент сказал «Привет!», сервер сообщает клиенту номер TCP-порта (из динамического диапазона 1024-65535), к которому можно подключится для установки соединения передачи данных.

Главное отличие между активным режимом FTP и пассивным режимом FTP - это сторона, которая открывает соединение для передачи данных . В Активном режиме, клиент должен принять соединение от FTP-сервера. В Пассивном режиме, клиент всегда инициирует соединение.

Пример активного соединения:

Control Connection: Client port 1026 > < Server port 20

Пример пассивного соединения:

Control Connection: Client port 1026 > Server port 21 Data Connection: Client port 1027 < Server port 2065

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


Исправляем это недоразумение.


Обязательно сохраним оригинальный файл termsrv.dll. Запустим командную строку от Администратора и выполним

copy c:\Windows\System32\termsrv.dll termsrv.dll_old

Затем смотрим вашу версию. Правый клик на файле c:\Windows\System32\termsrv.dll и выберем свойства.


Скачиваем измененный файл соответствующий вашей версии

Если хочется все исправить своими руками, то копируем свой файл termsrv.dll из папки c:\Windows\System32\ на рабочий стол. Открываете его любым hex редактором, например этим бесплатным HxD . И заменяете байты в указанной строчке.

В первой колонке значение, которое должно быть, во второй оригинальное.

Windows 7 SP1 64bit:

173C0: B8 8B
173C1: 00 87
173C2: 01 38
173C3: 00 06
173C5: 90 00
173C6: 89 39
173C8: 38 3C
173CC: 90 0F
173CD: 90 84
173CE: 90 EB
173CF: 90 C2
173D0: 90 00
173D1: 90 00
176FA: 00 01
5AD7E: EB 74
Для Windows 8.1 (64bit) заменяем целиком строку!
в v6.3.9600.16384
строчку
8B 81 38 06 00 00 39 81 3C 06 00 00 0F 84 1B 70 00 00
на
B8 00 01 00 00 89 81 38 06 00 00 90 90 90 90 90 90 90

в 6.3.9600.16384 to 6.3.9600.17095
строчку
39 81 3C 06 00 00 0F 84 9E 31 05 00
на

6.3.9600.17095 to 6.3.9600.17415
строчку
39 81 3C 06 00 00 0F 84 D3 1E 02 00
на
B8 00 01 00 00 89 81 38 06 00 00 90
Воспользуемся инструментом замены с типом шестнадцатеричные значения

После замены сохраняете изменения.

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



Далее останавливаете службу удаленного рабочего стола


Заменяем файл termsrv.dll на скаченный или измененный.

Еще нужно изменить значение ключа в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser на 0!

И снова запускаем службу!

Подключаемся и радуемся! Теперь локального пользователя не выкидывает из системы!

Для Windows XP
1) Редактируем файл
termsrv.dll (SP2 5.1.2600.2180) 295,424 bytes

128BB: 75 -> 74
217D3: 8B -> 33
217D4: C7 -> C0
2192D: 8B -> 33
2192E: C7 -> C0
225B7: 54 -> 20
termsrv.dll (SP3 5.1.2600.5512) 295,424 bytes
22A17: 74 -> 75
22A69: 7F -> 90
22A6A: 16 -> 90
2) Заменять файл в директории C:\Windows\System32\ нужно в безопасном режиме, поскольку по умолчанию включена защита системных файлов (System File Protection). Для этого перезагрузите компьютер с зажатой F8 , выберите безопасный режим.
3) Добавить ключи реестра

EnableConcurrentSessions ”=dword:00000001

EnableConcurrentSessions ”=dword:00000001
AllowMultipleTSSessions ”=dword:00000001

4) Далее Пуск -> Выполнить, gpedit.msc. В окне редактора групповой политики Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Служба терминалов. Включите Ограничение количества подключений и установите количество подключений равное 3 или более.
5) Перезагружайтесь и подключайтесь!

27.05.2018

Как известно протокол FTP отличается от других протоколов тем что требует два сокета - один командный (для общения с сервером), а другой - для передачи данных. С этим более менее все понятно. Непонятным, на первый взгляд, представляются такие понятия, как пассивный и активный режимы FTP соединения. Но это только на первый взгляд.

А теперь более подробно. В отличие от HTTP и большинства других протоколов, используемых в Интернете, протокол FTP использует во время сеанса как минимум два подключения: полудуплексное подключение для управления и полное дуплексное подключение для передачи данных. По умолчанию для управления подключениями на сервере используется TCP порт 21, но подключение данных определяется методом, который клиент использует для подключения к серверу.

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

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

Активный режим FTP-подключений

Активный режим FTP иногда называют "управляемым клиентом", потому что клиент посылает команду PORT на сервер (через управляющее соединение), тем самым запрашивает сервер для установления соединения данных из TCP -порт 20 на сервере, клиенту, используя TCP порт, который указан по команде PORT .

Клиент FTP отправляет команду PORT FTP -серверу в следующем формате:

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

В основной части страницы вам нужно выбрать один из серверов загрузки. Когда кто-то не работает, попробуйте другой. На следующем уровне необходимо найти ссылку на «скачать» или что-то в этом роде и загрузить файл на диск. В бесплатной версии вам нужно сжать одно из трех нажатий клавиш.

PORT 192,168,0,3,19,243

где первых четыре значения соответствуют октетам IP адреса клиента, а пятое и шестое - это старший и младший байты 16-битного значения порта. Для преобразования старшего и младшего байтов в десятичный номер порта, пятое значение умножается на 256 и к результату прибавляется шестое значение. В рассмотренном примере получится: (19 * 256) + 243 = 5107. Таким образом клиент указывает серверу открыть подключение к данным используя 192.168.0.3:5107. По умолчанию FTP клиент выбирает временный порт для подключения к данным. Временный порт выбирается случайным образом из диапазона доступных портов от 1024 до 65535

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

Первая сессия шва не важна. Ожидайте имя, которое описывает соединение для вас. Вы должны получить его у своего хостинг-провайдера. Он не содержит слизи или дублеты! Анонимный вход - это не ваше дело - напротив, вы будете использовать имя и пароль. Вы получаете имя пользователя и пароль от своего хостинг-провайдера. Хотя это облегчает работу, но есть вирусы, которые могут его выкопать, а затем вышивать страницы. Для подключения не требуются следующие настройки.

Ниже представлена типичная последовательность для активного режима FTP -подключения:

Команда Отправлено из Отправлено на
USER MyUserName 192.168.4.29:8190 10.0.0.10:21
PASS MyPassword 192.168.4.29:8190 10.0.0.10:21
CWD / 192.168.4.29:8190 10.0.0.10:21
250 CWD command successful. 10.0.0.10:21 192.168.4.29:8190
PORT 192,168,4,29,31,255 192.168.4.29:8190 10.0.0.10:21
200 PORT command successful. 10.0.0.10:21 192.168.4.29:8190
LIST 192.168.4.29:8190 10.0.0.10:21
10.0.0.10:20 192.168.4.29:8191
226 Transfer complete. 10.0.0.10:21 192.168.4.29:8190

Пассивный режим FTP-подключений

FTP в пассивном режиме иногда называют «управляемым сервером», поскольку после отправки клиентом команды PASV , сервер отвечает одним из его временных портов, который будет использоваться в качестве серверного порта подключения к данным. Ниже представлена типичная последовательность подключения пассивного режима FTP:

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

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

Команда Отправлено из Отправлено на
USER MyUserName 192.168.4.29:7971 10.0.0.10:21
PASS MyPassword 192.168.4.29:7971 10.0.0.10:21
CWD / 192.168.4.29:7971 10.0.0.10:21
250 CWD command successful. 10.0.0.10:21 192.168.4.29:7971
PASV 192.168.4.29:7971 10.0.0.10:21
227 Entering Passive Mode (192,168,4,29,9,227). 10.0.0.10:21 192.168.4.29:7971
LIST 192.168.4.29:7971 10.0.0.10:21
10.0.0.10:2531 192.168.4.29:7972
226 Transfer complete. 10.0.0.10:21 192.168.4.29:7971

FTP (File Transfer Protocol) один из самых архаичных протоколов передачи данных. Он был создан ещё до HTTP более 40 лет назад. Тем не менее, технология «FTP клиент-сервер» и «сервер-сервер», простая в использовании и не требующая особого обслуживания, до сих пор служит надежным средством систематизации внутреннего документооборота, создания многопользовательских архивов в локальных сетях корпораций и свободного распространения программного обеспечения, мультимедиа, документов и материалов во всемирной паутине.

Никакой другой режим передачи не инициируется. Перед каждой передачей данных необходимо указать, для какого режима будет установлено новое соединение. Это означает, что вы можете все проверить самостоятельно. Пассивный режим - это когда вы создаете новое соединение, то есть, Вы подключаетесь к серверу. Пассивный режим активируется пассивной командой. Затем сервер распечатывает ваше подтверждение, а в скобках вы передаете параметры туда, где хотите подключиться.

Активный режим противоположный пассивному режиму. Это означает, что сервер подключается к вам, и параметры, которые вы хотите подключить, определяются вами.

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

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


Как узнать, было ли это соединение успешным или нет? Как только мы запустим команду списка, сервер сообщает нам, что ссылка была создана, более интересным является сообщение 226 Перенос успешно завершен или 426 Прерывание передачи. Оба они означают, что соединение было прекрасным, в последнем случае оно было преждевременно закрыто. Это может быть связано с тем, что служба, с другой стороны, не ожидает отправки этих данных и закрывает соединение. Но два ключевых слова указывают, что порт открыт. Если сообщение не получено, порт закрывается.

Пассивный режим необходим в случаях, когда компьютер клиента находится в защищенной локальной вычислительной сети. Большинство браузеров поддерживают FTP-протокол, и позволяет подключаться, просматривать и копировать данные с удаленных серверов. Так, в Internet Explorer можно, указав в адресной строке ftp:// “IP адрес сервера” или найти с помощью FileSearch ссылки самых популярных хранилищ файлов. На вкладке/«Свойства обозревателя/Дополнительно»/ можно разрешить использовать пассивный режим FTP.

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

Каковы преимущества сканирования? Это сканирование также обеспечивает возможность сканирования удаленной локальной сети . При этом теоретически возможно достичь бесконечного усиления. Если их нет, мы загрузим наши собственные. Сервер подключается к жертве на этом порту и начинает отправку файла. Но чтобы сделать это не так просто, нам нужны жертвы для правильного обслуживания. Правильный сервис - это тот, который принимает и не завершает соединение. Такие услуги, вероятно, будут минимальными. Однако большинство служб позволяют передавать определенный объем данных.

Не требуется никаких особых настроек в браузере «Mozilla Firefox». “Total Comander» и «Far” имеют встроенный FTP клиент. Здесь при создании нового соединения необходимо дополнительно указать логин и пароль. К открытым серверам логин по умолчанию «anonymous», а пароль – адрес вашего почтового ящика.

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

Для некоторых служб может возникнуть проблема с отправкой двоичных данных, поэтому лучше отправлять текстовые данные. Службы, которые могут хорошо обслуживаться, - это почта, Интернет или обмен данными. Тем не менее, это также зависит от того, какое программное обеспечение связано с сервисом и т.д. нет проблем с достижением коэффициента усиления от 10 × до 100 ×.

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

Для клиентов, работающих в файлообменном режиме постоянно или довольно часто, необходимо установить FTP менеджер. Это программа серий FileZilla, CuteFTP , SmartFTP , FTP Voyager и т.д. , которые тоже можно найти в открытом доступе в интернете. Эти программы дают возможность более тонкой настройки соединения с удаленным сервером FTP. Они незаменимы в случаях работы с серверами, работающими только в “active mode” , поскольку даже при отсутствии статического IP адреса у клиента, программа может эмулировать его на период сессии.

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

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

Среди русскоязычных пользователей наибольшую популярность получила бесплатная программа с открытым кодом – FileZilla. Эта программа просто устанавливается, у нее понятный русский интерфейс. Для настройки соединений можно использовать несколько вариантов. Общая настройка - Меню/Редактирование /Настройки/. выполнены в древовидном виде и затрагивают настройки всех доступных модулей. В этом же разделе меню можно переключиться на мастера создания подключения, где пошагово будут предложены параметры подключения при выборе активного или пассивного режима. Некоторые FTP серверы предлагают скачать небольшие файлы сценариев подключения, которые можно импортировать в программу и создать готовое постоянное подключение.

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

Подключение через веб-браузер

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

И наконец, среди консольных команд ОС Windows поддерживается команда ftp.exe, которая предоставляет возможность «ручного» подключения к FTP серверу с помощью введения консольных команд (протокол поддерживает 25 команд). Использование и синтаксис ввода этих команд необходимо хорошо знать и усвоить, но это потребует определённых навыков и опыта программирования.

Вы можете скачать текущую версию бесплатно дома. При запуске программы отображается список определенных подключений. Поскольку он, вероятно, пуст, нажмите «Создать». Затем сохраните соединение, необязательно с паролем, и нажмите «Войти». Нажмите «Новые подключения». В появившемся окне введите следующее.

Сессия: имя соединения, тип Любой хост: адрес сервера без имени журнала, пароль. . Другая проблема касается обслуживания клиентов, которые используют пассивный режим, а также тех, кто его не использует. Неважно, хорошо это или плохо, зависит от конфигурации серверов и брандмауэров.

3 ответов

Активные и пассивные - это два режима, через которые FTP может работать. FTP использует два канала между клиентом и сервером, командный канал и канал данных, которые фактически являются отдельными TCP-соединениями. Командный канал предназначен для команд и ответов, канал данных предназначен для фактической передачи файлов. Это отличный способ отправки команд на сервер, не дожидаясь завершения текущей передачи данных.

В активном режиме клиент устанавливает командный канал (от клиентского порта X до порта сервера 21 (b)), но сервер устанавливает канал данных (из порта сервера 20 (b) на клиентский порт Y , где Y был предоставлен клиентом).

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

Пассивный режим обычно используется в ситуациях, когда FTP-сервер не может установить канал данных. Одной из основных причин этого является сетевые брандмауэры. Хотя у вас может быть правило брандмауэра, которое позволяет вам открывать FTP-каналы до ftp.microsoft.com , серверы Microsoft могут не иметь возможности открывать канал данных через брандмауэр.

Пассивный режим решает это, открывая оба типа канала с клиентской стороны. Чтобы сделать это надежно яснее:

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

  • Клиент отправляет PORT 2001 (a) на сервер и сервер подтверждает в командном канале.
  • Сервер открывает канал данных с порта сервера 20 (b) на порт клиента 2001 (a) .
  • Клиент подтверждает канал данных.

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

  • Клиент открывает командный канал с клиентского порта 2000 (a) на порт сервера 21 (b) .
  • Клиент отправляет PASV на сервер в командном канале.
  • Сервер отправляет обратно (в командном канале) PORT 1234 (a) после начала прослушивания на этом порту.
  • Клиент открывает канал данных от клиента 2001 (a) к серверному порту 1234 (a) .
  • Сервер подтверждает канал данных.

В этот момент команды и каналы данных открыты.

(a) Обратите внимание, что выбор портов на стороне клиента зависит от клиента, так как выбор порта канала данных сервера в пассивном режиме зависит от сервера.

(b) Далее следует отметить, что использование портов 20 и 21 является лишь условным (хотя и сильным). Нет абсолютного требования, чтобы эти порты использовались, хотя клиент и сервер должны были согласовать, какие порты используются. Я видел реализации, которые пытаются скрыть от клиентов, используя разные порты (тщетные, на мой взгляд).

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

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

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

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

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

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

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

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

Редуцированная версия моей статьи Режимы FTP-подключения (Active vs. Passive) :

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

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

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

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

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

Конфигурация сети для пассивного режима

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

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

Когда FTP-сервер находится за NAT, он должен знать его внешний IP-адрес, поэтому он может предоставить его клиенту в ответ на команду PASV .

Конфигурация сети для активного режима

В активном режиме большая часть нагрузки на конфигурацию находится на стороне клиента.

Брандмауэр (например, брандмауэр Windows) и NAT (например, правила маршрутизации модема ADSL) на стороне клиента должны быть настроены так, чтобы разрешать/маршрутизировать диапазон портов для входящих соединений данных. Чтобы открыть порты в Windows, откройте "Панель управления" > "Система и безопасность" > "Брандмауэр Windows" > "Дополнительные параметры" > "Входящие правила" > "Новое правило". Для маршрутизации портов на NAT (если есть) обратитесь к его документации.

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

Smart Firewall/NAT

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

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