重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
SElinux是Linux安全加强工具。关闭用setenforce
目前成都创新互联公司已为上千余家的企业提供了网站建设、域名、网络空间、绵阳服务器托管、企业网站设计、天等网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
0或者修改文件vim
/etc/sysconfig/selinux
把SELINUX=enforcing
改为
SELINUX=disabled.
linux防火墙用chkconfig
iptables
on
开机启动
service
iptables
start
打开防火墙规则。
一、SELinux三种模式简介
二、getenforce命令
功能:查看当前SELinux的运行模式
三、sestatus命令
功能:查看当前系统上面SELinux的策略,运行模式等信息
命令格式:
sestatus [-vb]
相关参数与选项:
-v:检查列于/etc/sestatus.conf内的文件御锦城的安全上下文
-b:将目前策略的规则布尔值列出,亦即某些规则是否要启动(0/1)之意
四、SELinux的配置文件(/etc/selinux/config)
SELINUX=enforcing:当前SELinux的模式
SELINUXTYPE=targeted:当前SELinux的策略
如果想要修改策略和模式,就更改这个文件里面的内容即可
五、SELinux模式的更改(setenforce命令)
SELinux模式的更改规则:
setenforce命令格式:
# 转换为Permissive宽容模式 setenforce 0
# 转换为Enforcing强制模式 setenforce 1
注意事项:setenforce无法设置SELinux为Disabled模式
六、restorecon -Rv 命令
介绍:
当你从Disabled切换为Enforcing模式时,会有一堆服务无法顺利启动,会跟你说/lib/xxx里面的数据没有权限读取,所以启动失败。原因:大多是重新写入SELinux类型时出错的缘故
解决办法:
切换为Permissive宽容模式,然后使用restorecon -Rv / 重新还原所有SELinux的类型,就能解决这个问题
SELinux是安全增强型 Linux(Security-Enhanced Linux)简称 SELinux。它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。
SELinux 主要由美国国家安全局开发。2.6 及以上版本的 Linux 内核都已经集成了 SELinux 模块。
SELinux 的结构及配置非常复杂,而且有大量概念性的东西,要学精难度较大。很多 Linux 系统管理员嫌麻烦都把 SELinux 关闭了。
SELinux目的在于明确的指明某个进程可以访问哪些资源(文件、网络端口等)。强制访问控制系统的用途在于增强系统抵御 0-Day 攻击(利用尚未公开的漏洞实现的攻击行为)的能力。
在目前的大多数发行版中,已经默认在内核集成了SELinux。
举例来说,系统上的 Apache 被发现存在一个漏洞,使得某远程用户可以访问系统上的敏感文件(比如 /etc/passwd 来获得系统已存在用户) ,而修复该安全漏洞的 Apache 更新补丁尚未释出。此时 SELinux 可以起到弥补该漏洞的缓和方案。因为 /etc/passwd 不具有 Apache 的 访问标签,所以 Apache 对于 /etc/passwd 的访问会被 SELinux 阻止。
相比其他强制性访问控制系统,SELinux 有如下优势:
SELinux for Android在架构和机制上与SELinux完全一样,考虑到移动设备的特点,所以移植到Android上的只是SELinux的一个子集。SELinux for Android的安全检查几乎覆盖了所有重要的系统资源,包括 域转换,类型转换,进程、内核、文件、目录、设备,App,网络及IPC相关的操作 。
Android分为 宽容模式 (仅记录但不强制执行 SELinux 安全政策 )和 强制模式 (强制执行并记录安全政策。如果失败,则显示为 EPERM 错误。 );在选择强制执行级别时只能二择其一。
您的选择将决定您的政策是采取操作,还是仅允许您收集潜在的失败事件。宽容模式在实现过程中尤其有用。
DAC是传统的Linux的访问控制方式,DAC可以对文件、文件夹、共享资源等进行访问控制。
在DAC这种模型中,文件客体的所有者(或者管理员)负责管理访问控制。
DAC使用了ACL(Access Control List,访问控制列表)来给非管理者用户提供不同的权限,而root用户对文件系统有完全自由的控制权。
MAC是任何进程想在SELinux系统中干任何事情,都必须先在安全策略配置文件中赋予权限。
凡是没有出现在安全策略配置文件中的权限,进程就没有该权限。
这个机制相当于一个白名单,这个白名单上配置了所有进程的权限,进程只能做白名单上权限内的事情,一旦它想做一个不属于它权限的操作就会被拒绝。
这就需要使用到配置文件和其对应的te语法。
语法解析:
指定一个“域”(domain),一般用于描述进程,该域内的的进程,受该条TE语句的限制。
用 type 关键字,把一个自定义的域与原有的域相关联,最简单地定义一个新域的方式为:
意思为赋予shell给domain属性,同时,shell与属于domain这个集合里。
例如:有一个allow domain xxxxx 的语句,同样地也给了shell xxxxx的属性。
进程需要操作的客体(文件,文件夹等)类型(安全上下文),同样是用type与一些已有的类型,属性相关联。
type有两个作用,定义(声明)并关联某个属性。
可以把这两个作用分开,type定义,typeattribute进行关联。
class定义在文件 system/sepolicy/private/security_classes 中.
定义在 system/sepolicy/private/access_vectors 。有两种定义方法。
SELinux中,每种东西都会被赋予一个安全属性,它就是SecurityContext(Security Context以下简称SContext,安全上下文或安全属性)是一个字符串,主要由三部分组成。
例如在 SELinux for Android中,进程的SContext可以通过PS-Z命令查看,如下:
其中:
1. kernel/msm-3.18/security/selinux/
2. external/selinux/
3. 用BOARD_SEPOLICY_DIRS添加的各te文件和安全配置文件,主要包括device/oem_name/sepolicy/product_name/和system/sepolicy/,以及其他功能模块添加的配置文件。
一文彻底明白linux中的selinux到底是什么
SELinux之一:SELinux基本概念及基本配置
Android selinux配置和用法
详解 SEAndroid 以及 Hack 其规则(sepolicy)
SELinux/SEAndroid 实例简述(二) TE语言规则