se linux ll-z,SELinux

一:SELinux概念

1: 简介

SELinux: Secure Enhanced Linux,是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的Linux的一个强制访问控制的安全模块。2000年以GNU GPL发布,Linux内核2.6版本后集成在内核中

特性:

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

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

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

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

2:类型

查看: cat /etc/selinux/config

SELINUXTYPE=targeted minimum mls

目标进程被保护:保护本质上是让进程不可以为所欲为,在一定的范围下活动.

不在范围内的进程则不予管理

bVQKIV?w=721&h=183

3:targeted

SELinux:一切皆对象

安全上下文五个元素:

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

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

Type:指定数据类型,规则中定义何种进程类型访问何种文件

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

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

如:

system_u:object_r:admin_home_t:s0

bVQKJr?w=554&h=111

type:admin_home_t

根据文件类型可以下策略规定。

多服务公用:public_content_t

ll -Z 查看真实的类型

semanage fcontext -l 查看期望的安全上下文

bVQK3E?w=1152&h=151

二:SELinux策略

1:启动/禁用

SELinux的状态:

enforcing:强制,每一个受限的进程都必然受限

permissive:允许,每一个受限的进程违规操作不会被禁止,但会被记录于审计日志

disabled:禁用SELinux

相关命令:

getenforce:获取selinux当前状态查看:

sestatus 此命令查看的更清楚

setenforce 0|1

0: 设置为permissive

1: 设置为enforcing

此条命令是不可以设置为diabled

semanage fcontext -l 查看期望的安全上下文:

bVQLNh?w=554&h=367

配置文件:

/etc/selinux/config

SELinux策略转换及生效

1:enforcing->permissive

使用命令 setenforce 0

permissive---> enforcing

使用命令 setenforce 1

2: permissive或enforcing转换为disabled

需要在配置文件/etc/selinux/config中把 SELINUX=enforing 改为 SELINUX=disabled

并需要重启电脑,方可生效

3 disabled 转换为 permissive或enforcing

需要在配置文件/etc/selinux/config中把 SELINUX=disabled 改为 SELINUX=enforcing

并需要重启电脑,方可生效

bVQLNu?w=554&h=195

bVQLNv?w=554&h=129

2:管理文件标签

此节为rhce考题,需要好好掌握

改变文件标签:

chcon –t 文件标签 file

改变目录标签

chcon –Rt 文件标签 file

恢复文件标签至正常状态:

1)restorecon file

2)参考正常值:semanage fcontext –l

修改标签:chcon –t 文件标签 file

恢复目录的标签:

restorecon –R DIRECTORY

添加安全上下文:

相当于在安全上下文的库里面增加记录,restorecon恢复文件的标签,就是从参考库的标签,然后做相应的修改

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

三:管理端口标签

查看端口标签

semanage port –l 查看系统默认的端口与对应的应用

增加端口:

semanageport -a -t port_label-p tcp|udpPOR

bVQMsi?w=554&h=81

删除端口标签:

semanageport -d -t port_label-p tcp|udpPORT

semanage port -d -t http_port_t -p tcp 9527

bVQMs0?w=554&h=60

修改端口标签:

此端口要被定义过,没有被定义的标签不能被更改

bVQMtG?w=554&h=96

四:管理SELinux布尔值开关

查看:

semanage boolean –l

bVQMNM?w=554&h=169

更改

更改bool值(临时生效):

setbool httpd_enable_homedirs on 临时生效

永久更改存放

1为on

0为off

setbool –P httpd_enable_homedir=1

bVQMN0?w=554&h=24

bVQMN4?w=554&h=55

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值