【问题标题】:Security with cloud applications and PHP/LDAP connections云应用程序和 PHP/LDAP 连接的安全性
【发布时间】:2026-02-13 14:50:01
【问题描述】:

我正在开发一个企业云应用程序,并且正在解决我在使用 PHP LDAP 库连接到客户网络以检索用户对象时将面临的安全问题。

首先,我的客户必须向我的网络服务器开放他们的网络,这对许多人来说是一个巨大的安全风险。大多数人甚至会拒绝创建仅允许来自我的公共 IP 的 LDAP 查询的防火墙规则。

其次,连接必须始终保持可用,以便我的应用程序可以轮询和检测新的、禁用的和已删除的用户对象。这进一步增加了我的客户的风险因素。

第三个问题是确保我只获得对我的客户 AD 服务器的读取权限 - 我如何确保我的客户不会意外地授予我们对其 AD 的写入权限?我可以使用 PHP 查询提供的域帐户的权限,如果包含写入,则拒绝接受/存储凭据?

有人有更好的建议吗?我可以在我的终端上建立一个 API 来监听和接受来自我的客户可以托管的脚本的指令,但这很麻烦 - 不过肯定会解决安全问题。

连接到 LDAP 服务器的方法有很多,但关于从公共网络上的服务器与专用网络中的 LDAP 服务器同步的最佳方法的文章却不多。

急需建议:)

谢谢!

【问题讨论】:

  • 您想通过访问 LDAP 来完成什么?这是一个“简单”的身份验证吗?或者您是否必须偶尔进行一些也可以缓存在您身边的查找?或者是否有必要进行时间紧迫的复杂查找?第一:使用 OAuth。第二:缓存 LDAP 的内容 - 可能通过来自您的客户端的推送,第三:您需要访问 LDAP。仅通过 LDAPS 访问,并在客户端适当的防火墙规则允许仅从您的 IP 地址访问。

标签: php ldap network-security secure-coding


【解决方案1】:

虚无缥缈的说法太多了,但这里是一个尝试。

第三个问题是确保我只获得客户的阅读权限 AD 服务器 - 我如何确保我的客户不会意外给予 我们写访问他们的广告?我可以用PHP查询权限吗 提供的域帐户,如果包含写入,则拒绝 接受/存储凭据?

当然,为什么不呢。但您可能对自己的参赛作品拥有权利,但对其他人没有权利。

谁有更好的建议?

我什至无法想象通过 Internet 访问任何(当然不是大型)组织 LDAP。即使它作为 API 是安全的。您确实需要像 OAuth 或 OpenID Connect 这样的 API 接口。

【讨论】:

  • 我显然有一个金发碧眼的时刻,并没有考虑将我的应用程序与身份验证 API 集成......不如把“踢我”放在我的背上!谢谢