metaclass-nl / tresholds-governor
阈值控制器,旨在简化对认证进行暴力破解和字典攻击的保护
Requires
- php: >=5.3.3
Suggests
- doctrine/dbal: ^2.3.4
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 设置得足够长,应该足够,但在高(数据库)服务器负载下,当性能下降时,在特定条件下,信息可能仍然可以通过计时提取。
文档
- 安装和配置
- [计数和决策](doc/Counting and deciding.md)
支持
MetaClass 提供有关此捆绑/扩展的应用和商业支持以及额外安全措施的帮助和支持。
http://www.metaclass.nl/site/index_php/Menu/10/Contact.html
版权和许可证
除非另行通知,否则版权(c)2014 MetaClass Groningen
本捆绑包受 MIT 许可证保护。请参阅捆绑包中的完整许可证。
meta/LICENSE
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论源于合同、侵权或其他方式,以及与软件或软件的使用或其他交易有关。