我的 SELinux 安装缺少什么?

我的 SELinux 安装缺少什么?

根据SELinux 简介,第 14.4.2 节,

SELinux 支持内置于 Debian 提供的标准内核中。核心 Unix 工具无需任何修改即可支持 SELinux。

我已经在我的上安装了selinux-basics和软件包selinux-policy-defaultDebian 威兹稳定的)系统,我看到它在安装过程中加载了一些策略,所以我很确定安装本身进展顺利。

我编辑 /etc/default/grub 说:

GRUB_CMDLINE_LINUX="selinux=1 audit=1 enforcing=0"

(该变量曾经为空)并运行 update-grub。 /boot/grub/grub.cfg 确实包含了 SELinux 相关的内核参数。

/.autorelabel我根据 /usr/sbin/selinux-activate 脚本的“enable”分支创建了一个文件。

进行上述更改后,我已重新启动系统。重启期间没有发生任何异常情况。

dmesg | head输出,除其他外:

Command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-4-amd64 root=UUID=c050d662-f94a-447a-9342-0fc69f65a513 ro selinux=1 audit=1 enforcing=0 quiet pci=nomsi

据我所知,一切都已就位。然而,它似乎不起作用。 id -Z返回:

$ id -Z
id: --context (-Z) works only on an SELinux-enabled kernel
$

状态给出:

# sestatus
SELinux status:                 disabled
#

检查 selinux 安装给出:

# check-selinux-installation
getfilecon:  getfilecon(/proc/1) failed
SELinux is not enabled.
Could not read the domain of PID 1.
/etc/pam.d/login is not SELinux enabled
Postfix init script is syncing the chroots.
Postfix has chrooted service in master.cf
FSCKFIX is not enabled - not serious, but could prevent system from booting...
#

在我的系统上启用 SELinux 还缺少什么?

答案1

security=selinux正如评论中指出的,您还需要将参数传递给内核。在 Debian 系统上,这应该自动添加到 grub 配置中selinux-activate

核心文档参数解释security

[安全] 选择启动时启用的安全模块。如果未指定该启动参数,则仅加载第一个请求安全注册的安全模块。无效的安全模块名称将被视为未选择任何模块。

在 Debian 上这是相关的,因为 Debian 还支持 AppArmor 安全模块。

相关内容