SeLinux安全性
- 信息安全评估等级四类七级:D\C1,C2\B1,B2,B3\A,SeLinux隶属于B1级别
SeLinux特点:
- MAC 强制性访问控制,对访问的控制彻底化,对文件、目录、端口。
- RBAC 基于角色的访问控制,对用户赋予最小权限。 角色具备权限,root不再最大。
- TE 类型标签 类型执行,对进程赋予最小运行权限。对文件赋予type类型的标签,对进程赋予domain类型的标签,可规定某进程只能执行某类文件 。
SeLinux的执行模式:
- enforcing 强制模式,只要SeLinux不允许,则不可执行
- permissive 警告模式 ,将事件记录,仍允许执行
- disabled 关闭SeLinux
SeLinux的运行机制
进程访问文件前,Selinux会先访问策略数据库来决定进程是否可对文件进行相关操作。
SeLinux的配置
- SeLinux配置文件是 /etc/selinux/config
- 通过getenforce查看当前模式
- 开启SeLinux必须修改其配置文件,将SELINUX=disabled修改为SELINUX=enforcing,修改之后需要重启,初次启动因为要更新文件标签启动时间会较长。启动后临时关闭可以使用setenforce 0,将强制模式转换为警告模式,永久关闭应该修改配置文件;将警告模式转换为强制模式使用setenforce 1。
配置文件中mls是配置多级安全保护,同一身份的人拥有的权限不一样。
SeLinux权限划分
- security context(安全上下文)
启动SeLinux后,所有文件与对象都有安全上下文,进程的安全上下文是域domain,安全上下文由用户、角色、类型构成。
- policy:策略,决定各类型的访问规则
- 安全上下文配置规则
- 系统根据pam子系统中的/lib64/security/pam_selinux_so模块设定登陆者运行程序的安全上下文。
- rpm包根据epm保内的记录来生成安全上下文
- 手工创建的会根据policy中的规则来设置安全上下文
- cp命令会生成新的安全上下文
- mv命令不会改变百年安全上下文
- 安全上下文格式
- user:类似linux中的uid,提供身份识别,三中常见user:
- user_u 普通用户登录后预设
- system_u 系统用户的预设
- unconfined_u 未做定义的user
- role: 被赋予权限的对象
- 文件与目录通常是object_r
- 程序通常是system_r
- 用户role可以配置多个,但同一时间内只能使用一个role
- type:给资源分组
- 为系统中的每个主体和客体打上标识,划分组
- user:类似linux中的uid,提供身份识别,三中常见user:
待续。。。