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

Arc*_*ath 2 firewall ldap

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

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

我在 DC 的安全日志中成功登录,但无论出于何种原因,它都没有将数据返回给客户端。

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

Nat*_*ate 8

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

默认情况下,客户端在 TCP 端口 389 上连接到称为目录系统代理 (DSA) 的 LDAP 服务器来启动 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
Run Code Online (Sandbox Code Playgroud)

您允许在特定端口上为您的服务器指定的任何源端口上的任何源 IP。

您还应该允许任何已建立的连接,在 Cisco 设备上,看起来permit any established这将允许来自您的服务器的响应返回防火墙之外。大多数防火墙通常默认执行此既定事情(根据我的经验),因此如果您有专用防火墙,这应该不是问题。