跟踪认证尝试和防止暴力攻击模块
项目描述
跟踪认证尝试和防止暴力攻击
本模块记录用户尝试认证Odoo时发出的每个请求。如果认证失败,将针对给定的远程IP增加计数器。在定义的尝试次数后,Odoo将禁止远程IP并忽略新请求。此模块通过隐蔽性实现安全性(https://en.wikipedia.org/wiki/Security_through_obscurity),当用户被禁止时,请求现在被视为攻击。因此,UI将 不会 告诉用户其IP已被禁止,并显示常规消息“错误的登录/密码”。
本模块实现了一个对Web API(http://ip-api.com)的调用,以尝试获取有关远程IP的额外信息。
已知问题/路线图
用于识别远程请求的ID是请求中提供的IP(键‘REMOTE_ADDR’)。根据服务器和/或用户网络配置,用户的识别可能会出错,主要在以下情况下
如果Odoo服务器位于Apache / NGinx代理后面,但没有重定向,则所有请求都将为REMOTE_ADDR键具有值‘127.0.0.1’;
如果某些用户位于同一互联网服务提供商后面,如果某个用户被禁止,则所有其他用户也将被禁止;
配置
安装后,您可以通过更改ir.config_parameter键的值(默认为10)来更改‘auth_brute_force.max_attempt_qty’,该值定义了在用户被禁止之前允许的最大尝试次数。
您还可以为密钥“auth_brute_force.environ_log”添加一个ir.config_parameter值,允许记录特定的请求环境变量。
格式为变量名逗号分隔的列表,例如:REMOTE_ADDR,REMOTE_PORT
或者您可以使用通配符“*”来记录或发现所有变量,大多数变量名取决于WSGI规范和反向代理配置。
用法
管理员用户有权解锁被禁止的IP。
日志记录
该模块在以下三种情况下生成一些警告日志:
远程“127.0.0.1”认证失败。尝试登录:“admin”。尝试次数 1 / 10。
远程“127.0.0.1”认证失败。远程已被禁止。尝试登录:“admin”。
从远程“127.0.0.1”尝试认证。由于远程在10次尝试未成功后已被禁止,请求已被忽略。尝试登录:“admin”。
屏幕截图
尝试列表
被禁止IP的详细信息
有关更多信息,请访问
错误跟踪器
错误在GitHub Issues上跟踪。如果有问题,请检查是否已报告您的问题。如果您是第一个发现它的人,请通过提供详细和受欢迎的反馈来帮助我们解决它此处。
致谢
贡献者
Sylvain LE GAL (https://twitter.com/legalsylvain)
Sylvain CALADOR (https://akretion.com)
维护者
此模块由OCA维护。
OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛应用。
要为此模块做出贡献,请访问http://odoo-community.org。
项目详情
散列值 for odoo8_addon_auth_brute_force-8.0.1.0.0.99.dev50-py2-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | fec5998392bfcea64596fc490abd28516e4edc26f3e6437f38d96d5ad364886e |
|
MD5 | f91120313f21bce908604663a361b0aa |
|
BLAKE2b-256 | 5552855d33578c539e97004fdae06837186851657f1fbbc0fdaf0e33394b2dfa |