保护ldap服务器免受暴力攻击导致的帐户锁定

时间:2018-12-04 15:32:09

标签: ldap brute-force lockout

在使用patator ldap_login对ldap服务器进行针对bruteforce的测试期间,我发现所测试的帐户在绕过允许的登录尝试的限制后被锁定了。使用此工具,攻击者可以锁定公司中的所有帐户,什么是防止此类锁定的最佳方法?

1 个答案:

答案 0 :(得分:0)

如果您询问如何使用这种工具来验证密码是否适当复杂而不锁定所有帐户,请在其他位置克隆目录。将克隆目录服务器上的密码策略设置为不锁定密码错误的帐户,然后针对克隆目录运行您的工具。

如果您要问如何使用这种类型的工具来锁定其他人来锁定整个用户目录,...我很惊讶这种攻击并不常见-特别是由于PCI等安全要求要求帐户锁定,因此目录 很有可能在输入少量错误密码后锁定ID。

我使用OS防火墙限制对LDAP目录服务器的访问,对于提供这种功能的LDAP服务器,则限制应用程序级别的访问控制。因为必须为每个新应用程序设置访问LDAP的权限,所以目录支持团队需要做更多的工作,但是有些随机的人不能只在自己的桌面上运行工具并锁定整个目录。其中一台授权服务器仍然可以用作攻击源,但是当发现攻击时,我可以从该IP删除访问。

限制对LDAP / LDAPS目录服务器的访问不会阻止随机人员使用批准的应用程序发送身份验证请求(例如,类似“ curl --user username:NotThePassword https://businessapp.domain.gTLD”之类的内容或发布该用户名正确的认证URL的/ NotThePassword具有已批准的服务器,代表我进行LDAP调用)。有很多方法可以减轻这种攻击:

我有一些应用程序,其中包括一个冷静期,当它们开始获得一系列错误的密码时-6个错误的密码将帐户锁定在目录侧,但是该应用程序会给您十分钟的超时时间,您无法尝试在5分钟内再次使用2或3个错误密码进行身份验证。或抛出“您真的是人类”的验证。

您可以配置密码策略,以在输入Y错误密码后X分钟内锁定帐户。这意味着攻击者需要针对特定​​ID的持续攻击,以将其锁定 很长时间。尽管攻击者可以 锁定整个目录,但对用户的影响却最小。 X分钟的暂停使蛮力密码攻击效率很低,并且通常可以从安全性类型上得到认可。

具有在算法中不容易遍历的用户ID会有所帮助。例如,我在一家公司工作,该公司的用户ID是一个静态字母,后跟五个数字。遍历他们可能的用户ID的整个名称空间是微不足道的,并且在那里工作的任何人都知道ID格式。具有更多可能迭代的ID名称空间使锁定大部分用户变得更加困难(即,花更多的时间遍历介于3到20个字符之间的所有可能的字母/数字组合(而且很多攻击是针对不存在的帐户执行},比遍历X #####名称空间所需的时间}。

确保所有应用程序也为无效的用户名或密码返回相同的错误-如果您在找不到ID时指定“无效用户名”,而在密码失败时指定为“无效密码”,则攻击者可以迅速绕过所有不存在。通过返回“错误的用户名或密码”,他们不得不浪费时间尝试锁定不存在的ID。

对于较大的网络,可以使用包含网络流量和日志分析的入侵检测系统(IDS)。但是,可以通过监视平台或自定义的编写脚本来分析目录服务器日志数据。当发生异常数量的停工时,我会生成警报-在一家相当大的公司工作,在正常的工作时间内,我会看到大约100个停工,而在夜间则是一两个。如果我们在一夜之间或一小时内在办公时间内看到的信号不多,则会通知锁定源进行调查。而且,如果锁定开始变得特别严重,我们可以打电话从目录服务器访问列表中删除源IP,直到应用程序团队确定正在发生的事情为止。