LinuxDay17——SELinux

SELinux

DAC:Discretionary Access Control自由访问控制

MAC:Mandatory Access Control 强制访问控制

DAC环境下进程是无束缚的

MAC环境下策略的规则决定控制的严格程度

MAC环境下进程可以被限制的

策略被用来定义被限制的进程能够使用那些资源(文件和端口)

默认情况下,没有被明确允许的行为将被拒绝

SELinux有四种工作类型:

strict: centos5,每个进程都受到selinux的控制

targeted: 用来保护常见的网络服务,仅有限进程受到selinux控制,只监控容易被入侵的进程,centos4只保护13个服务,centos5保护88个服务

minimum:centos7,修改的targeted,只对选择的网络服务

mls:提供MLS(多级安全)机制的安全性

安全上下文有五个元素组成:

user:role:type:sensitivity:category

user_u:object_r:tmp_t:s0:c0

ls -z ;ps -z

User:指示登录系统的用户类型,如root,user_u,system_u,多数本地进程都属于自由(unconfined)进程

Role:定义文件,进程和用户的用途:文件:object_r,进程和用户:system_r

****Type:指定数据类型,规则中定义何种进程类型访问何种文件Target策略基于type实现,多服务共用:public_content_t

Sensitivity:限制访问的需要,由组织定义的分层安全级别,如unclassified, secret,top,secret, 一个对象有且只有一个sensitivity,分0-15级,s0最低,Target策略默认使用s0

Category:对于特定组织划分不分层的分类,如FBI Secret,NSA secret, 一个对象可以有多个categroy, c0-c1023共1024个分类, Target 策略不使用category

启用禁用selinux

切换至disabled必须重启 才可以生效

 

修改SELinux安全标签

给文件重新打安全标签:

chcon [OPTION]... [-u USER] [-r ROLE] [-t TYPE] FILE...

chcon [OPTION]... --reference=RFILE FILE...

-R:递归打标;

****恢复目录或文件默认的安全上下文:

restorecon [-R] /path/to/somewhere

Semanage:来自policycoreutils-python包

查看默认的安全上下文

semanage fcontext –l

添加安全上下文

semanage fcontext -a –t httpd_sys_content_t ‘/testdir(/.*)?’

restorecon –Rv /testdir

删除安全上下文

semanage fcontext -d –t httpd_sys_content_t ‘/testdir(/.*)?’

SELinux布尔值

布尔型规则:

getsebool

setsebool

查看bool命令:

getsebool [-a] [boolean]

semanage boolean –l

semanage boolean -l –C 查看修改过的布尔值

设置bool值命令:

setsebool [-P] boolean value(on,off)

setsebool [-P] Boolean=value(0,1)

原文地址:https://www.cnblogs.com/Gmiaomiao/p/9047889.html