【linux】Linux系统SELinux简介

时间:2023-12-04 11:04:56

安全加强型Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

是linux安全加强的另一种实现方式。在生产环境中用的不多。是由美国国家安全局开发,美国国防部为计算机安全的不同级别指定了4个准则,从高到低顺序是A、B、C、D,每一个级别还细分了若干子级。A、B这两个最高安全等级是应用于国防的,默认linux安全级别是c2。

SELinux它的工作于内核中。

linux本身的系统安全机制是,DAC(Discretionary Access Control)自主访问控制,而SELinux引入的一种机制是MAC(Mandatory Access Control强制访问控制)。

一个进程属于某个属主,可以访问用户所拥有的所有资源。进程安全上下文。

每个进程运行起来需要访问10个资源,那么仅仅就只能访问10个资源,即便它以某个用户身份运行,而这个用户可以访问额外其他的资源,仍然不能被此进程所访问,类似于安全沙箱(最小资源集合),进程只能访问这个沙箱内部的资源。

难点在于如何按需设置沙箱。根据运行的情况请求的资源也需要跟着变动,这就需要沙箱的切换。SELinux简单说就是为每个进程启动专有的沙箱。

比如客户端与服务端通信,当客户端被劫持,那么客户端所访问的资源劫持者也可以看见。

SELinux运行两种工作级别:

strict:每个进程都受到selinux严格控制。

targeted:仅有限个进程受到selinux的控制,只监控容易受到攻击的进程,所以这种实现起来比较容易。

[root@localhost ~]# cat /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three two values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

subject:进程

object:进程,文件等。

每个操作对象被操作的模式不一样,比如文件(可以被打开,写入,读取,删除,改变属主)

安全上下文(Security Context)

安全上下文是 SELinux 的核心。

安全上下文我自己把它分为「进程安全上下文」和「文件安全上下文」。

一个「进程安全上下文」一般对应多个「文件安全上下文」。

只有两者的安全上下文对应上了,进程才能访问文件。它们的对应关系由政策中的规则决定。

我们已经知道进程按照特定的SELinux域来执行的,域被SELinux用来检查进程针对某一上下文的文件的权限。我们需要知道如何设置文件的上下文,知道如何让这可管理。由此以来,如果当出现因为错误的上下文而权限拒绝。

【linux】Linux系统SELinux简介

【linux】Linux系统SELinux简介

未完待续。。。。