1.
DAC:自由式访问控制:依据进程的拥有者与文件资源的rwx权限决定有误存取能力
MAC:委任式访问控制:针对特定的资源与特定的进程进行权限的管控,即,即使你是root,但你在使用不同进程或者不同的资源
的时候,取得的权限也不一定是root
2.
a.selinux采用的就是MAC机制,通过这个机制来管控进程,注意,他控制的主题是进程,而目标则是,该进程是否能读取文件资源
b.策略:在linux中文件与进程的数量巨大,因此selinux根据某些服务来制定基本存取安全政策,目前主要的三个政策是:
targeted:针对网络服务限制较多,针对本机服务限制较少,是预设的机制
minimum:由target修订而来,仅针对选择的进程进行保护
mls:完整的selinux限制,限制严格
c.安全性文本的概念:主体能否存取,除了政策合理外,主体与目标的安全性本文必须一致才能够顺利存取,它相当于是selinux内部rwx,放在inode中,因此主体想要读取目标资源时,同样需要读取inode,可以通过ls -Z 这条命令查看安全性文本
身份识别:角色:类型 这样的格式存取安全性本文
身份识别:unconfined_u:不受限的用户 (bash或通过bash创建的文件) system_u:系统用户(大多是一些系统文件)
角色:object_r:代表的是文件或目录等资源 system_r:代表的是进程(一般使用者也会被指定为这个)
类型:这个字段在文件资源上称作类型 ,在进程上叫做领域 当领域和类型搭配时就能正确读取了
d.可以理解为:主体能否存取需要:首先selinux的政策过关,然后进行安全性本文对比,没问题后,还需要关注文件本身的权限
rwx 。这样都没问题后才能完成文件的存取
e.selinux的三种模式:
enforcing:强制模式,限制domain/type
permissive:宽容模式,产生警告,但不会实际限制domain/type
disabled:关闭
f.通过ps -eZ | grep -E '进程' 来查看:通常unconfined的标志,表明不收selinux管控
g.使用sestatus这个命令来观察selinux的政策
sestatus -vb
-v:检查烈于/etc/sestatus.conf内的文件与进程的安全性本文内容
-b:将目前政策的规则布尔值列出
h.通过getsebool命令来查看政策内的规则信息
getsebool -a :列出系统上所有selinux规则的布尔值
i.如果你还想知道这些规则中在限制什么东西,可以使用seinfo工具
seinfo -Atrub:
-A:列出selinux的状态,规则布尔值,身份识别,角色等
-u:列出selinux的所有身份识别
-r:列出.......................角色
-t:l列出所有类别种类
-b:列出所有规则种类
j.sesearch -A -s 主体类别 -t 目标类别 -b 布尔值
-b:后面还需要接selinux的规则
查看规则内容
k.通过setsebool命令修改selinux的规则的布尔值
setsebool -P 规则名称 0|1 (一定要加-P)
3.
a.selinux的安全性本文的修改
chcon -R -t type -u user -r role 文件
chcon -R --reference=范例文件 文件
b.使用restorecon -Rv +文件或目录 ,使用这条命令让文件恢复正确的selinux type
c.使用semanage,查询目录的默认值,也可以使用它来增加默认值的设定