我们在 DMZ 中很少有面向客户的服务器也有用户帐户,所有帐户都在影子密码文件中。我正在尝试整合用户登录并考虑让 LAN 用户针对 Active Directory 进行身份验证。需要身份验证的服务是 Apache、Proftpd 和 ssh。在咨询安全团队后,我设置了具有 LDAPS 代理的身份验证 DMZ,该 DMZ 又与 LAN 中的另一个 LDAPS 代理(proxy2)联系,这个代理通过 LDAP(作为 LDAP 绑定)将身份验证信息传递给 AD 控制器。第二个 LDAP 代理只需要因为 AD 服务器拒绝使用我们的安全 LDAP 实现使用 TLS。这适用于使用适当模块的 Apache。在稍后阶段,我可能会尝试将客户帐户从服务器移动到 LDAP 代理,这样它们就不会分散在服务器周围。
对于 SSH,我将 proxy2 加入了 Windows 域,以便用户可以使用他们的 Windows 凭据登录。然后我创建了 ssh 密钥并使用 ssh-copy 将它们复制到 DMZ 服务器,以便在用户通过身份验证后启用无密码登录。
这是实现这种 SSO 的好方法吗?我是否错过了这里的任何安全问题,或者可能有更好的方法来实现我的目标?