2

Я разрабатываю и поддерживаю программу, которая использует (S)FTP для загрузки файлов на корпоративные серверы. Корпоративным клиентам часто требуется, чтобы моя программа проходила через прокси, а не подключалась напрямую. К сожалению, (S)FTP-прокси, кажется, не стандартизированы, особенно в отношении аутентификации.

Я хотел бы найти какой-нибудь стандартный способ взаимодействия с (S)FTP-прокси, не зная заранее поставщика.

Если это невозможно, я хотел бы собрать список различных (S) типов прокси FTP, их плюсы и минусы (если у меня есть выбор, который использовать), как их использовать, примеры поставщиков, реализующих их, ссылки на дополнительную информацию и т. д.

1 ответ1

1

Вот что я нашел до сих пор:

  • Логин-синтаксис контрольной точки
    • Работает на FTP
    • Работает, передавая дополнительную информацию прокси через команды USER и PASS.
    • Поскольку никаких специальных команд не требуется, каждая программа, поддерживающая FTP, должна иметь возможность использовать этот метод, даже если она не имеет встроенного понятия прокси. Вы просто меняете пользователя / пароль, который он использует.
    • ПОЛЬЗОВАТЕЛЬ: ftp_username @ proxy_username @ ftp_host
    • PASS: ftp_password @ proxy_password
    • Используется: Bluecoat ProxySG, возможно, другими.
    • Подробнее: https://kb.bluecoat.com/index?page=content&id=KB2898
  • Логин-синтаксис Raptor
    • Работает на FTP
    • Аналогичен Checkpoint за исключением того, что пароль прокси передается с использованием ACCT.
    • Требует, чтобы программа понимала ACCT, но разделяет пароли, которые могут быть предпочтительнее. Поддерживает символ @ в пароле в отличие от контрольной точки.
    • ПОЛЬЗОВАТЕЛЬ: ftp_username @ ftp_host proxy_username
    • PASS: ftp_password
    • ACCT: proxy_password
    • Используется: Bluecoat ProxySG, возможно, другими.
    • Более подробная информация: та же ссылка, что и выше (SuperUser ограничивает меня двумя ссылками)
  • НОСКИ
    • Работает для любого протокола
    • SOCKS - это стандартизированный протокол прокси.
    • SOCKS можно использовать не только для FTP, но и для совершенно разных протоколов.
    • Если программа понимает и может использовать SOCKS, это, вероятно, самое гибкое решение. Однако реализация может быть более сложной.
    • Более подробно: НОСКИ в Википедии
  • HTTP CONNECT
    • Работает на FTP
    • Начните с HTTP-соединения с прокси-сервером. Как только соединение через прокси установлено, TCP все еще используется, но клиент может свободно переключаться на другие протоколы (например, FTP).
    • Это может быть самый простой и гибкий вариант. Недостатком является то, что программа должна поддерживать протокол HTTP для начального CONNECT, в дополнение к поддержке FTP.
    • Более подробная информация: http://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_Tunneling
  • Другие методы, упомянутые в Filezilla. Я еще не нашел объяснения этим.
    • USER @ HOST
      • Порядок команд (запятые не буквальные): USER% s, PASS% w, USER% u @% h, PASS% p, ACCT% a
    • SITE
      • Порядок команд (запятые не буквальные): USER% s, PASS% w, SITE% h, USER% u, PASS% p, ACCT% a
    • ОТКРЫТЬ
      • Порядок команд (запятые не буквальные): USER% s, PASS% w, OPEN% h, USER% u, PASS% p, ACCT% a
  • Список поставщиков
    • См. Http://www.gartner.com/technology/reprints.do?id=1-1AOGE0B&ct=120529&st=sb%2520.
    • Это не дает подробностей реализации, но помогает понять диапазон предложений. Я думаю, что безопасные веб-шлюзы являются расширенным набором прокси (т.е. предлагают другие сервисы, такие как удаление вредоносных программ, возможно, мониторинг). Обычно, когда вы проходите через корпоративный прокси, это будет один из этих SWG.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .