Linux 中的 SELinux 策略

SELinux 策略( SELinux policy )描述了它们所操作的所有用户、程序、进程、文件和设备的访问权限。

SELinux 实施两种不同策略之一:

  • Targeted :此默认策略将访问控制应用于某些(目标)进程。
  • MLS : 多级安全(Multi-Level Security )

从 SELinux GUI 中选择策略类型,或者在 /etc/selinux/config 文件中设置 SELINUXTYPE 指令。
例子:

# vim /etc/selinux/config
SELINUXTYPE=targeted

使用目标策略,目标进程在它们自己的域中运行,称为受限域。
在受限域中,目标进程可以访问的文件是有限的。
如果受限进程被攻击者破坏,攻击者对资源的访问以及他们可能造成的损害也将受到限制。
SELinux 拒绝访问这些资源并记录拒绝。

仅将特定服务放入这些受策略限制的不同安全域中。
例如,用户在完全不受限制的域中运行,而在网络上侦听客户端请求的服务(例如 named、httpd 和 sshd)则在为其操作量身定制的特定受限域中运行。
以 Linux root 用户身份运行并为用户执行任务的进程(例如 passwd 应用程序)也受到限制。

非目标进程在不受限制的域中运行。
SELinux 策略规则允许在不受限制的域中运行的进程几乎所有访问权限。
如果不受限制的进程受到威胁,SELinux 不会阻止攻击者访问系统资源和数据。
DAC 规则仍然适用于无限制域。
以下是无限制域的示例:

  • initrc_t 域 : init 程序在这个不受限制的域中运行。
  • kernel_t 域:不受限制的内核进程在此域中运行。
  • unconfined_t 域:登录到系统的 Linux 用户在此域中运行。

许多受 SELinux 保护的域都有描述如何自定义其策略的手册页。
每个策略的配置安装在 /etc/selinux/[SELINUXTYPE] 目录中。
以下示例显示了安装了目标策略和 MLS 策略的 /etc/selinux 目录的部分列表:

# ll -lrt /etc/selinux/
total 16
-rw-r--r--. 1 root root  546 Jan  1  2017 config
drwxr-xr-x. 2 root root    6 Aug  4  2017 tmp
-rw-r--r--. 1 root root 2321 Aug  4  2017 semanage.conf
drwxr-xr-x. 7 root root 4096 Nov 19 19:20 targeted
drwx------. 2 root root    6 Nov 19 19:20 final
drwxr-xr-x. 7 root root 4096 Mar  5 16:39 mls

默认情况下会安装目标策略,但不会安装 MLS 策略。
要使用 MLS 策略,请安装 selinux-policy-mls 包:

# yum install selinux-policy-mls
日期:2020-09-17 00:14:42 来源:oir作者:oir