SELinux介绍
DAC:自由访问控制
MAC: 强制访问控制
DAC环境下进程是无束缚的
MAC环境下策略的规则决定控制的严格程度
MAC环境下进程可以被限制
策略被用来定义被限制的进程能够使用哪些资源(文件和端口)
默认情况下,没有被明确允许的行为将被拒绝
Selinux策略
对象(object):所有可以读取的对象,包括文件、目录和进程、端口等
主体:进程称为主体(subject)
Selinux中所有的文件都赋予一个type的文件类型标签,对于所有的进程也赋予格子衣domain的标签。domain标签能够执行的操作由安全策略里定义
当一个subject试图访问一个object,Kernel中的策略执行服务器将检查AVC(访问矢量缓存Access Vector Cache),在AVC中,subject和object的权限被缓存,查找“应用+文件”的安全环境。然后根据查询结果允许或拒绝访问
安全策略:定义主体读取对象的规则类数据库,规则中记录了哪个类型的主体使用哪个方法读取哪一个对象是允许还是拒绝,并且定义了哪种行为是允许或拒绝
Selinux安全上下文
传统Linux,一切接文件,由用户,组,权限控制访问
在Selinux中,一切皆对象(object),由存放在inode的扩展属性域的安全元素所控制其访问
所有文件和端口资源和进程都具备安全标签:安全上下文(security context)
安全上下文有五个元素组成:
user:role:type:sensitivity:category
user_u:object_r:tmp_t:s0:c0
实际上下文:存放在文件系统中,ls -Z;ps -Z可以查看详细信息
期望(默认)上下文:存放在二进制的SElinux策略库(映射目录和期望安全上下文)
semanage fcontext -l