安全上下文

简介: 版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/45176195 (一)、类型强制策略的安全上下文 所有的操作系统访问控制都是基于与主体和客体相关的访问控制属性的。
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/45176195

(一)、类型强制策略的安全上下文
所有的操作系统访问控制都是基于与主体和客体相关的访问控制属性的。在SELinux中,访问控制属性杯称作安全上下文。所有的客体(文件,进程间通信,通信管道,套接字,网络主机等)和主体(进程)有一个和他们相关的单一安全上下文。一个安全上下文有三个元素:用户,角色和类型标识符。指定和显示一个安全上下文常用的格式如下:

用户(user):角色(role):类型标识符(type)

每一个元素的字符串标识符杯定义在SELinux的策略语言中,策略语言的细节后面慢慢讨论。就现在来说,仅仅理解一个有效的安全上下文一定要有一个有效的用户,角色和类型标识符,并且标识符被策略书写者定义。每一个标识符的命名空间都是正交的。(所以,举个例子,用户,角色和类型有相同的字符串标识符是可以的,但是不推荐使用。)

检查安全上下文:
SELinux通过添加-Z选项修改了系统命令来展示主体和客体的安全上下文。例如,ls -Z 显示了文件系统对象的安全上下文,ps -Z展示了进程的安全上下文。另外一个有用的命令是 id,他展示你的shell的安全上下文(也就是说,你的当前的用户,角色和类型)。下面的例子展示了一个运行在SELinux中的shell的安全上下文。

$ id -Z
joe:user_r:user_t

你可以在你自己的SELinux中使用这些命令,正如我们在这一章节中使用的一样。

(二)、SELinux和标准Linux比较

此时此刻,比较在标准Linux和SELinux中的访问控制属性是非常有用的。为了简单起见,我们坚持使用常用的文件系统对象,例如文件和目录。在标准Linux中,主体的进程访问属性是通过进程结构体提供的在linux内核中所有进程的真实有效的用户ID和组ID。这些属性被内核所保护着,并且经过一些列的控制方式来设置。包括登录进程和setuid程序。对于客体来说,文件的索引节点包含着一系列的访问模式位和文件的用户ID和组ID,前者是基于三个读/写/可执行位的集合来实现控制访问,这三个分别代表文件拥有者,文件组和其他任何人。后者决定了文件的所有者和组来决定对于一个给定的访问尝试应该使用哪一个位集合。

正如前面所述,在SELinux中,访问控制属性他基本上就是安全上下文。所有的客体和主体有一个相关的安全上下文。标准Linux使用进程的用户/组ID,文件访问模式位和文件用户/组ID来同意或者是拒绝访问,SELinux使用进程和客体的安全上下文来进行访问控制。更具体的说,由于SELinux的主要访问控制特征是TE,即类型强制策略,安全上下文中的类型标识符被用来决定访问。

注意:
SELinux是在标准Linux之上添加的类型强制机制。也就是说标准Linux和SELinux访问控制都必须满足才能访问客体。所以,例如,我们有SELinux对于文件的一个写权限,但是没有标准linux的写权限,我们依然不能想文件中写入数据。

下面的表列出了标准Linux和SELinux的一些区别:

这里写图片描述

(三)、关于安全上下文更多的信息

安全上下文是一个简单的,一致的访问控制属性。在SELinux中,类型标识符是安全上下文中决定访问的主要的部分。由于历史原因,进程的类型经常被称作域(domain)。使用域和域类型来代表进程的类型是比较普遍的,所以我们不可避免的要是用术语“域”。大体上,认为域,域类型,主体类型和进程类型是同义的。

在安全上下文中的用户标识符和角色标识符在访问控制策略中起很小的作用,因为是类型强制策略而不是约束条件强制策略,约束条件强制策略我们将在第七章中讨论。对于进程来说,用户标识符和角色标识符是非常有趣的。

因为他们被用来控制用户标识符和Linux用户账户的类型相关联的。对于客体来说,用户标识符和角色标识符几乎没用。作为一个公约,一个客体的角色通常是 object_r ,一个客体的用户通常是创建该客体的进程的用户标识符。他们在访问控制中没有作用。

最后,要知道标准Linux中的用户ID和SELinux在安全上下文中的用户标识符的不同。技术上,他们是完全正交的标识符,被标准的访问控制机制和安全增强型的访问控制机制分别使用。他们之间的任何联系都是通过登录进程按照公约严格提供的,而不是被SELinux策略直接实施的。

目录
相关文章
|
SQL 关系型数据库 MySQL
⑧【MySQL】数据库查询:内连接、外连接、自连接、子查询、多表查询
⑧【MySQL】数据库查询:内连接、外连接、自连接、子查询、多表查询
513 0
|
监控 安全 网络性能优化
|
数据采集 Prometheus 监控
Prometheus的告警规则
Prometheus的告警规则
536 11
|
存储 资源调度 算法
操作系统的心脏:深入理解内核架构与机制####
【10月更文挑战第16天】 本文旨在揭开操作系统最神秘的面纱——内核,通过剖析其架构设计与关键机制,引领读者一窥究竟。在这篇探索之旅中,我们将深入浅出地讨论内核的基本构成、进程管理的智慧、内存分配的策略,以及那至关重要的系统调用接口,揭示它们是如何协同工作,支撑起现代计算机系统的高效运行。这既是一次技术的深潜,也是对“看不见的手”调控数字世界的深刻理解。 ####
311 3
|
自然语言处理 数据挖掘 数据安全/隐私保护
云上电商解决方案:重塑电商生态,驱动数字化转型
随着数据泄露和隐私保护问题的日益严重,云上电商解决方案将更加注重数据安全和隐私保护。通过加强数据加密、访问控制等措施,确保用户数据的安全性和隐私性。 结语 云上电商解决方案作为电商企业数字化转型的重要工具,正逐步改变着电商行业的生态格局。通过提供灵活、高效、智能的电商服务,
751 8
|
负载均衡 监控 网络协议
在Linux中,LVS-DR模式原理是什么?
在Linux中,LVS-DR模式原理是什么?
|
存储 Linux Shell
因误删文件导致CentOS7开机卡死无法进入图形登录界面
因误删文件导致CentOS7开机卡死无法进入图形登录界面
1184 0
因误删文件导致CentOS7开机卡死无法进入图形登录界面
|
Java
SpringBoot中是如何打印banner的呢?
SpringBoot中是如何打印banner的呢?
247 0
|
SQL 前端开发 JavaScript
基于python+django的求职招聘网站-网上招聘管理系统
该系统是基于python+django的求职招聘网站、网上招聘管理系统、网上人才招聘系统、毕业生求职招聘系统、大学生求职招聘系统、校园招聘系统、企业招聘系统。系统适合场景:大学生、课程作业、毕业设计。
861 0