如何提高从 Web 服务器下载简单文件的安全性?
How To Improve Security For Simple File Download From A Web Server?
亲爱的 Whosebug 社区,
======================================
TL;DR 版本:
在我们进一步处理与云 Web 门户提供商的关系之前,我想坚持要求他们为我们提供从他们的 Web 服务器获取数据副本的安全方式.
- 安全地验证我们自己,而不会让我们自己的凭据容易被盗或欺骗,并且
- 在返回给我们的途中保护传输中的文件。
尽管我在该领域缺乏经验,但我怀疑我可能必须亲自为他们指出正确的方向。我可以要求他们研究哪些简单但安全的方法来验证我们?
======================================
已满POST
背景:
在工作中,我们正在评估一个基于云的门户网站,我们的现有和以前的客户将能够通过该门户网站相互联系(我们有与我们成群结队互动的客户).
门户的用户界面设计精良,这就是我们考虑购买它的原因,但提供它的公司还很年轻。因此,例如,他们的“帮助我们将门户数据与 SalesForce 集成”的想法是在管理控制面板中有一个 link 页面 returns 包含我们数据库全部内容的 CSV 文件。
"Fetch a CSV" 实际上没问题,因为我们已经使用 ERP 中的其他 CSV 文件执行此操作(使用数据加载器推送到 SalesForce 并在始终在线的 PC 上安排 Windows 批处理脚本) .
我说我们可以使用它,只要他们为我们提供一种在凌晨 5 点无需人工干预的情况下以编程方式获取 CSV 文件的方法。他们这样做了,但该解决方案似乎容易受到利用,我希望获得指导以重定向他们的工作。
关于人类的消遣UI:
link 人们认为使用门户网站的 Web 界面的人是http://www.OurBrandedDomain.com/admin/downloaddatabase
如果您还没有登录,您将被重定向 http://www.OurBrandedDomain.com/Admin/login?returnUrl=admin/downloaddatabase ,一旦您登录,CSV 文件就会提供给您。
(是的,我知道,这是 HTTP 和客户数据...我打算与他们讨论关闭对 login/signup 表单和内部结构的 HTTP 访问该网站也是。不过,这不是我问题的重点。)
他们的提议:
所以,正如我所说,我要求提供一些可以编程使用的东西。
的指示
如果我错了请纠正我,但这似乎是一种非常不安全的向 Web 服务器验证我们自己的方式。
我如何需要帮助:
在我们进一步处理与该门户提供商的关系之前,我想坚持要求他们为我们提供一种安全的方式来获取我们数据的 CSV 副本。
- 安全地验证我们自己,而不会让我们自己的凭据容易被盗或欺骗,并且
- 在返回给我们的途中保护传输中的文件。
但是,我不觉得他们真的考虑了很多安全问题,而且我怀疑尽管我自己在该领域缺乏经验,但我可能必须亲自为他们指出正确的方向。
我可以要求他们研究哪些简单但安全的方法来验证我们的身份,他们对他们的服务器架构一无所知,只能从我刚才描述的内容中推断出来这里?
该解决方案不必让我们使用浏览器与他们的服务器进行交互。由于我们将在没有人为干预的情况下在 Windows 脚本环境中下载文件,因此建议我们只能以编程方式测试的解决方案很好 (尽管这会使我的学习曲线有点陡峭) .
(我想解决方案甚至可以摆脱以 CSV 文件形式提供数据的服务器,尽管那样我们可能最终会在本地重建一个 CSV 文件,因为我们有CSV->SalesForce 的基础设施。)
提前致谢。
是的,那是不安全的。
你应该坚持使用TLS。为此,他们需要安装证书颁发机构颁发的证书以验证他们拥有域 OurFlavorOfTheirSite.com
。这将使 URL 能够使用 HTTPS,这意味着通信已加密并经过身份验证(即另一个网站无法在不显示浏览器警告的情况下欺骗 OurFlavorOfTheirSite.com
)。
虽然 email=AdminsEmail@Domain.com&password=AdminsPassword
参数将被加密,但应通过 POST 而不是 GET 提交这些参数。原因是 GET 查询字符串参数记录在浏览器历史记录中,默认记录在代理和服务器日志中,并且可以在 referer
header 中传输,当资源来自其他域时。
亲爱的 Whosebug 社区,
======================================
TL;DR 版本:
在我们进一步处理与云 Web 门户提供商的关系之前,我想坚持要求他们为我们提供从他们的 Web 服务器获取数据副本的安全方式.
- 安全地验证我们自己,而不会让我们自己的凭据容易被盗或欺骗,并且
- 在返回给我们的途中保护传输中的文件。
尽管我在该领域缺乏经验,但我怀疑我可能必须亲自为他们指出正确的方向。我可以要求他们研究哪些简单但安全的方法来验证我们?
======================================
已满POST
背景:
在工作中,我们正在评估一个基于云的门户网站,我们的现有和以前的客户将能够通过该门户网站相互联系(我们有与我们成群结队互动的客户).
门户的用户界面设计精良,这就是我们考虑购买它的原因,但提供它的公司还很年轻。因此,例如,他们的“帮助我们将门户数据与 SalesForce 集成”的想法是在管理控制面板中有一个 link 页面 returns 包含我们数据库全部内容的 CSV 文件。
"Fetch a CSV" 实际上没问题,因为我们已经使用 ERP 中的其他 CSV 文件执行此操作(使用数据加载器推送到 SalesForce 并在始终在线的 PC 上安排 Windows 批处理脚本) .
我说我们可以使用它,只要他们为我们提供一种在凌晨 5 点无需人工干预的情况下以编程方式获取 CSV 文件的方法。他们这样做了,但该解决方案似乎容易受到利用,我希望获得指导以重定向他们的工作。
关于人类的消遣UI:
link 人们认为使用门户网站的 Web 界面的人是http://www.OurBrandedDomain.com/admin/downloaddatabase
如果您还没有登录,您将被重定向 http://www.OurBrandedDomain.com/Admin/login?returnUrl=admin/downloaddatabase ,一旦您登录,CSV 文件就会提供给您。
(是的,我知道,这是 HTTP 和客户数据...我打算与他们讨论关闭对 login/signup 表单和内部结构的 HTTP 访问该网站也是。不过,这不是我问题的重点。)
他们的提议:
所以,正如我所说,我要求提供一些可以编程使用的东西。
的指示如果我错了请纠正我,但这似乎是一种非常不安全的向 Web 服务器验证我们自己的方式。
我如何需要帮助:
在我们进一步处理与该门户提供商的关系之前,我想坚持要求他们为我们提供一种安全的方式来获取我们数据的 CSV 副本。
- 安全地验证我们自己,而不会让我们自己的凭据容易被盗或欺骗,并且
- 在返回给我们的途中保护传输中的文件。
但是,我不觉得他们真的考虑了很多安全问题,而且我怀疑尽管我自己在该领域缺乏经验,但我可能必须亲自为他们指出正确的方向。
我可以要求他们研究哪些简单但安全的方法来验证我们的身份,他们对他们的服务器架构一无所知,只能从我刚才描述的内容中推断出来这里?
该解决方案不必让我们使用浏览器与他们的服务器进行交互。由于我们将在没有人为干预的情况下在 Windows 脚本环境中下载文件,因此建议我们只能以编程方式测试的解决方案很好 (尽管这会使我的学习曲线有点陡峭) .
(我想解决方案甚至可以摆脱以 CSV 文件形式提供数据的服务器,尽管那样我们可能最终会在本地重建一个 CSV 文件,因为我们有CSV->SalesForce 的基础设施。)
提前致谢。
是的,那是不安全的。
你应该坚持使用TLS。为此,他们需要安装证书颁发机构颁发的证书以验证他们拥有域 OurFlavorOfTheirSite.com
。这将使 URL 能够使用 HTTPS,这意味着通信已加密并经过身份验证(即另一个网站无法在不显示浏览器警告的情况下欺骗 OurFlavorOfTheirSite.com
)。
虽然 email=AdminsEmail@Domain.com&password=AdminsPassword
参数将被加密,但应通过 POST 而不是 GET 提交这些参数。原因是 GET 查询字符串参数记录在浏览器历史记录中,默认记录在代理和服务器日志中,并且可以在 referer
header 中传输,当资源来自其他域时。