游戏开发工具

对于 SELinux 来说,所选择的策略类型直接决定了使用哪种策略规则来执行主体(进程)可以访问的目标(文件或目录资源)。不仅如此,策略类型还决定需要哪些特定的安全上下文属性。通过策略类型,读者可以更精确地了解 SELinux 所实现的访问控制。

SELinux 提供 3 种不同的策略可供选择,分别是 TargetedMLS 以及 MiNimum。每个策略分别实现了可满足不同需求的访问控制,因此,为了正确地选择一个满足特定安全需求的策略,就不得不先了解这些策略类型。

Target 策略

Target 策略主要对系统中的服务进程进程访问控制,同时,它还可以限制其他进程和用户。服务进程都被放入沙盒,在此环境中,服务进程会被严格限制,以便使通过此类进程所引发的恶意攻击不会影响到其他服务或 Linux 系统。

沙盒(sandbox)是一种环境,在此环境中的进程可以运行,但对其他进程或资源的访问会被严格控制。换句话说,位于沙盒中的各个进程,都只是运行在自己的域(进程所运行的区域被称为“域”)内,它们无法访问其他进程或资源(除非被授予特殊的权限)。

通过使用此策略,可以更加安全地共享打印服务器、文件服务器、Web 服务器或其他服务,同时降低因访问这些服务而对系统中其他资源造成不利影响的风险。

MLS 策略

MLS,是 Multi-Level Security 的缩写,该策略会对系统中的所有进程进行控制。启用 MLS 之后,用户即便执行最简单的指令(如 ls),都会报错。

Minimum 策略

Minimum 策略的意思是“最小限制”,该策略最初是针对低内存计算机或者设备(比如智能手机)而创建的。

从本质上来说,Minimun 和 Target 类似,不同之处在于,它仅使用基本的策略规则包。对于低内存设备来说,Minumun 策略允许 SELinux 在不消耗过多资源的情况下运行。

注意,你自己所使用的 Linux 发行版本中,可用的策略规则可能与以上所列出的策略规则不完全相同。比如说,在较早的 Linux 发行版本中,仍然可以使用 strict 策略,但在较新的发行版本中,strict 策略被合并在 Targeted 策略中,此策略也是默认使用的策略规则。

那么,我们如何查询当前系统中所使用的 SELinux 的策略是哪一种呢?这就要使用 sestatus 命令来查看了,命令如下:

[root@localhost ~]# sestatus
SELinux status: enabled
#SELinux启用
SELinuxfs mount: /selinux
#SELinux数据的挂载位置
Current mode: enforcing
#运行模式是强制模式
Mode from config file: enforcing
#配置文件所指定的模式也是强制模式
Policy version: 24
#策略版本
Policy from config file: targeted
#目前策略是针对性保护策略