SELinux由NSA发布,之后,Red Hat、Network Associates、Secure Computing Corporation、Tresys Technology以及Trusted Computer Solutions等公司及研究团队都为SELinux的发展做出了重要的贡献。
SELinux本质是一个Linux内核安全模块,可在Linux系统中配置其状态。SELinux的状态分为3种,即disabled、permissive和enforcing。
•(1)disabled状态:指在Linux系统中不启用SELinux模块的功能。
•(2)permissive状态:指在Linux系统中,SELinux模块处于Debug模式,若操作违反策略系统将对违反内容进行记录,但不影响后续操作。
•(3)enforcing状态:指在Linux系统中,SELinux模块有效,若操作违反策略,SELinux模块将无法继续工作。
SELinux涉及的重要概念如下。
(1)主体
主体是访问操作的发起者,是系统中信息流的启动者。主体通常指用户或代表用户意图的进程。
通常,主体是访问的发起者,但有时也会成为访问或受控的对象。
一个主体可以向另一个主体授权,一个进程可能会控制几个子进程,这时受控的主体或子进程就是一种客体。
(2)客体
客体相对主体而存在,通常客体是指信息的载体或从其他主体或客体接收信息的实体,即访问对象。
(3)访问控制分类
管理方式的不同形成不同的访问控制方式。
通常,访问控制方式分为两类:自主访问控制(DAC, Discretionary Access Control)和强制访问控制(MAC, Mandatory Access Control)。
(4)域
域决定了系统中进程的访问,所有进程都在域中运行。本质上,域是一个进程允许的操作列表,决定了一个进程可以对哪些类型进行操作。SELinux中域的概念相当于标准Linux中uid的概念。
(5)类型
类型与域的概念基本相似,但是,域是相对进程主体的概念,类型是相对目录、文件等客体的概念。类型分配给一个客体,并决定哪个主体可以访问该客体。
(6)角色
角色决定了可以使用哪些域。具体哪些角色可以使用哪些域,需要在策略配置文件中预先定义。如果在策略配置文件中定义了某个角色不可以使用某个域,在实际使用中将会被拒绝。
(7)身份
身份属于安全上下文的一部分,身份决定了本质上可以执行哪个域。
(8)安全上下文
安全上下文是对操作涉及的所有部分的属性描述,包括身份、角色、域、类型。
(9)策略
策略是规则的集合,是可以设置的规则。
策略决定一个角色的用户可以访问什么,哪个角色可以进入哪个域,哪个域可以访问哪个类型等。
-
模块
+关注
关注
7文章
2661浏览量
47309 -
Linux
+关注
关注
87文章
11216浏览量
208793 -
系统
+关注
关注
1文章
1006浏览量
21302
发布评论请先 登录
相关推荐
评论