SELinux 学习
1. SELinux的开发原因是由于系统用户或管理员对系统资源(文件,设备,端口...)
的误用(如开放过大权限),在不正确的位置开放了权限)导致的系统漏洞,这一
方面是人为原因,另一方面是系统本来的资源-用户的直接权限管理方式的缺陷。
Selinux使用了MAC(委任访问控制)的方式管理权限
2. SELinux组成由主体,目标和策略及安全上下文组成,前三者代表了进程及其
访问对象。其在系统文件或进程上的表现方式则是安全上下文中的身份识别及
角色。由于进程与文件数量庞大,SELinux依据服务来进制订安全性访问策略。
策略指代一组规则集,目标是对进程。
3. 开启了SELinux后,用户对资源的访问由原来的进程对资源的DAC,转向了3层结构
2.1) SELinux策略层
2.2)安全上下文
2.3) DAC
3. 身份标识,角色, 类型
3.1) identify: 表示身份
3.1.1) root 表示root
3.1.2) system_u 表示系统用户
3.1.3) user_u 表示系统用户
3.2) role:表示资源类型
3.2.1) object_r 文件资源
3.2.2) system_r 进程资源
3.3) type: 安全类型
3.3.1) type 文件资源
3.3.2) domain 进程资源
4. SELinux中目录主要实现了两种策略集(targeted 和 strict),targeted
集主要用用网络进程的策略限制,而对本地进程全开,而strict相对后者就要
严格的多
5. targeted 策略集中,最终,主体是否能访问目标,由主体和目标的安全上下文
是否符合,主要判断是根据安全上下文的type决定
6. selinux的开启,关闭,查询
6.1)配置文件 /etc/selinux/config其中可以配置selinux启动模式selinux(enforcing,
permissive, disable),及使用的策略集SELINUXTYPE(targeted ,strict)
6.2) 模式查询 getenforce
6.3) 查看策略 sestatus
6.3) 模式切换(仅用于ENFORCE和PERMISSIVE) setenforce
7. 查看文件或进程的安全上下文 ls -Z | ps -Z
8. 更改上下文 chcon
注: 除过直接的指定上下文外,可以使用--reference来指定同某一个来源资源
上下文相同;
9. 重设上下文 restorecon
10. SELinux 监控及错误记录
10.1) setroubleshoot --/var/log/message
10.2) audit 与 audit2why --AVC
11. SELinux 策略与规则管理