AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 102269
Accepted
Laurence
Laurence
Asked: 2010-01-14 05:39:06 +0800 CST2010-01-14 05:39:06 +0800 CST 2010-01-14 05:39:06 +0800 CST

如何强制执行安全的 FTP 连接(到允许安全和不安全的服务器)

  • 772

我正在为最终用户设计一个将文件上传到 FTP 服务器的过程。关键要求是确保与服务器的连接是安全的。

我知道许多 FTP 客户端应用程序可以创建安全的 FTP 连接(例如 FTPES 或 SFTP - 是的 FTP 服务器确实支持这些),但它是客户端中的一个可选设置。换句话说,我们可以要求人们创建安全的 FTP 连接,但我们不能强迫他们这样做。

我应该在这里提到 FTP 服务器属于第三方提供商,如果有服务器设置强制执行 FTPES 或 SFTP 连接,我们无法启用这些。

所以,问题是 - 有没有办法强制执行安全的 FTP 连接?这里有一些猜测:

  1. 也许有一个 FTP 客户端强制使用安全的 FTP 连接,我告诉最终用户这是他们可以使用的唯一客户端。这有点蹩脚!

  2. 也许有一个 FTP 客户端可以从远程服务器(即我控制的服务器)获取其 FTP 连接详细信息(url、协议和登录),因此我可以指定它们,而最终用户永远不会看到它们。

  3. 也许我可以建立某种“2 跳”连接,用户最初连接到我控制的需要安全连接的服务器,但(对用户透明)连接实际上被重定向到真正的 FTP 服务器。

ftp sftp
  • 6 6 个回答
  • 1739 Views

6 个回答

  • Voted
  1. Best Answer
    pcapademic
    2010-01-14T23:47:08+08:002010-01-14T23:47:08+08:00

    您的第三个想法似乎最有希望:考虑一个FTP 代理服务器。您的用户使用您设置的连接要求(例如加密)连接到代理,并且代理服务器使用您配置的参数连接到目标服务器。

    除非您可以强制执行或审核策略,否则您无法让用户遵循它。安全框架的强大取决于其最薄弱的环节。

    这种情况对我来说似乎很奇怪 - 您需要通过加密数据流量来满足保密性要求,但您正在与不满足此要求的第三方合作。也可能需要在管理旗杆上解决问题。

    • 2
  2. Bart Silverstrim
    2010-01-14T05:58:13+08:002010-01-14T05:58:13+08:00

    一种可能的方法 - 为他们设置自己的服务器以在内部保存内容,然后设置脚本以将数据镜像到远程站点。这意味着您要负责在设定的时间安全地传输数据,而不是将其留给用户(这甚至可以为您消除一些麻烦,除非您需要远程服务器上的数据立即可用)。

    除非服务器可以设置为只允许安全连接,否则我不知道有什么方法可以真正 100% 确保用户正在做他们应该做的事情,而且你已经说过你不能重新配置第三方服务器。

    这种方法的另一个好处是您有一种 FTP 数据的“备份”,并且可以更快地在本地访问数据,而不是通过 webbertubes 访问它。拥有这个“ftp 代理”可以节省您的带宽。

    如果您想进一步研究它,您甚至可以有一个过程,您的服务器有一个脚本可以由用户触发以上传到远程站点,或者可能有一个 cron 作业可以简单地每五分钟检查一次文件上载目录中的更改将触发到远程站点的上载过程。

    • 1
  3. Douglas Leeder
    2010-01-14T05:44:15+08:002010-01-14T05:44:15+08:00

    我认为只有多跳方法才能真正起作用。

    也许您可以为服务器设置防火墙,使其不接受标准 ftp 端口上的连接?

    • 0
  4. Alex Holst
    2010-01-14T06:33:43+08:002010-01-14T06:33:43+08:00

    在远离带宽/存储的地方购买虚拟机,然后按照 Bart 的建议进行操作。

    (通过 sftp 我假设您的意思是与 ssh 相关的 sftp。)

    • 0
  5. joeqwerty
    2010-01-14T06:50:06+08:002010-01-14T06:50:06+08:00

    如果只允许与服务器的安全连接,则可以强制他们使用安全连接。如果他们不使用安全连接,那么他们就无法进入,他们会打电话给您,您告诉他们配置他们的 FTP 客户端以使用安全连接。问题解决了。

    • 0
  6. mpez0
    2010-01-14T06:52:35+08:002010-01-14T06:52:35+08:00

    我假设,特别是因为您指的是第三方 ftp 服务器,ftp 和 sftp 服务在它们各自的默认端口上运行,这些端口是不同的。您是否能够将防火墙配置为停止与该服务器的 ftp 连接,但允许 sftp/ssh 传输?

    • 0

相关问题

  • 知道任何适用于 Windows 的快速可编写脚本的 ftp 客户端吗?[关闭]

  • 无法连接到我的 FTP 服务器,为什么?

  • 无法再连接到 FTP 站点

  • 您更喜欢哪个 FTP 客户端,为什么?

  • XP下设置FTP服务器时出错

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve