клиенты за pfSense, проблема с внешними FTP-серверам



  • Всем доброго дня!

    Помогите разобраться с pfSense 2.

    Сейчас у меня сделаны такие настройки:
    NAT: Manual Outbound
    Interface            Source      Source Port      Destination    Destination Port      NAT Address      NAT Port    Static Port
    WAN              10.x.x.0/24            *                    *            49152:65534                *                  *                    *
    WAN              10.x.x.0/24            *                    *                  20:21                      *                  *                    *
    здесь 10.x.x.0/24 - моя локальная сеть

    Firewall:
    allow LAN subnet to ANY protocol ANY

    Проблема:
    Если внешний ftp-сервер в режиме passive предлагает клиенту подключение на порты из диапазона (49152:65534), то все работает нормально.
    Но есть множество серверов, настроенных (неверно) так, чтобы предлагать клиенту подключение на другие порты, тогда клиент не может получать от сервера данные, может только передавать команды.

    Вот в этом-то и заключается проблема - необходимо работать с любыми ftp-серверами, но при этом NAT-ить все порты (1024-65534) совершенно не хочется, как по соображениям безопасности, так и по соображениям контроля пользователей.

    Судя по той скудной документации по pfSense, что мне удалось найти, доступ к внешним ftp-серверам должен предоставлять компонент "pf ftp proxy", и, вроде бы, работать он должен без какой-либо дополнительной настройки NATа. Однако у меня он почему-то не работает, по крайней мере как только я удаляю из NAT правило для порта 21, клиенты вообще перестают подключаться к ftp.

    Подскажите, в чем может быть загвоздка, как пустить клиентов на внешние FTP?



  • Опция Ftp Helper





  • Ребята, спасибо большое, конечно, но ваши советы относятся к публикации локального сервера в интернет.
    А мне нужно из локальной сети попасть на ftp в интернете. То есть чтобы пользователи в локальной сети, сидя за своими компьютерами, могли без проблем зайти на любой FTP-сервер в интернете, используя браузер или ftp-клиент.
    Кроме того, FTP Helper, как я понял, был отдельной опцией только в 1.х версии pfSense, а со 2-й ветки FTP Proxy перенесли в ядро, а у меня как раз версия 2.0

    Англоязычный форум я обшарил уже вдоль и поперек, раздел FTP Troubleshoting в сенсовской вики тоже читал. pfFtpProxy в System Tunables пробовал включать и отключать, без толку.
    Посоветуйте еще что-нибудь, пожалуйста.



  • @realscorp:

    Ребята, спасибо большое, конечно, но ваши советы относятся к публикации локального сервера в интернет.
    А мне нужно из локальной сети попасть на ftp в интернете. То есть чтобы пользователи в локальной сети, сидя за своими компьютерами, могли без проблем зайти на любой FTP-сервер в интернете, используя браузер или ftp-клиент.
    Кроме того, FTP Helper, как я понял, был отдельной опцией только в 1.х версии pfSense, а со 2-й ветки FTP Proxy перенесли в ядро, а у меня как раз версия 2.0

    Англоязычный форум я обшарил уже вдоль и поперек, раздел FTP Troubleshoting в сенсовской вики тоже читал. pfFtpProxy в System Tunables пробовал включать и отключать, без толку.
    Посоветуйте еще что-нибудь, пожалуйста.

    Firewall открыт?



  • @realscorp:

    NAT-ить все порты (1024-65534) совершенно не хочется, как по соображениям безопасности, так и по соображениям контроля пользователей.

    Вы ерундой какой-то занимаетесь. NAT - это не место для контроля пользователей и безопасности. Для этого есть firewall. Вообще как-то тихо понимаю как у вас при таких настройках люди в инет попадают (например на 80-й порт). Ставьте destination port blank и рулите разрешенными портами в firewall'е. У меня к примеру на выход всего штук 20 портов открыто, что не мешает клиенту из LAN подключаться в внешнему FTP т.к. ftp-helper просекает ситуацию и разрешает трафик на порт предоставленный сервером даже если этот трафик явно запрещен.



  • @rubic:

    @realscorp:

    NAT-ить все порты (1024-65534) совершенно не хочется, как по соображениям безопасности, так и по соображениям контроля пользователей.

    Вы ерундой какой-то занимаетесь. NAT - это не место для контроля пользователей и безопасности. Для этого есть firewall. Вообще как-то тихо понимаю как у вас при таких настройках люди в инет попадают (например на 80-й порт). Ставьте destination port blank и рулите разрешенными портами в firewall'е. У меня к примеру на выход всего штук 20 портов открыто, что не мешает клиенту из LAN подключаться в внешнему FTP т.к. ftp-helper просекает ситуацию и разрешает трафик на порт предоставленный сервером даже если этот трафик явно запрещен.

    Полностью согласен, NAT - не место для контроля пользователей и безопасности. Я говорю о том, что от безысходности приходится в данный момент NAT-ить все (1024-65534) порты наружу, открыв их, соответственно, на файрволе.
    Про то, что можно указать пустой порт назначения в правиле NAT-а я почему-то не знал. Может, поэтому, у меня FTP-proxy и не работал. Попробую сделать, как вы сказали.



  • rubic
    Спасибо большое! Все работает! Надо было всего-то добавить в NAT правило, разрешающее LAN -> any -> destination port blank и ftp proxy заработал. Как все просто оказалось. Спасибо еще раз : ))


Log in to reply