跟踪身份验证尝试并防止暴力攻击模块
odoo8-addon-auth-brute-force的Python项目详细描述
跟踪身份验证尝试并防止暴力攻击
此模块将用户尝试验证的每个请求注册到 奥多。如果身份验证失败,则为给定的远程服务器增加一个计数器 知识产权。经过一定次数的尝试后,odoo将禁止远程ip和 忽略新请求。 此模块通过隐藏应用安全性 (https://en.wikipedia.org/wiki/Security_through_obscurity), 当用户被禁止时,请求现在被视为攻击。那么,用户界面 将not向用户指示其IP被禁止,并显示常规消息 显示“错误登录/密码”。
此模块实现对web api(http://ip-api.com)的调用,以尝试 有关远程IP的附加信息。
已知问题/路线图
用于标识远程请求的id是请求中提供的ip (键“远程地址”)。 根据服务器和/或用户网络配置,标识配置 的用户可能是错误的,主要是在以下情况下:
- 如果odoo服务器位于没有重定向的apache/nginx代理后面, 所有请求的远程地址键值为“127.0.0.1”
- 如果某些用户位于同一个Internet服务提供商的后面,则 禁止,所有其他用户也将被禁止;
配置
安装后,可以更改密钥的ir.config_参数值 “auth_brute_force.max_attement_qty”(默认为10)定义最大数量 在用户被禁止之前允许的尝试次数。
还可以为密钥添加ir.config_参数值 “auth_brute_force.environ_log”允许记录特定的请求 环境变量。
格式是以逗号分隔的变量名列表 示例:远程地址,远程端口
或者你可以用jocker'*'来记录或者发现所有变量, 大多数变量名取决于wsgi规范和反向代理配置。
使用量
管理员用户可以解除阻止被禁止的IP。
记录
此模块在以下三种情况下生成一些警告日志:
- 从远程“127.0.0.1”进行身份验证失败。登录尝试:“admin”。 尝试1/10。
- 从远程“127.0.0.1”进行身份验证失败。遥控器被禁止了。 登录尝试:“admin”。
- 已尝试从远程“127.0.0.1”进行身份验证。请求已被忽略 因为遥控器在尝试了10次都没有成功就被禁止了。登录 尝试:“管理”。
截图
尝试列表
禁用IP的详细信息
有关详细信息,请访问:
错误跟踪器
在GitHub Issues上跟踪错误。 如果出现问题,请检查是否已报告您的问题。 如果您首先发现了它,请提供详细且受欢迎的反馈,帮助我们粉碎它 here。
学分
贡献者
- 西尔文勒加尔(https://twitter.com/legalsylvain)
- 西尔文卡拉多(https://akretion.com)