Назад | Перейти на главную страницу

проблема с пассивным FTP за брандмауэром cisco asa

У меня проблемы с подключением к ftp-серверу за брандмауэром cisco asa в пассивном режиме. ftp работает в активном и «расширенном пассивном» режимах, однако: когда я выключаю «расширенный пассивный» (epsv в клиентском приложении ftp-консоли), он больше не работает - все команды приводят к таймауту. однако нам нужен не «расширенный пассивный» режим для некоторых приложений, которые мы используем.

Любые идеи?

спасибо, Харальд

ОБНОВЛЕНИЕ / РЕШЕНИЕ

как выясняется, это была не вина ASA, или нет? Пришлось выключить маскарад в конфигурации proftpd. У меня был маскирующий адрес в proftpd-config, установленный на IP-адрес домена ftp-сервера, и это привело к неожиданным вещам при передаче трафика через asa. теперь - без маскировки адреса - все работает очень хорошо.

Древняя тема, но недавно я столкнулся с похожими проблемами и подумал, что мои 0,02 доллара могут кому-то помочь.

В моем случае мы запускаем IIS 7.5 на базе немного более старой версии ASA, которую мы сейчас заменяем. У нас есть существующий FTP-сайт, и я планировал просто добавить поддержку FTPS с сертификатом и, возможно, заставить наших сетевых администраторов открыть несколько портов. IIS имеет аналогичные настройки маскарада для каждого FTP-сайта с именем «Внешний IP-адрес межсетевого экрана», что само по себе вводит в заблуждение.

версия TL / DR: Если ваш FTP-сервер позволяет вам указать маскируемый IP-адрес и диапазон портов, используемых для соединений PASV, вы ДОЛЖНЫ иметь возможность исправить это, открыв эти порты и отключив проверку ftp.

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

  • ASA может проверять только незашифрованный трафик. да?
  • По умолчанию ASA проверяет ряд протоколов, включая FTP.
  • клиент аутентифицируется через порт сервера 21 и определяет набор функций, поддерживаемый сервером.
  • Клиент, если он настроен, отправит на сервер запрос PASV.
  • Сервер ответит "227 входит в пассивный режим (a, b, c, d, e, f)", где a.b.c.d - адрес сервера, а e * 256 + f = номер порта.
  • Адрес a.b.c.d будет внутренним IP-адресом, если не настроен маскарадный адрес.
  • проверка FTP перезапишет адрес a.b.c.d на внешний IP-адрес и откроет указанный порт для этого клиента.
  • Если адрес a.b.c.d является внешним адресом, ответный пакет отбрасывается. * Это могло произойти из-за строгой опции, которую я не смог проверить.
  • CuteFTP распознает немаршрутизируемый IP-адрес в ответе PASV и попытается вместо этого использовать внешний адрес сервера.
  • ASA не может прочитать зашифрованный SSL-трафик FTPS, поэтому он обходит проверку и работает.

В нашем случае, когда я установил маскарадный IP-адрес, я смог нормально подключиться через FTPS, но обычный FTP не работал. Когда я удалил маскарадный IP-адрес, я все еще мог подключаться к FTP и FTPS с помощью CuteFTP, но наш основной клиент не мог подключиться к FTPS. (их система была недостаточно "умной", чтобы транслировать немаршрутизируемый IP ...)

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

TMI, но, возможно, это поможет кому-то разобраться с этим.

Возможно, вам потребуется создать правило, разрешающее порты Pasv, а не только порт 21. В вашей программе FTP обычно есть параметр конфигурации, в котором вы можете указать диапазон портов Pasv клиента. Укажите высокий диапазон портов, скажем от 45200 до 45500 или что-то в этом роде. Затем в вашем ASA разрешите эти порты IP-адресу FTP-сервера.

Вам необходимо включить фильтрацию на уровне приложения для FTP с помощью команды "fixup":

# fixup protocol ftp 21

Эта статья о PIX, которая также относится к ASA:

http://www.ciscopress.com/articles/article.asp?p=24685

У ASA нет команды исправления, как у PIX.

Используете ли вы проверки по умолчанию для FTP-трафика с помощью правила политики обслуживания?

Привет, попробуйте следующее:

режим ftp пассивный

карта политик global_policy

класс Inspection_default

проверить ftp

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

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

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

Я думаю, что команда «ftp mode passive» предназначена для того, чтобы asa (сам маршрутизатор) отправлял или получал конфигурации от себя или от себя. Не для прохождения сеансов. То, что я нашел ....