metaclass-nl/tresholds-governor

阈值控制器,旨在简化对认证进行暴力破解和字典攻击的保护

v0.3 2016-08-16 09:56 UTC

This package is auto-updated.

Last update: 2024-09-10 22:28:07 UTC


README

阈值控制器,旨在简化对认证进行暴力破解和字典攻击的保护

介绍

OWASP 指南指出:“应用程序必须保护凭证免受测试指南中详细说明的常见认证攻击”。本库旨在保护用户凭证免受
这些认证攻击。它基于 OWASP 指南中描述的“阈值控制器”。

功能

  • 框架无关的库,可用于特定框架的捆绑/组件或实现自身认证的应用程序

  • 记录认证次数,并决定根据用户名或客户端 IP 地址阻止认证失败次数过多的用户

  • 隐藏账户是否存在,任何尝试次数过多的用户名都可能被阻止,无论该用户名是否存在和状态如何

  • 便于在失败的登录锁定和最终的管理锁定之间建立逻辑差异,以便批量重新启用所有用户名时不会解锁管理锁定用户(OWASP 要求)

  • 认证成功后自动释放用户名(可选)

  • 存储计数器而不是单个请求,以防止暴力攻击导致的数据库洪泛

需求

PHP >=5.3.3

PDO 或 Doctrine DBAL ^2.3.4 或自定义管理接口的实现。

在 MySQL 5.5. 和 SQLite 3 上进行测试

发行说明

这是一个开发中的预发布版本。

由于频繁和很少使用的用户名在数据库查询性能上的差异,可能容易受到用户名枚举的攻击。这可以通过调用 ::sleepUntilFixedExecutionTime 来缓解。在正常情况下,如果 fixedExecutionSeconds 设置得足够长,应该足够,但在高(数据库)服务器负载下,当性能下降时,在特定条件下,信息可能仍然可以通过计时提取。

文档

支持

MetaClass 提供有关此捆绑/扩展的应用和商业支持以及额外安全措施的帮助和支持。

http://www.metaclass.nl/site/index_php/Menu/10/Contact.html

版权和许可证

除非另行通知,否则版权(c)2014 MetaClass Groningen

本捆绑包受 MIT 许可证保护。请参阅捆绑包中的完整许可证。

meta/LICENSE

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论源于合同、侵权或其他方式,以及与软件或软件的使用或其他交易有关。