默认
Python3.8 安装
Nuitka使用
自检工具常见问题
python 提权
Git 打补丁-- patch 和 diff 的使用
ssh 端口转发
Ubuntu常用操作
gitea安装
ubuntu添加pycharm快捷方式
常用链接
DTHouse测试
test
GIT 常用操作
groovyScript 使用
Kafka 常用操作
Postgres 日期操作
硬盘读写测试
安装nodejs
dthouse打包
postgresql 主从复制
Bandit 代码安全检测
odoo安全
License相关
人民币大写
unison使用
supervisor 使用记录
如何修改 Ubuntu 时区
ubuntu 中 history 命令显示执行时间
Ubuntu 修改 SSH 登录欢迎界面
git仅拉取仓库内的指定目录
本文档使用 MrDoc 发布
-
+
首页
odoo安全
## 1. 环境安全 ### 1.1 服务器 服务器使用长期支持(LTS)版本,并在版本结束支持前切换到最新的长期支持版本。 > Ubuntu每六个月发布一个新版本,普通版本一般只支持9个月。 > 长期支持(LTS)版本每两年发布一次。LTS版本一般能提供5年的支持。 Partner当前服务器版本为 ubuntu-server 22.04 LTS,结束支持的时间为2027年4月。 应对措施: 1. 定期执行apt update & apt upgrade对服务器进行升级与打补丁 ### 1.2 Python、pip、pip包 [安全通告 | PyPI近期遭若干恶意包投毒](https://www.wangan.com/p/7fy78ye8b4699d6b) [【安全通知】PyPI 官方仓库遭遇covd恶意包投毒](https://cloud.tencent.com/developer/article/1748799) [腾讯安全应急响应中心](https://cloud.tencent.com/developer/column/4227/tag-10169) [网安漏洞中心](https://vul.wangan.com/search?search_type=1&key_word=pip) [AUSCERT安全公告](https://www.auscert.org.au/bulletins/search?q=pip) 观察可发现,恶意pip包主要是通过使用易混淆的包名进行入侵。 应对措施: 1. 对引用的非官方依赖进行安全评估 2. 检查正式环境中 pip list,是否存在"李鬼"包 3. 定期将Python、pip升级到当前版本的最新小版本以解决潜在的安全隐患 4. 定期获取依赖项的安全通知 ### 1.3 数据库 [PostgreSQL安全问题](https://www.postgresql.org/about/news/postgresql-133-127-1112-1017-and-9622-released-2210/) [PostgreSQL更新历史](https://www.postgresql.org/about/newsarchive/pgsql/) [PostgreSQL版本支持计划](https://www.postgresql.org/support/versioning/) > 版本控制策略 PostgreSQL全球开发小组每年发布一次包含新功能的新主要版本。每个主要版本都会收到错误修复,如果需要,还会收到至少每三个月发布一次的安全修复程序,我们称之为“次要版本” PostgreSQL全球开发小组在初始版本发布后的5年内支持主要版本。在其五周年纪念日之后,主要版本将具有包含任何修复的最后一个次要版本,并将被视为生命周期终止(EOL)并且不再受支持。 > > 升级 <mark>我们始终建议所有用户为正在使用的任何主要版本运行最新的可用次要版本</mark>。 升级到次要版本通常不需要转储和还原。您可以停止数据库服务器,安装更新的二进制文件,然后重新启动服务器。对于某些版本,可能需要手动更改才能完成升级,因此在升级之前请务必阅读发行说明。 虽然升级将始终包含一定程度的风险,但PostgreSQL次要版本仅修复经常遇到的错误,安全问题和数据损坏问题,以降低与升级相关的风险。<mark>对于次要版本,社区认为不升级比升级风险更大。</mark> > > | Version | Current minor | Supported | First Release | Final Release | | ------- | ------------- | --------- | -------------- | ------------- | | 15 | 15.0 | Yes | 2022.10.13 | 2027.11.11 | | 14 | 14.5 | Yes | 2021.9.30 | 2026.11.12 | | 13 | 13.8 | Yes | 2020.9.24 | 2025.11.13 | | 12 | 12.12 | Yes | 2019.10.3 | 2024.11.14 | | 11 | 11.17 | Yes | 2018.10.18 | 2023.11.9 | | 10 | 10.22 | Yes | 2017.10.5 | 2022.11.10 | 当前Partner使用的PostgreSQL版本为14.5,结束支持时间为2026年11月. 应对措施: 1. 定期备份 2. pg_hba中配置ip白名单+scram-sha-256认证 3. 定期升级数据库到当前版本的次要版本 ## 2 代码安全 ### 2.1 删除代码中未使用到的模块 只保留实际使用的几个模块,降低代码维护成本,减少潜在的受攻击面。 ### 2.2 及时跟进修复官方披露的安全漏洞 [odoo github issues中安全披露](https://github.com/odoo/odoo/issues?q=is%3Aissue+is%3Aclosed+label%3ASecurity+) 应对措施: 定期拉取官方当前版本最新代码合并到本地分支,测试没问题后再合并到主分支。 ### 2.3 使用bandit扫描代码 ## 3. 使用安全 ### 3.1 账号安全 登录时短信认证:未启用二次认证时,登录新设备需填写手机验证码 登录时二次认证:启用二次认证后,登录新设备时需填写6位二次认证码 API密钥:接口调用时通过API密钥进行认证,API密钥无法登录网页 ### 3.2 路由白名单 对路由启用白名单限制,非开发人员只能访问白名单内的路由。 只有前端中明确使用到的路由才放到白名单中,前端中所有的请求集中在src/services目录下 ### 3.3 表权限控制 基于odoo的权限规则,控制每个用户的权限。 ### 3.4 防止数据重复提交 前端打开创建或修改页面时生成随机码,确认操作时将随机码包含到参数中,后台通过随机码判断当前是否为重复请求。 ### 3.5 接口数据二次确认 接口只传递必要的参数,后台验证参数合法后再填充可计算信息。 ## 4. 具体业务 ### 4.1 License 防止超量使用:根据产品id、主账号id、生成次数创建唯一约束,生成License时计算该产品是第几次生成。 防止替换环境摘要:生成License前检查是否存在已生成的License ### 4.2 防止篡改订单金额、防止提货券重复使用 1. 用户无法直接调用 create、write、unlink 方法,通过封装的函数进行调用 2. 下单时接口中只传递产品编码、产品数量、优惠券编码、优惠券本次使用金额。后台自行计算总价、优惠后价格 3. 下单时后台校验优惠券编码有权限使用、状态正常、剩余金额大于本次使用金额、总抵扣金额小于等于总价的50%等信息 4. dodo中重复第二条、第三条 ### 4.3 定时任务检查提货券使用情况是否异常 1. 定时任务每天检查一次抵扣券使用情况,出现异常时发送告警信息。
幻翼
2022年10月27日 17:37
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码