Страница 1 из 1

какие порты открыть для пассивного ftp?

Добавлено: 2009-04-09 17:30:27
iltmpz
(поиском пользовался, по теме ничего подходящего не нашел)
Настроил роутер для копроративной сети: снаружи вообще все закрыл, изнутри открыл только необходимые порты.
1 внешний ip, доступ наружу через NAT.

А пользователям "изнутри" надо коннектиться к внешним фтп-серверам.
Открыл вроде бы стандартный для пассивного ftp диапазон портов:
${fwcmd} add allow tcp from any to any 49152-65535 in keep-state

Потом со своей локальной машины пытаюсь зайти на ftp://ip-сервера, а он не пускает, и в логах попытки стучаться на порты: ..., 10585, 10586, ...
Другой фтп-сервер предлагает стучаться на порты: 37225, 36900, 44356
На локальной машине linux, пробую заходить командой ftp и смотреть ls.

Если написать ${fwcmd} add allow tcp from any to any in keep-state, то все работает, но как-то совсем уж не хочется писать такие штуки.
Как культурно решить проблему? Можно ли воздействовать на открываемые порты или как локализовать диапазон и открыть только нужные?

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-09 18:14:35
paradox
а в клента в пассив переведите

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 9:37:22
iltmpz
клиент вроде бы когда не может работать в active (за nat например), сам в пассив переводится. Во всяком случае ls пишет:
229 Entering Extended Passive Mode (|||17271|)
Или другой фтп-шник:
500 'EPSV': command not understood
227 Entering Passive Mode

И после этого виснет. И в PASV, и в EPSV. Что логично, поскольку стучится через 17271-й порт, который закрыт.
А вот как понять, какие порты ему открыть, чтобы этого хватило и чтобы не открывать лишнего?

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 14:48:42
iltmpz
Пока прописал диапазон портов: 10000-65535. Вроде бы работает. Можно считать, что на портах больше 10000 ничего интересного нет, хотя конечно обидно такую кучу портов открывать.

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 15:05:20
paradox
может лучше сначала разобраться что такое активный фтп и что такое пассивный фтп
и сеанс работы того и другого

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 15:56:37
iltmpz
В активном клиент открывает серверу порт и говорит, какой.
А в пассивном сервер открывает свой порт и говорит клиенту, какой.

В моем случае - сеть из кучи компов за nat - не представляю как при этом каждый клиент за nat будет открывать свой порт НА РОУТЕРЕ. Или я неправ?
Т.е. остается только пассивный режим, в котором все и работает при всех открытых на роутере портах наружу. А все порты открывать не хочется.Однако пока пришлось: 10000-65535.

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 16:06:19
paradox
а что это за политика такая что вы клиенам ограничиваете порты наружу?
а если я ваш клиент и захочу по ssh выйти?
тоесь вы мне закроете доступ выхода по 22 порту?

или я чего то не понимаю

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 16:26:34
iltmpz
paradox писал(а):а если я ваш клиент и захочу по ssh выйти?
тоесь вы мне закроете доступ выхода по 22 порту?
Нормальная такая параноидальная политика: закрыть все, что не должно быть открыто.
Конкретно 22-й порт я открыл, а вот аську например, возможно, понадобится закрыть для конкретных ip.
Да вообще приятнее как-то представлять, кто куда ломится - список задач четко определен и не так велик, а вирусы например во внутренней сети вылавливать гораздо удобнее. И софт который без спросу в инет лезет - тоже.

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 16:40:14
paradox
ну незнаю незнаю
как по мне так лучше открыть все наружу
чем каждый раз разбирать что там у юзера куда

а вообще у фтп есть два порта 20 21
их достаточно открыть

а что вы там открываете я как то не совсем понимаю

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 16:55:13
iltmpz
paradox писал(а):ну незнаю незнаю
как по мне так лучше открыть все наружу
чем каждый раз разбирать что там у юзера куда

а вообще у фтп есть два порта 20 21
их достаточно открыть

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

21 - открыть от клиента к серверу, а ответ нормально идет через established.
А 20-й (для активного режима) должен быть открыт на вход - снаружи (с 20-го порта) внутрь. Причем из-за nat он должен еще divert'иться, причем на конкретный внутренний ip, с которого поступил запрос, насколько я понимаю...

Как это сделать быстро и просто средствами ipfw - не представляю. Может быть, потом попробую придумать что-нибудь на тему ftp-прокси, но это уже отдельная история...

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 17:09:05
paradox
и так
я так понял
что у вас проходящий роутер между юзерами и интернетом
и на роутере нужно настроить фаерол
Q7 - What is the difference between PASV & PORT mode ?
An FTP Server uses 2 ports :
- main port (usually 21) for command (USER, PASS, CWD ...)
- data port (main port - 1) for data transfert (directory listing, upload & download)

The difference between Passive mode (PASV) and normal mode (PORT) is the connection :

- when using PASV, client asks server where it (the client) will have to connect to to establish data transfer link.

Client > PASV
Server > 227 Entering Passive Mode (209,15,39,184,249,155)

Ftp client must connect to 209.15.39.184 on port 249*256 + 155 = 63899

- when using PORT, client specifies what ip and port the FTP server must connect to to establish data transfer link :

Client > PORT 192,168,0,10,5,114
Server > 200 PORT command successful.

This time, it is the FTP server which connects to the FTP client (ip = 192.168.0.10 on port 5*256+114 = 1394)

PASV : client connects to server for data transfer
PORT : server connects to client for data transfer
more information : http://slacksite.com/other/ftp.html
тоесть вам нужен пассивный режим
и
PASV : client connects to server for data transfer
или я чего то подзабыл или что то вы не то понимаете
но думаю открытие 20,21 порта для прохождения наружу
тоесть нормального их натинга должно все работать
и все и работало наскоко я помню своих давние конфигурации роетра

а вы делатете наоборот для активного режима

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 17:20:28
iltmpz
paradox писал(а):тоесть вам нужен пассивный режим
и
PASV : client connects to server for data transfer
или я чего то подзабыл или что то вы не то понимаете
но думаю открытие 20,21 порта для прохождения наружу
тоесть нормального их натинга должно все работать
и все и работало наскоко я помню своих давние конфигурации роетра

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

Возможно, описываемая Вами конфигурация относилась к ftp-серверу в локальной сети, а не к ftp-клиентам?

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 17:27:02
paradox
я локальные серверы никогда не настраивал
у меня все на моей памяти были как DMZ
тоесть с одной стороны клиенты за натом с другой стороны интернет с реалайпи
и открытие портов 20,21 что бы клинет мог соеденяться по dst вполне хватало для пассив режима
и все у всех работало

используйте другую схему
разрешаете естблишь во все стороны
а на 20 21 устанавливате и пропускаете токо сетап

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 17:28:31
paradox
вообще то
PASV : client connects to server for data transfer
а у вас как то шиворт на выворот

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 17:46:59
iltmpz
paradox писал(а):используйте другую схему
разрешаете естблишь во все стороны
а на 20 21 устанавливате и пропускаете токо сетап
Я так и делаю. Однако проблема в том, что 2-й сетап (который для данных) идет как раз-таки на левый порт, номер которого передается через 1-ю сессию (которая на 21-м порту), и этот номер порта сильно варьируется - от 10000 до 65535
Собственно, на этом сайте в статье написано: http://www.lissyara.su/?id=1127
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
Вот я и думал, что 49152-65535 должно хватить. А его не хватает.
paradox писал(а):вообще то
PASV : client connects to server for data transfer
а у вас как то шиворт на выворот
Все правильно - клиенты коннектятся через nat на внешние сервера, причем 2-е соединение (которое не на 21-й порт) идет на какой-то порт из неизвестного мне диапазона.
(ФТП - зло! И зачем они этого всего нагородили - 2 сессии, 2 режима - только глюки и дырки плодить! Почему не сделать было по типу как в ssh - 1 сессия, и все данные через нее отлично передаются).

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-10 17:55:38
paradox
потомучто один порт коммандный
втрой даные

Re: какие порты открыть для пассивного ftp?

Добавлено: 2009-04-12 21:06:55
Dorlas
Не совсем понятно, почему не пользоваться прокси-сервером - например Squid ?

Или на крайняк к нему Frox прикрутить.

Сколько ни внедрял Squid - всегда через него на FTP нормально заходить получается (как браузером, так и прогами, типа FileZilla)...