当前位置 主页 > 服务器问题 > Linux/apache问题 >

    SELINUX工作原理详解(4)

    栏目:Linux/apache问题 时间:2020-02-05 21:37


        5) ls -Z 

            检查文件、目录的安全上下文;

    6.1 安全上下文格式

          所有操作系统访问控制都是以关联的客体和主体的某种类型的访问控制属性为基础的。在SELinux中,访问控制属性叫做安全上下文。所有客体(文件、进程间通讯通道、套接字、网络主机等)和主体(进程)都有与其关联的安全上下文,一个安全上下文由三部分组成:用户、角色和类型标识符。常常用下面的格式指定或显示安全上下文:

    USER:ROLE:TYPE[LEVEL[:CATEGORY]]

          安全上下文中的用户和角色标识符除了对强制有一点约束之外对类型强制访问控制策略没什么影响,对于进程,用户和角色标识符显得更有意义,因为它们是用于控制类型和用户标识符的联合体,这样就会与Linux用户账号关联起来;然而,对于客体,用户和角色标识符几乎很少使用,为了规范管理,客体的角色常常是object_r,客体的用户常常是创建客体的进程的用户标识符,它们在访问控制上没什么作用。

          标准Linux安全中的用户ID和安全上下文中的用户标识符之间的区别,就技术而论,它们是正交标识符,分别用于标准的和安全增强的访问控制机制,这两者之间的任一相互关联都是通过登陆进程按照规范严格规定的,而不是通过SELinux策略直接强制实施的。

    6.1.1 USER
             1) user identity:类似Linux系统中的UID,提供身份识别,用来记录身份;安全上下文的一部分;
             2) 三种常见的 user:

                user_u :普通用户登录系统后的预设;               system_u :开机过程中系统进程的预设;               root :root 登录后的预设;

            3) 在 targeted policy 中 users 不是很重要;
            4) 在strict policy 中比较重要,所有预设的 SELinux Users 都是以 “_u” 结尾的,root 除外。

    6.1.2 ROLE

            1) 文件、目录和设备的role:通常是 object_r;
            2) 程序的role:通常是 system_r;
            3) 用户的role:targeted policy为system_r; strict policy为sysadm_r、staff_r、user_r;用户的role,类似系统中的GID,不同角色具备不同的的权限;用户可以具备多个role;但是同一时间内只能使用一个role;

            4) 使用基于RBAC(Roles Based Access Control) 的strict和mls策略中,用来存储角色信息

    6.1.3 TYPE

            1) type:用来将主体(subject)和客体(object)划分为不同的组,给每个主体和系统中的客体定义了一个类型;为进程运行提供最低的权限环境;
            2) 当一个类型与执行中的进程相关联时,其type也称为domain;
            3) type是SElinux security context 中最重要的部位,是 SELinux Type Enforcement 的心脏,预设值以_t结尾;