我们有一个SOAP WSDL
公共用户可以查看的文件。最近,我们组织中的一些人质疑这是否会引起安全问题。
有没有人认为WSDL
公众可以查看文件是一种安全问题?所有可用功能都需要登录用户。
简短的回答是:如果发布您的 WSDL 代表一个安全问题,那么即使您不发布您的 WSDL,您也会遇到安全问题,您需要解决这个问题,而不仅仅是试图隐藏它。
WSDL 只是解释您的协议。你不能假设你的协议是秘密的;攻击者仍然可以在没有您的 WSDL 的情况下对其进行逆向工程。您永远不能假设网络连接另一端的客户端是“您的”客户端。你必须假设它是一个攻击者,并设计你的系统来处理这个事实。
因此,隐藏您的 WSDL 是一种次要的混淆形式,它不会提供严重的安全性。但是...如果隐藏您的 WSDL 非常容易并且不需要您做额外的工作,当然,为什么不呢?隐藏它可能会阻止某些类型的自动化脚本尝试攻击您。它确实给攻击者带来了一个额外的小麻烦。
隐藏您的 WSDL 的一个主要危险是它可能会导致部分开发人员认为 WSDL 是秘密的。如果你有一个团队可能会遇到问题,我会公开它只是为了让他们保持专注。
另一个主要危险是如果它使您的系统更难维护(例如,难以升级)。如果是这样,我绝对不会隐瞒。客户端的额外复杂性几乎肯定会比公共 WSDL 带来更大的安全风险。