SELinux介绍
SELinux:Security-Enhanced Linux, 是美国国家安全局(NSA=The
National Security Agency)和SCC(Secure Computing Corporation)开发的
Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核
2.6版本后集成在内核中
DAC:Discretionary Access Control自由访问控制
MAC:Mandatory Access Control 强制访问控制
DAC环境下进程是无束缚的
MAC环境下策略的规则决定控制的严格程度
MAC环境下进程可以被限制的
策略被用来定义被限制的进程能够使用那些资源(文件和端口)
默认情况下,没有被明确允许的行为将被拒绝
启用禁用的配置文件
/etc/selinux/config中SELINUX=####
有3种状态
enforcing - 强制执行
permissive - 只警告不执行
disabled - 禁用
修改配置文件要重启
SELINUXTYPE=####
SE生效类型
targeted:通常只用这个,SE能识别出来的目标进程则保护,不认识的不管
minimum
mls
切换模式
setenforce 0 切换到permissive模式
setenforce 1 切换到enforcing模式
查看命令
获取SE状态:getenforce
查看SE当前信息:sestatus
查看文件上的SELINUX信息:ll -Z name
ll -Z aa1
-rw-r--r--. root root system_u:object_r:default_t:s0 aa1
文件标签是default_t,只有允许访问default_t标签文件的进程才可以访问此文件
修改文件标签:chcon -t #### file
从数据库中还原标签:restorecon ####
加R递归文件夹
SE安全上下文管理
semanage fcontext -l 查看安全上下文
semanage fcontext -a -t ### ‘/data/test(/.*)?’ 添加新安全上下文,正则表达式匹配目录下的文件
semanage fcontext -d -t ### ‘/data/test(/.*)?’ 删除标签,正则表达式匹配目录下的文件
semanage port -l 查看端口
semanage port -a -t #### -p tcp 999 为####添加999端口使用权
semanage port -m -t ###2 -p tcp 999 修改999端口给###2使用
999端口已经被使用的情况下才能用m修改
getsebool -a 查看布尔值列表
semanage boolean -l 查看布尔值列表,带说明
setsebool 修改布尔值,加-P 保存,-C查看修改过的