资讯专栏INFORMATION COLUMN

SELinux

aristark / 2137人阅读

摘要:一概念简介,是美国国家安全局和开发的的一个强制访问控制的安全模块。

一: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
目标进程被保护:保护本质上是让进程不可以为所欲为,在一定的范围下活动.
不在范围内的进程则不予管理

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

type:admin_home_t
根据文件类型可以下策略规定。
多服务公用:public_content_t

ll -Z 查看真实的类型
semanage fcontext -l 查看期望的安全上下文

二:SELinux策略 1:启动/禁用 SELinux的状态:

enforcing:强制,每一个受限的进程都必然受限
permissive:允许,每一个受限的进程违规操作不会被禁止,但会被记录于审计日志
disabled:禁用SELinux

相关命令:

getenforce:获取selinux当前状态查看:
sestatus 此命令查看的更清楚
setenforce 0|1

 0: 设置为permissive
 1: 设置为enforcing

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

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

配置文件:

/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

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

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

删除端口标签:
semanageport -d -t port_label-p tcp|udpPORT
semanage port -d -t http_port_t -p tcp 9527

修改端口标签:

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

四:管理SELinux布尔值开关 查看:

semanage boolean –l

更改

更改bool值(临时生效):
setbool httpd_enable_homedirs on 临时生效
永久更改存放
1为on
0为off
setbool –P httpd_enable_homedir=1

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/10094.html

相关文章

  • 军工级SELinux

    摘要:博文参考简介历史,是美国国家安全局和开发的的一个强制访问控制的安全模块。年以后以发布,内核版本后集成在内核中。环境下策略的规则决定控制的严格程度。的四种工作类型严格的对每个进程都受到的控制。提供多级安全机制的安全性。 博文参考 http://www.178linux.com/48336 http://www.178linux.com/47812 http://www.178linux....

    brianway 评论0 收藏0
  • 军工级SELinux

    摘要:博文参考简介历史,是美国国家安全局和开发的的一个强制访问控制的安全模块。年以后以发布,内核版本后集成在内核中。环境下策略的规则决定控制的严格程度。的四种工作类型严格的对每个进程都受到的控制。提供多级安全机制的安全性。 博文参考 http://www.178linux.com/48336 http://www.178linux.com/47812 http://www.178linux....

    meteor199 评论0 收藏0
  • 军工级SELinux

    摘要:博文参考简介历史,是美国国家安全局和开发的的一个强制访问控制的安全模块。年以后以发布,内核版本后集成在内核中。环境下策略的规则决定控制的严格程度。的四种工作类型严格的对每个进程都受到的控制。提供多级安全机制的安全性。 博文参考 http://www.178linux.com/48336 http://www.178linux.com/47812 http://www.178linux....

    RdouTyping 评论0 收藏0
  • php无法连接mysql(selinux

    摘要:在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。虽然很好用,但是在多数情况我们还是将其关闭,因为在不了解其机制的情况下使用会导致软件安装或者应用部署失败。 php无法连接mysql(selinux) 注意: 有什么不对的地方请大神们多多指教!!! 今天发布代码的时候,使用小伙伴搭建的lamp环境遇到这样的一个问题: 使用Thinkphp5,连接mysql服务失败 ...

    baoxl 评论0 收藏0
  • SELinux

    摘要:一概念简介,是美国国家安全局和开发的的一个强制访问控制的安全模块。 一:SELinux概念 1: 简介 SELinux: Secure Enhanced Linux,是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的Linux的一个强制访问控制的安全模块。2000年以GNU GP...

    LeexMuller 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<