然而,我想用 Grsecurity 来保护我的内核;我对此进行了研究并找到了一些教程,但不太确定。我读到您需要用 Vanilla 内核替换当前的内核。这是一个未更改的默认 Linux 内核,但是用 Vanilla 内核替换 Debian 包含的当前内核是否好呢?这会不会导致更新问题、无法获得所有更新、无法对 Debian 进行最佳优化……?
如果我用 Vanilla 替换它,更新是否容易,或者我需要每次检查 Vanilla 网站是否有更新,然后手动编译?
那么,简而言之,用 Grsecurity 保护我的内核并解决香草问题是个好主意吗? 这个 Debian 页面说性能损失并没有那么严重,并且有一个存储库可以轻松更新它;今天仍然如此吗?
有人经历过还是自己做过?
谢谢!
答案1
斯蒂芬比我快。如果您想在linux-image-grsec-amd6
不涉及内核编译和使用make-kpkg
.
但是,使用时可能会出现一些问题grsecurity
:
- 休眠可能会中断(与
CONFIG_GRKERNSEC_KMEM
、CONFIG_PAX_MEMORY_SANITIZE
和冲突CONFIG_RANDOMIZE_BASE
); - Xen 和 virtualbox 可能会崩溃(与
CONFIG_PAX_KERNEXEC
和冲突CONFIG_PAX_MEMORY_UDEREF
); - 使用 启用的代码重用攻击保护 (RAP)
CONFIG_PAX_RAP
可能会破坏像nvidia
驱动程序这样的二进制 blob; broadcom-sta-dkms
由于非法内存访问可能导致编译失败;
所有这些都列在 Arch Linux 中Grsecurity 维基页面。在家里,我决定使用 grsecurity,并且我没有使用 nvidia 专有驱动程序(但安装了一张该品牌的卡)。您必须确保您的发行版在 grsec 上启用了哪些参数,并查看它是否符合您的需求(或者您是否可以对某些功能进行权衡)。
如果您选择打包/修补自己的普通内核,则需要您保持内核更新,并使用 Debian 自己的工具为linux-image
、kernel-source
和kernel-headers
.
相关内容:
答案2
wiki 页面提到了 stable 中打包的 grsec 内核;这些现在可用于 Debian 8 (Jessie)通过 向后移植。要安装它们,请添加适当的存储库:
echo deb http://http.debian.net/debian jessie-backports main > /etc/apt/sources.list.d/jessie-backports.list
(如root
),那么
apt-get update
最后安装内核和适当的工具:
apt-get -t jessie-backports linux-image-grsec-amd64 gradm2
(假设你正在跑步amd64
)。这将安装一个最近的 grsec 内核,并保持更新。
请注意,在让 grsec 系统正常运行之前,您可能需要调整一些设置,因此请保留非 grsec 内核...