跳转到主要内容

跟踪身份验证尝试并防止暴力攻击

项目描述

License: AGPL-3

跟踪身份验证尝试并防止暴力攻击

此模块记录用户尝试在Odoo中进行身份验证时发出的每个请求。如果身份验证失败,则针对给定远程IP的计数器会增加。达到定义的尝试次数后,Odoo将禁止远程IP并忽略新请求。此模块通过隐蔽性实现安全性(https://en.wikipedia.org/wiki/Security_through_obscurity),当一个用户被禁止时,请求现在被视为攻击。因此,UI将不会向用户指示其IP已被禁止,并显示常规消息“登录名/密码错误”。

此模块通过调用Web API(http://ip-api.com)来尝试获取有关远程IP的额外信息。

配置

您可以使用以下配置参数来控制此插件的行为

  • auth_brute_force.whitelist_remotes 是一个以逗号分隔的已列入白名单的IP列表。忽略这些远程IP的失败。

  • auth_brute_force.max_by_ip 默认为50,表示允许的IP的最大连续失败次数。达到限制后,该IP将被禁止。

  • auth_brute_force.max_by_ip_user 默认为10,表示任何IP和用户组合允许的最大连续失败次数。达到限制后,该用户和IP组合将被禁止。

使用方法

管理员用户有权限解封被禁止的IP。

日志记录

本模块会在以下情况下生成一些警告日志:

  • 当达到IP限制时:来自远程‘x.x.x.x’的认证失败。远程已被禁止。尝试登录:xxxx。

  • 当达到IP+用户组合限制时:来自远程‘x.x.x.x’的认证失败。远程和登录组合已被禁止。尝试登录:xxxx。

屏幕截图

尝试列表

/auth_brute_force/static/description/screenshot_attempts_list.png Try me on Runbot

如需更多信息,请访问

已知问题/路线图

  • 在v12中移除🐒补丁https://github.com/odoo/odoo/issues/24183

  • 根据服务器和/或用户网络配置,用户的识别可能会错误,主要在以下情况下

    • 如果Odoo服务器位于Apache/NGinx代理后面且未正确配置,所有请求都将使用相同的IP地址。阻止此类IP可能会使Odoo对所有用户都不可用!在安装此插件之前,请确保您的日志输出werkzeug流量的正确IP。

  • IP元数据的检索应使用更好的系统。请在此处查看详细信息

错误追踪器

错误在GitHub Issues上跟踪。如果遇到问题,请检查是否已经报告了您的问题。如果您是第一个发现它的人,请通过提供详细且受欢迎的反馈来帮助我们解决这个问题。

鸣谢

贡献者

维护者

Odoo Community Association

此模块由OCA维护。

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并促进其广泛使用。

要为此模块做出贡献,请访问https://odoo-community.org

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

本发布版本没有可用的源代码分发文件。请参阅生成分发存档的教程。

构建分发

odoo10_addon_auth_brute_force-10.0.2.2.0-py2-none-any.whl (143.1 kB 查看哈希值)

上传时间 Python 2

由以下组织支持