IPFW+FTP

На доскональное знание данной темы, не может претендовать, пожалуй ни один спец, из ныне живущих на земле. ;-)
Так поможем друг другу.

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
a_kabanov
Junior member
Сообщения: 4
Зарегистрирован: 06 мар 2007, 12:07
Откуда: Питер

IPFW+FTP

Сообщение a_kabanov » 06 мар 2007, 12:17

Добрый день!

Проблема такая: надо организовать внешний ftp-сервер под FreeBSD, и закрыть его с помощью ipfw.
ОС - FreeBSD 6.2-RELEASE
Сервер - ProFTPD 1.3.0a (stable)
printenv | grep FTP
FTP_PASSIVE_MODE=YES

Прописываю правила:
/sbin/ipfw add 500 check-state
/sbin/ipfw add 600 deny all from any to any frag in via re0
/sbin/ipfw add 700 deny tcp from any to any established in via re0
/sbin/ipfw add 800 pass tcp from any 1024-65535 to me 21 in via re0 keep-state
/sbin/ipfw add 900 pass tcp from any 1024-65535 to me 20,1024-65535 in via re0 keep-state
/sbin/ipfw add 1000 pass tcp from me 21 to any 113,1024-65535 out via re0 keep-state
/sbin/ipfw add 1100 pass tcp from me 20,1024-65535 to any 113,1024-65535 out via re0 keep-state

Проверяю с двух внешних ip-адресов, находящихся в одной подсети. С одного работает, со второго нет. На нем отваливается по тайм-ауту. При этом на клиенте firewall'а нет и без поднятого на сервере ipfw он добирается до ftp-сервера.
Оба тестируемых клиента - FreeBSD 4.

Сделал /sbin/ipfw add 10000 deny log all from any to any
В лог отброшенных пакетов ipfw ничего не сваливается...

Судя по /sbin/ipfw show счетчик изменяется только для 800 правила. А ftp-сервер, после запроса, ничего не отдает клиенту...

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Re: IPFW+FTP

Сообщение Stranger03 » 07 мар 2007, 15:05

a_kabanov писал(а):Проблема такая: надо организовать внешний ftp-сервер под FreeBSD, и закрыть его с помощью ipfw.
Интересно как это вы собираетесь его повесить наружу да и еще прикрыть? Самый простой способ для избавления от сканирования, это повесить фтп на какой-нибудь нестантартный порт. Правила я бы написал так:

Код: Выделить всё

/sbin/ipfw add 1100 pass tcp from any to my 20
/sbin/ipfw add 1101 pass tcp from my 20 to any
/sbin/ipfw add 1102 pass tcp from any to my 21
/sbin/ipfw add 1103 pass tcp from my 21 to any established

a_kabanov
Junior member
Сообщения: 4
Зарегистрирован: 06 мар 2007, 12:07
Откуда: Питер

Сообщение a_kabanov » 07 мар 2007, 15:52

Виноват, несколько неправильные правила привёл...
Но сути это не меняет...

Предполагается разрешать доступ на ftp сервер только с определенного ip-адреса.

В процессе тестирования поставил "any" вместо ip-адреса.

Пытаюсь достучаться до ftp-сервера с двух клиентов с внешними ip-адресами. Причём оба клиента в одной подсети (из одного пула ip-шников, выданного провайдером), на обоих FreeBSD 4, firewall'a нет.

Если на сервере только "allow all from any to any", то с обоих клиентов все работает... Как только прописываю правила, с одного клиента работает, а со второй отваливается по тайм-ауту.

Судя по логам ipfw, счетчик крутится только на "Client initiates connection" (allow ip from _клиент_ to me 21). На следующем правиле ("Server responds to client's control port" allow ip from me 21 to _клиент_ 1024-65535) всё по нулям.

Причем, повторюсь, без ipfw всё работает и траблы только с одним клиентом из двух тестируемых...

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 07 мар 2007, 17:49

Ну возьмите мои правила, поправьте вместо эни айпишники. Будет 8-мь правил вместо 4-х. В чем проблема то?

a_kabanov
Junior member
Сообщения: 4
Зарегистрирован: 06 мар 2007, 12:07
Откуда: Питер

Сообщение a_kabanov » 12 мар 2007, 09:46

Stranger03 писал(а):Ну возьмите мои правила, поправьте вместо эни айпишники. Будет 8-мь правил вместо 4-х. В чем проблема то?
В том то и дело, что с Вашими (да и с любыми другими) правилами, у меня работает только с половины (примерно) тестируемых клиентов... Видимо, надо разрешить ещё какой-нибудь порт/протокол, но вот какой - я не знаю....

Аватара пользователя
apelsin
Advanced member
Сообщения: 470
Зарегистрирован: 09 окт 2004, 12:32

Сообщение apelsin » 12 мар 2007, 11:43

у вас наверно проблема PASSIVE FTP  На клиенте поменяйте режим на  Active.

PS:  Active FTP vs. Passive FTP, a Definitive Explanation (eng)

a_kabanov
Junior member
Сообщения: 4
Зарегистрирован: 06 мар 2007, 12:07
Откуда: Питер

Сообщение a_kabanov » 12 мар 2007, 12:55

apelsin писал(а):у вас наверно проблема PASSIVE FTP  На клиенте поменяйте режим на  Active.

PS:  Active FTP vs. Passive FTP, a Definitive Explanation (eng)
Да нет, на обоих тестируемых клиентах (FreeBSD 4.7):

printenv | grep FTP
FTP_PASSIVE_MODE=YES

Пробовал и так делать:
ftp> passive
Passive mode: on; fallback to active mode: on.

Не помогает...

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 20 мар 2007, 12:31

a_kabanov писал(а):тестируемых клиентов... Видимо, надо разрешить ещё какой-нибудь порт/протокол, но вот какой - я не знаю....
Понятно, встречали. На самом деле это не очень то ваши проблемы, а проблемы клиента. Я особо не разбирался, но на старых Самбах к примеру не очень корректно отрабатывались правила актив-пассив режима. Однако коннекты через НАТ работали на ура (это все про клиентов). Я особо не заморачивался с этой проблемой. Может еще кто из здешних гуру подскажет.

Аватара пользователя
Stranger03
Сотрудник Тринити
Сотрудник Тринити
Сообщения: 12979
Зарегистрирован: 14 ноя 2003, 16:25
Откуда: СПб, Екатеринбург
Контактная информация:

Сообщение Stranger03 » 20 мар 2007, 12:32

А лог по коннекту присутсвует? Может там есть что интересное, что наведет на мысль?

Ответить

Вернуться в «Серверы - ПО, Unix подобные системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей