登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
代码拉取完成,页面将自动刷新
开源项目
>
其他开源
>
操作系统
&&
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
23
Star
37
Fork
55
openEuler
/
syscare
代码
Issues
12
Pull Requests
0
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
selinux关闭的情况下,upatch服务启动失败
已完成
#I9FGS2
缺陷
linmengmeng
创建于
2024-04-10 14:23
**【标题描述】selinux关闭的情况下,upatch服务启动失败** **一、缺陷信息** ``` [root@2203sp2-85 ~]# /usr/bin/upatchd [2024-04-09 10:13:13.068091] [INFO] [upatchd] ================================ [2024-04-09 10:13:13.069431] [INFO] [upatchd] Upatch Daemon - 1.2.1-g8c09e8b [2024-04-09 10:13:13.069466] [INFO] [upatchd] ================================ [2024-04-09 10:13:13.069478] [INFO] [upatchd] Start with Arguments { daemon: false, config_dir: "/etc/syscare", work_dir: "/var/run/syscare", log_dir: "/var/log/syscare", log_level: Info, } [2024-04-09 10:13:13.069535] [INFO] [upatchd] Initializing skeleton... [2024-04-09 10:13:13.069699] [INFO] [upatchd] Using elf mapping: { "/usr/bin/c++": "/usr/libexec/syscare/c++-hijacker", "/usr/bin/cc": "/usr/libexec/syscare/cc-hijacker", "/usr/bin/gcc": "/usr/libexec/syscare/gcc-hijacker", "/usr/bin/g++": "/usr/libexec/syscare/g++-hijacker", "/usr/bin/as": "/usr/libexec/syscare/as-hijacker", } [2024-04-09 10:13:13.069783] [INFO] [upatchd] Installing kernel module 'upatch_hijacker'... [2024-04-09 10:13:13.069844] [ERROR] [upatchd] Error: Failed to initialize skeleton Caused by: 0: Failed to initialize hijacker 1: Cannot get path /usr/libexec/syscare/upatch_hijacker.ko xattr security.selinux, no data available (os error 61) [2024-04-09 10:13:13.069888] [ERROR] [upatchd] Daemon exited unsuccessfully ``` 分析记录: 林孟孟(00455942) 2024-04-15 10:30 这个问题单里面,关闭是指selinux的状态是Disabled吗 Disabled的情况下,upatch一定会启动失败吗 刘晓波(00453303) 2024-04-15 10:31 原场景是Disabled 刘晓波(00453303) 2024-04-15 10:33 它问题的原因是我尝试直接去设置了upatch-hijacker.ko的security context(不设置启用selinux的状态下会加载不了),但是如果在selinux没有启用的情况下,这个动作会失败,就直接报错退出了。 修改方式是在做这个动作前判断了一下selinux状态,如果为Enforce才会去写这个值 林孟孟(00455942) 2024-04-15 10:34 那不设置这个security context会有什么后果吗?按照你修改的逻辑,会出现有时改,有时没改的情况 林孟孟(00455942) 2024-04-15 10:35 就像上面那个补丁,就得设置为非Enforce 刘晓波(00453303) 2024-04-15 10:39 security context是selinux的文件系统属性标签,它是文件的一个属性,如果没有设置正确会导致权限不足,文件加载不了,某些操作受限等等。 这个security context和selinux规则都是每个软件自己配置的,syscare只能修改自己相关的文件属性,修改其他软件的可能会导致安全风险。 因此例如systemd啥的其他软件的规则我们就修改不了,openssl那个热补丁会影响systemd,所以在给systemd打热补丁的时候就会失败,因此验证的时候只能把selinux设置为permissive。 刘晓波(00453303) 2024-04-15 10:41 我们之前改的upatch-hijiacker.ko是我们自己的ko,包括其他内核热补丁的ko,在启用selinux的状态下,加载热补丁前都会检查并且修改这个属性。 林孟孟(00455942) 2024-04-15 10:42 我其实是想表达,如果用户一开始就把环境的selinux关掉了,设置成permissive或者disable,那不设置upatch-hijacker.ko的security context会不会影响正常功能 刘晓波(00453303) 2024-04-15 10:43 不会,因为我们每次启动都会检查 林孟孟(00455942) 2024-04-15 10:43 因为在实际验证的时候,我都是直接设置为permissive的 林孟孟(00455942) 2024-04-15 10:46 那就是,selinux设置成Enforce时,会设置upatch-hijiacker.ko的文件属性,保证权限正确;如果设置成非Enforce,就什么都不做,此时正常功能也不会受影响 刘晓波(00453303) 2024-04-15 10:47 对的,这个security context只对selinux起作用~
**【标题描述】selinux关闭的情况下,upatch服务启动失败** **一、缺陷信息** ``` [root@2203sp2-85 ~]# /usr/bin/upatchd [2024-04-09 10:13:13.068091] [INFO] [upatchd] ================================ [2024-04-09 10:13:13.069431] [INFO] [upatchd] Upatch Daemon - 1.2.1-g8c09e8b [2024-04-09 10:13:13.069466] [INFO] [upatchd] ================================ [2024-04-09 10:13:13.069478] [INFO] [upatchd] Start with Arguments { daemon: false, config_dir: "/etc/syscare", work_dir: "/var/run/syscare", log_dir: "/var/log/syscare", log_level: Info, } [2024-04-09 10:13:13.069535] [INFO] [upatchd] Initializing skeleton... [2024-04-09 10:13:13.069699] [INFO] [upatchd] Using elf mapping: { "/usr/bin/c++": "/usr/libexec/syscare/c++-hijacker", "/usr/bin/cc": "/usr/libexec/syscare/cc-hijacker", "/usr/bin/gcc": "/usr/libexec/syscare/gcc-hijacker", "/usr/bin/g++": "/usr/libexec/syscare/g++-hijacker", "/usr/bin/as": "/usr/libexec/syscare/as-hijacker", } [2024-04-09 10:13:13.069783] [INFO] [upatchd] Installing kernel module 'upatch_hijacker'... [2024-04-09 10:13:13.069844] [ERROR] [upatchd] Error: Failed to initialize skeleton Caused by: 0: Failed to initialize hijacker 1: Cannot get path /usr/libexec/syscare/upatch_hijacker.ko xattr security.selinux, no data available (os error 61) [2024-04-09 10:13:13.069888] [ERROR] [upatchd] Daemon exited unsuccessfully ``` 分析记录: 林孟孟(00455942) 2024-04-15 10:30 这个问题单里面,关闭是指selinux的状态是Disabled吗 Disabled的情况下,upatch一定会启动失败吗 刘晓波(00453303) 2024-04-15 10:31 原场景是Disabled 刘晓波(00453303) 2024-04-15 10:33 它问题的原因是我尝试直接去设置了upatch-hijacker.ko的security context(不设置启用selinux的状态下会加载不了),但是如果在selinux没有启用的情况下,这个动作会失败,就直接报错退出了。 修改方式是在做这个动作前判断了一下selinux状态,如果为Enforce才会去写这个值 林孟孟(00455942) 2024-04-15 10:34 那不设置这个security context会有什么后果吗?按照你修改的逻辑,会出现有时改,有时没改的情况 林孟孟(00455942) 2024-04-15 10:35 就像上面那个补丁,就得设置为非Enforce 刘晓波(00453303) 2024-04-15 10:39 security context是selinux的文件系统属性标签,它是文件的一个属性,如果没有设置正确会导致权限不足,文件加载不了,某些操作受限等等。 这个security context和selinux规则都是每个软件自己配置的,syscare只能修改自己相关的文件属性,修改其他软件的可能会导致安全风险。 因此例如systemd啥的其他软件的规则我们就修改不了,openssl那个热补丁会影响systemd,所以在给systemd打热补丁的时候就会失败,因此验证的时候只能把selinux设置为permissive。 刘晓波(00453303) 2024-04-15 10:41 我们之前改的upatch-hijiacker.ko是我们自己的ko,包括其他内核热补丁的ko,在启用selinux的状态下,加载热补丁前都会检查并且修改这个属性。 林孟孟(00455942) 2024-04-15 10:42 我其实是想表达,如果用户一开始就把环境的selinux关掉了,设置成permissive或者disable,那不设置upatch-hijacker.ko的security context会不会影响正常功能 刘晓波(00453303) 2024-04-15 10:43 不会,因为我们每次启动都会检查 林孟孟(00455942) 2024-04-15 10:43 因为在实际验证的时候,我都是直接设置为permissive的 林孟孟(00455942) 2024-04-15 10:46 那就是,selinux设置成Enforce时,会设置upatch-hijiacker.ko的文件属性,保证权限正确;如果设置成非Enforce,就什么都不做,此时正常功能也不会受影响 刘晓波(00453303) 2024-04-15 10:47 对的,这个security context只对selinux起作用~
评论 (
1
)
登录
后才可以发表评论
状态
已完成
待办的
已挂起
修复中
已确认
已完成
已验收
已取消
负责人
未设置
标签
sig/sig-ops
未设置
项目
未立项任务
未立项任务
里程碑
openEuler-24.03-LTS-round-1
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (11)
标签 (5)
master
uprobe
openEuler-24.03-LTS-SP2
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS
openEuler-25.03
openEuler-22.03
openEuler-20.03
openEuler-24.09
risvcport
dev
v1.2.2-4
v1.2.2-5
v1.2.2-3
v1.2.2-1
v1.2.1-1
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(1)
1
https://gitee.com/openeuler/syscare.git
git@gitee.com:openeuler/syscare.git
openeuler
syscare
syscare
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册