我的客户有自己的网络。我的网络托管他们的 Web 应用。他们希望能够使用他们的 AD 进行身份验证。
我有一个内部网站,通过 ldap 进行本地身份验证。通过 ssl 进行 ldap 是否是我的网站通过其 AD 服务进行身份验证的正确方法?或者有更好的方法吗?
答案1
通过 SSL 进行 ldap 是否是我的网站使用其 AD 服务进行身份验证的正确方法?或者有更好的方法吗?
在实体之间提供身份验证的正确方法应该是某种联合登录(ADFS、OneLogin 或利用 SAML 登录协议的其他解决方案)——实际上任何设计可在 WAN 中使用。
如果你坚持使用 LDAP,那么至少
- 将面向外部的 LDAPS 端口混淆为 636 以外的其他端口;将其访问限制为客户端的外部 IP,或者
- 利用站点到站点的 VPN;唯一允许的流量是您的 Web 服务器和其 LDAP 服务器之间的流量。
此外,LDAP 绑定/查询应由身份验证用户执行(以避免需要专用的 ldap 查询帐户;尽管可以接受用于 LDAP 绑定的专用帐户,但应限制该帐户对 AD 中帐户的读取访问权限,并且只应允许该帐户登录到域控制器(因为 LDAP 绑定似乎是从那里起源的)
答案2
是的,但您必须注意防火墙端口(例如 LDAP 的端口 636)。从开发人员的角度来看,LDAP 是有效的。从网络架构来看,可能会存在一些问题,具体取决于您的特定环境。
答案3
您也应该在网络内部使用安全 LDAP,尤其是对于大型组织而言。当跨多个网络时,这绝对是必须的。您需要与他们协调以配置适当的防火墙规则。
另一个值得考虑的点是,如果其他客户端也可以访问您的网络 - 那么您应该考虑专用于该客户端的机器并在隔离的网络中运行它们。