SELINUX(安全扩展的Linux)
-
工作于Linux内核中
DAC:自主访问控制法则
MAC:强制访问控制 -
SELINUX工作级别:
strict: 每个进程都会受到selinux控制
argetd: 仅有限的进程受到selinux控制,只监控容易被入侵的进程 -
sandbox:
ubject: 进程
object:进程、文件
文件这里:根据 open read close 等操作作selinux限制 -
SELINUX为每个文件提供安全变迁,也为进程提供了安全标签
- user:role:type
user: selinux用户
role:角色
type:类型 -
selinux规则库:
- 规则:哪种域能够访问哪种文件或那个进程等
- 配置selinux:
- selinux是否开启
- 给文件重新打标签
- 设定布尔值特性 -
selinux状态:
enforcing: 强制; 每个受限的进程都必须执行selinux策略
permissive: 启用,每个受限的进程违规操作不会静止,但是会被记录到审计日志中
disabled: 关闭 -
相关命令:
getenforce # 获取selinux当前状态
setenforce [0|1] # 设置当前selinux状态;
0:设置为permissive
1: 设置为enforcing
临时设置;重启后会失效配置文件: /etc/selinux/config 永久生效 SELINUX={ enforcing|permissive|disabled }
给文件重新打标签:
chcon命令: Change the SELinux security context of each FILE to CONTEXT.
使用方法:
Usage: chcon [OPTION]… CONTEXT FILE…
or: chcon [OPTION]… [-u USER] [-r ROLE] [-l RANGE] [-t TYPE] FILE…
or: chcon [OPTION]… --reference=RFILE FILE…
Change the SELinux security context of each FILE to CONTEXT.
-R : 能够递归打标签
还原文件标签:
[root@test ~]# restorecon --help
usage: restorecon [-iFnprRv0] [-e excludedir] pathname...
usage: restorecon [-iFnprRv0] [-e excludedir] -f file
布尔型规则:
getsebool # 获取bool规则 -a 参数: 获取所有
setsebool # 设置bool规则
设置布尔型规则:
setsebool [ -NPV ] boolean value | bool1=val1 bool2=val2…