解决Linode Xen环境下4.3内核与grsecurity冲突崩溃问题
100 浏览量
更新于2024-08-29
收藏 86KB PDF 举报
"本文主要探讨了在Linode Xen环境下,使用grsecurity 4.3版本时遇到的内核崩溃问题。自Linux 4.3内核版本起,当结合PaX/grsecurity安全增强技术时,内核在由pv-grub启动后会立即崩溃。由于崩溃发生得非常早,没有可供调试的日志,且由于环境限制,无法获取到有意义的母机调试信息,这使得问题难以解决。作者提到,他们的VPS内核因此被固定在4.2.7版本,而原先误以为Linode的东京机房会在2016年6月迁移至KVM,导致他们没有及时处理这个问题。随着官方宣布新机房上线时间的延迟,解决此内核问题变得紧迫。作者尝试手动修复CVE高危漏洞,并使用diff工具分析4.2.7和4.3.3的补丁文件,但由于grsecurity不提供git源,git bisect方法无法实施。在对比补丁过程中,作者面临区分上游内核修改和PaX/grsecurity补丁修改的困难,计划开发metadiff工具来辅助分析,但尚未实现。最终,通过在VirtualBox中模拟Xen环境,成功复现了内核崩溃并获取了traceback,为进一步的调试提供了线索。"
本文涉及的知识点包括:
1. **PaX/grsecurity**:这是一个针对Linux内核的安全增强系统,提供了地址空间布局随机化(ASLR)、数据执行保护(DEP)以及额外的访问控制等安全特性。在Linux 4.3版本下,与Linode Xen环境存在兼容性问题导致内核崩溃。
2. **pv-grub**:Para-Virtualized GRUB,用于在Xen虚拟机中引导操作系统,是Xen平台上的引导加载程序,它在这里触发了内核崩溃。
3. **Linux内核版本**:文章讨论了4.2.7和4.3.x两个不同版本的内核。4.3版本引入的变化导致了问题的发生,而4.2.7是稳定版本,没有这个问题。
4. **Xen虚拟化**:Xen是一种开源的类型1(裸金属)hypervisor,允许在同一台物理机器上运行多个操作系统实例。Linode在东京机房使用Xen作为虚拟化技术。
5. **KVM虚拟化**:Kernel-based Virtual Machine,基于Linux内核的虚拟化技术,是另一种流行的虚拟化解决方案。文章提到东京机房可能未来会迁移到KVM。
6. **CVE高危漏洞**:CVE(Common Vulnerabilities and Exposures)是公开的网络安全漏洞数据库,作者尝试手动修复这些可能导致安全风险的漏洞。
7. **git bisect**:Git的一个功能,用于在git仓库中找到引入特定问题的提交,由于grsecurity未提供git源,这种方法无法使用。
8. **代码差异分析**:作者使用diff工具来比较不同版本的内核补丁,以找出可能的问题源。然而,由于PaX/grsecurity的补丁和上游内核的混合,分析变得复杂。
9. **调试技巧**:通过在VirtualBox中搭建Xen环境,作者能够复现问题并获取到内核崩溃的堆栈跟踪(traceback),这是调试的关键步骤。
10. **metadiff工具**:作者设想的一个工具,目的是帮助分离上游内核和PaX/grsecurity补丁的修改,以更有效地分析问题。
整体来看,这篇文章展示了在复杂虚拟化环境中遇到的软件兼容性问题、内核安全增强的挑战以及调试此类问题的方法和工具。
2020-09-30 上传
2021-06-15 上传
2021-05-22 上传
2021-05-08 上传
2021-05-27 上传
2021-02-06 上传
2021-05-05 上传
2021-01-28 上传
2021-06-13 上传
weixin_38684892
- 粉丝: 10
- 资源: 936
最新资源
- 新代数控API接口实现CNC数据采集技术解析
- Java版Window任务管理器的设计与实现
- 响应式网页模板及前端源码合集:HTML、CSS、JS与H5
- 可爱贪吃蛇动画特效的Canvas实现教程
- 微信小程序婚礼邀请函教程
- SOCR UCLA WebGis修改:整合世界银行数据
- BUPT计网课程设计:实现具有中继转发功能的DNS服务器
- C# Winform记事本工具开发教程与功能介绍
- 移动端自适应H5网页模板与前端源码包
- Logadm日志管理工具:创建与删除日志条目的详细指南
- 双日记微信小程序开源项目-百度地图集成
- ThreeJS天空盒素材集锦 35+ 优质效果
- 百度地图Java源码深度解析:GoogleDapper中文翻译与应用
- Linux系统调查工具:BashScripts脚本集合
- Kubernetes v1.20 完整二进制安装指南与脚本
- 百度地图开发java源码-KSYMediaPlayerKit_Android库更新与使用说明