1.SELinux:是一种基于域类型模型的强制访问控制安全系统,由NSA编写设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SE Linux补丁
查看Selinux:
1 ps -Z #查看SElinux域信息
查看当前SELinux状态:getenforce
1 [root@H0f ~]# getenforce 2 Disabled
1 ls -Z #查看文件的上下文
1 [root@H0f ~]# ls -Z 2 -rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 aha_array.sh 3 -rw-r--r--. root root unconfined_u:object_r:admin_home_t:s0 a.log 4 -rw-------. root root system_u: object_r: admin_home_t: s0 anaconda-ks.cfg 5 用户 文件目录角色 类型 与MLS,MCS相关的 文件名
2.SELinux策略:
(1).目标策略:对Apache,Postfix,bind等分布式网络服务进行保护,不属于这些服务的就都属于unconfined_t;
此策略可导入性高,可用性好,但不对整体保护;
目标策略定义只有 目标进程受到SE Linux限制 ,其他进程运行在非限制模式下,目标策略只影响网络应用程序
(2).多层策略:是一种强制控制策略。特别适合政府机密数据访问机制。
注:SELINUX=enforcing代表目前执行的是强制策略
SELINUX=targeted代表当前系统执行的是目标策略
3.SELinux下所有的安全机制都对 进程和系统资源(文件,网络套接字,系统调用等)做限制
针对这两种类型定义了两个基本概念:域(domain)和上下文(contest)
- 域用来对进程进行控制
- 上下文对系统资源进行限制
SE Linux配置文件保存在 /etc/selinux/目录下名称为config
4.SELinux三种工作模式:
- 强制模式(enforcing):只要是违反策略的行动都会被禁止
- 允许模式(permissive):违反策略的行动不会被禁止,但是会提示警告信息
- 禁用模式(disabled):禁用SELinux与没有一样
SElinux 配置文件的模式设置由init调用,在装载初始化策略前配置SELinux
5.修改SELinux的状态
- 临时修改SELinux的状态没有写入配置文件:setenforce[0/1](只在当前环境变量有效)enforcing的值为1,permissive的值为0
- 永久改变状态:打开文件修改/etc/selinux/config
1 getenforce 查看状态 2 setenforce 0 改变状态 3 getenforce