通过防火墙进行 LDAP 身份验证

通过防火墙进行 LDAP 身份验证

我有一个 Rails Gem,它可以执行 Active Directory 身份验证,其测试套件有相当多的身份验证检查。当我在我们的 LAN 上运行测试套件时,一切都没有问题(正如人们所期望的那样),但我们正在考虑将我们的一个应用程序移至云服务器,这当然意味着它将从网络外部访问 DC。

我已将 LDAP Gem 的副本拉到云服务器上,我们可以使用它进行测试并在防火墙上设置端口转发,然后在输入设置后运行测试,但测试失败,但失败的方式与输入错误密码的方式不同。

我在 DC 的安全日志中看到了成功登录的信息,但无论出于什么原因,它都没有将数据返回给客户端。

我已将端口 XXXX 转发到 DC 上的端口 389,还需要其他转发吗?

答案1

LDAP使用 TCP 389 进行不安全通信,使用 636 进行安全通信。

客户端通过连接到 LDAP 服务器(称为目录系统代理 (DSA),默认在 TCP 端口 389 上)来启动 LDAP 会话。

保护 LDAP 通信的常见替代方法是使用 SSL 隧道。这在 LDAP URL 中通过使用 URL 方案“ldaps”来表示。LDAP over SSL 的默认端口为 636。

在防火墙方面,您需要允许从防火墙的“外部”接口到“受信任”接口访问这些端口。如果您使用的是 NAT,则可能需要在公共 IP 和 LAN IP 上添加规则。

您不需要转发任何端口,但您需要允许如下通信:

permit tcp any x.x.x.x 0.0.0.0 389
permit tcp any x.x.x.x 0.0.0.0 636

您可以允许任何源 IP 在特定端口上用于您服务器的任何源端口上。

您还应该允许任何已建立的连接,在 Cisco 设备上,这似乎permit any established将允许您的服务器的响应退出防火墙。大多数防火墙通常默认执行此已建立的操作(根据我的经验),因此如果您有专用防火墙,这应该不是问题。

相关内容