安全的AD访问

我只是想通过php(ldap)访问Active Directory-Server,以便能够使用Windows凭据进行网站login。 我在连接到虚拟机中的Windows Server 2012 R2的标准Windows上使用xampp执行此操作。 现在转向生产,我担心安全问题:

运行php的服务器必须访问Windows / AD / LDAP-Server。 但是我读到,离开从外部访问的login服务器会产生大量的暴力攻击,试图获得一些密码。

大公司,大学和学校仍然允许你在家login你的工作账户。 他们如何做到这一点没有留下一个大的安全漏洞? 除PHP / LDAP之外,还有其他的select吗,他们是否将networking服务器的IP列入白名单(我怎么做?),或者他们在同一台服务器上运行Web服务器和AD(我怎么做)?

大公司,大学和学校仍然允许你在家login你的工作账户。 他们如何做到这一点没有留下一个大的安全漏洞?

有几种机制允许从局域网外的Active Directory进行相对安全的身份validation。 我从来没有见过目录服务端口,即使是只读的LDAP,通过防火墙的情况。

对Active Directory进行远程身份validation的一个相当安全的示例是受Web应用程序代理(WAP)保护的Active Directory联合身份validation服务(ADFS)。

从外面去:

  • Internet和WAP服务器之间存在防火墙或安全设备或上下文,从而只允许HTTPS(端口443)通过WAP服务器。
  • WAP服务器在端口443接收请求并代理ADFS服务(见下文)。 外部用户直接与WAP交互,而不是与ADFS服务交互。 WAP服务器不是域的成员,只能通过HTTPS与ADFS服务通信。
  • 在WAP服务器(例如DMZ)和ADFS服务器之间存在另一个防火墙或安全设备或上下文。 WAP服务器和ADFS服务器之间只允许使用端口443(或备用端口号)。
  • ADFS服务器位于“防火墙内”,仅允许HTTPS连接。 代理用户会话通过SSL将用户凭据传递给ADFS服务器。 ADFS服务器是域的成员,可以直接与一个或多个域控制器进行通信。 它使用提供的凭证进行身份validation请求,然后将结果传回原始引用应用程序。

请注意,所讨论的ADFS服务器不是直接在Internet上,也不在DMZ中,因此存在多层保护。 如果WAP服务器遭到入侵,那么攻击者在这个域上还不是正确的,他们从那里进入networking的唯一漏洞就是通过端口443。

没有什么是100%安全的,但是这个示例configuration是由微软推荐的(对于那些值得的),允许从受保护的LAN / WAN外部login的用户的“联合”应用程序authentication到Active Directory。

还有其他相对安全的方式将证书传递给AD服务器,并将结果传回,这只是使用Microsoft产品的一个示例。