The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
PF ftp-proxy OPEN vs FreeBSD, !*! kvasik, 16-Сен-10, 17:40  [смотреть все]
Есть необходимость указать диапазон портов для ftp-proxy, однако ключи для указания данных параметров отсутствуют на FreeBSD в отличие от OpenBSD. Кто сталкивался, есть обходные пути?

Кусок из "man ftp-proxy" по OpenBSD:

2. Activate and configure ftp-proxy

We now must activate ftp-proxy and configure it. This is done by editing the /etc/inetd.conf file. When needed, ftp-proxy will be summoned by the inetd daemon.ftp-proxy       stream  tcp     nowait  root    /usr/libexec/ftp-proxy  ftp-proxy -u proxy -m 55000 -M 57000 -t 180

The -u proxy specifies what user ftp-proxy will run under. Make sure this user exists.
The -m 55000 is the lower end of the port range the proxy will use for the data connections it establishes.
The -M 57000 is the upper end of the port range the proxy will use for the data connections it establishes.
The -t 180 specifies a timeout, in seconds. The proxy will exit and close open connections if it sees no data for the duration of the timeout.

  • PF ftp-proxy OPEN vs FreeBSD, !*! Aquarius, 20:24 , 16-Сен-10 (1)
  • PF ftp-proxy OPEN vs FreeBSD, !*! guest, 12:02 , 17-Сен-10 (3)
    • PF ftp-proxy OPEN vs FreeBSD, !*! kvasik, 17:07 , 17-Сен-10 (4)
      >Эти опции и из Open 5лет назад выкинули.
      >Кроме как пытаться патчить текущий код кусочком из старого OpenBSD (3.8) нечего
      >и посоветовать.

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

      На Вики пишут, что на nix-системах в вопросе реализации работы FTP, царствует iptables. Эх!

      • PF ftp-proxy OPEN vs FreeBSD, !*! guest, 19:00 , 17-Сен-10 (5)
        • PF ftp-proxy OPEN vs FreeBSD, !*! kvasik, 23:38 , 18-Сен-10 (6)
          ...>Вроди и не такая уж и дыра...

          Предположим, за NAT есть FTP-сервер, настроенный на passive в диапазоне 60100:60150.
          Для того чтобы он был доступен извне, логично будет открыть на шлюзе порты 21 и 60100:60150, но такой способ не даст результата. Т.к. ftp-proxy не сам сервер, откуда ему знать этот диапазон? Поэтому и получается, чтобы FTP был доступен извне, открываем всё выше 1023, красота неописуемая!


          • PF ftp-proxy OPEN vs FreeBSD, !*! guest, 08:58 , 19-Сен-10 (7)
            • PF ftp-proxy OPEN vs FreeBSD, !*! kvasik, 12:16 , 20-Сен-10 (8)
              >если у вас есть ftp сервер за NAT, то для проброса через
              >прокси соединений к нему используйте ключик -R. Порты для пассивного режима
              >прокси обработает сам распарсив ответ сервера. Ничего лишнего открывать не надо.
              >

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

              #----- Секция нат/радирект -----#

              nat-anchor "ftp-proxy/*"
              rdr-anchor "ftp-proxy/*"
              rdr on $ext_if proto tcp from any to any port 21 -> 127.0.0.1 port 8022
              rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021


              #----- Секция фильтра -----#

              pass in on $ext_if inet proto tcp from any to any port 21 \
                  flags S/SA keep state
              pass in on $ext_if inet proto tcp from any to any port > 1023 \
                  flags S/SA keep state
              anchor "ftp-proxy/*"

              если есть другие варианты, буду рад посмотреть.


              • PF ftp-proxy OPEN vs FreeBSD, !*! guest, 15:30 , 20-Сен-10 (9) +1
                • PF ftp-proxy OPEN vs FreeBSD, !*! kvasik, 11:19 , 21-Сен-10 (10)
                  >>>если у вас есть ftp сервер за NAT, то для проброса через
                  >Не будет почему???
                  >Само собой такого ужаса нет.
                  >>pass in on $ext_if inet proto tcp from any to any port > 1023 \
                  >>    flags S/SA keep state

                  Спасибо, навели на мысль :)
                  В секции фильтрации достаточно добавить:

                  pass in on $ext_if inet proto tcp from any to any port 8022 \
                      flags S/SA keep state
                  anchor "ftp-proxy/*"

                  Думал, фильтр ведёт себя по другому.
                  Обычно, клиенты подкл. к 21 порту, и, логично предположить, потом происходит внутренняя переброска на 8022... но ftp-proxy работает иначе :)

                  • PF ftp-proxy OPEN vs FreeBSD, !*! guest, 11:37 , 21-Сен-10 (11)
                    • PF ftp-proxy OPEN vs FreeBSD, !*! kvasik, 12:34 , 21-Сен-10 (12)
                      >>Думал, фильтр ведёт себя по другому.
                      >>Обычно, клиенты подкл. к 21 порту, и, логично предположить, потом происходит внутренняя
                      >>переброска на 8022... но ftp-proxy работает иначе :)
                      >
                      >Кажется Вы чего-то не так поняли)))
                      >Клиет подключается к какому-то порту (21 обычно) на внешнем интерфейсе, правилами файрвола
                      >
                      >его пакеты заворачиваются на прокси, остальное (добавление pass/nat/rdr) для каждого клиента делает
                      >прокси. Т.е. все что от вас требуется это разрешить редирект входящих
                      >ftp пакетов на прокси и разрешить исходящий трафик от прокси.

                      Ну почему же? :) Все FTP-клиенты, по умолчанию, стучатся на 21 порт. Разумно предположить, что потом эти пакеты заворачиваются на прокси...

                      Так вот, если открыть 21 порт, то ftp-proxy в режиме отладки ничего не фиксирует.
                      Если так, то решил проверить, как он поведет себя при открытии порта, на котором он запущен (8022). После, FTP сразу все заработал.

                      Получается, что ftp-proxy сразу заворачивает соединения с 21 на 8022 порт, до того как 21 порт будет запрещен правилами фильтрации.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру