相关文章
selinux
2024-12-16 15:30

改法:typeattribute system_server system_writes_mnt_vendor_violators;

selinux

Android/lagvm/LINUX/android/device/qcom/sepolicy_vndr

Android/lagvm/LINUX/android/vendor/jidu/sepolicy/private

1. 简介

SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制。

Security-Enhanced Linux (SELinux)由以下两部分组成

Kernel SELinux模块(/kernel/security/selinux)
用户态工具
SELinux是一个安全体系结构,它通过LSM(Linux Security Modules)框架被集成到Linux Kernel 2.6.x中。它是NSA (United States National Security Agency)和SELinux社区的联合项目。

SELinux提供了一种灵活的强制访问控制(MAC)系统,且内嵌于Linux Kernel中。SELinux定义了系统中每个【用户】、【进程】、【应用】和【文件】的访问和转变的权限,然后它使用一个安全策略来控制这些实体(用户、进程、应用和文件)之间的交互,安全策略指定如何严格或宽松地进行检查。

SELinux对系统用户(system users)是透明的,只有系统管理员需要考虑在他的服务器中如何制定严格的策略。策略可以根据需要是严格的或宽松的。

只有同时满足了【标准Linux访问控制】和【SELinux访问控制】时,主体才能访问客体。

1.1. DAC与MAC的关键区别(root用户)

在SELinux中没有root这个概念,安全策略是由管理员来定义的,任何软件都无法取代它。这意味着那些潜在的恶意软件所能造成的损害可以被控制在最小。一般情况下只有非常注重数据安全的企业级用户才会使用SELinux。

操作系统有两类访问控制:自主访问控制(DAC)和强制访问控制(MAC)。标准Linux安全是一种DAC,SELinux为Linux增加了一个灵活的和可配置的的MAC。

所有DAC机制都有一个共同的弱点,就是它们不能识别自然人与计算机程序之间最基本的区别。简单点说就是,如果一个用户被授权允许访问,意味着程序也被授权访问,如果程序被授权访问,那么恶意程序也将有同样的访问权。 DAC最根本的弱点是主体容易受到多种多样的恶意软件的攻击,MAC就是避免这些攻击的出路,大多数MAC特性组成了多层安全模型。

SELinux实现了一个更灵活的MAC形式,叫做类型强制(Type Enforcement)和一个非强制的多层安全形式(Multi-Level Security)。

2. SELinux的运行机制

SELinux的运行机制如下图

当一个subject(如: 一个应用)试图访问一个object(如:一个文件),Kernel中的策略执行服务器将检查AVC (Access Vector Cache), 在AVC中,subject和object的权限被缓存(cached)。如果基于AVC中的数据不能做出决定,则请求安全服务器,安全服务器在一个矩阵中查找“应用+文件”的安全环境。然后根据查询结果允许或拒绝访问。

3. SELinux的基本概念

3.1 主体(Subject

可以完全等同于进程。

:为了方便理解,如无特别说明,以下均把进程视为主体。

3.2 对象(Object

被主体访问的资源。可以是文件、目录、端口、设备等。

:为了方便理解,如无特别说明,以下均把文件或者目录视为对象。

3.3 政策和规则(Policy & Rule

系统中通常有大量的文件和进程,为了节省时间和开销,通常我们只是选择性地对某些进程进行管制。而哪些进程需要管制、要怎么管制是由政策决定的。

一套政策里面有多个规则。部分规则可以按照需求启用或禁用(以下把该类型的规则称为布尔型规则)。规则是模块化、可扩展的。在安装新的应用程序时

应用程序可通过添加新的模块来添加规则。用户也可以手动地增减规则。

3.4 安全上下文(Security Context

每个进程、文件和目录都有自己的安全上下文,进程具体是否能够访问文件或目录,就要看这个安全上下文是否匹配。如果进程的安全上下文和文件或目录的安全上下文能够匹配,则该进程可以访问这个文件或目录。当然,判断进程的安全上下文和文件或目录的安全上下文是否匹配,则需要依靠策略中的规则。举个例子,我们需要找对象,男人可以看作主体,女人就是目标了。而男人是否可以追到女人(主体是否可以访问目标,主要看两个人的性格是否合适(主体和目标的安全上下文是否匹配)。不过,两个人的性格是否合适,是需要靠生活习惯、为人处世、家庭环境等具体的条件来进行判断的(安全上下文是否匹配是需要通过策略中的规则来确定的)。

3.5 访问向量规则 (Access Vector Rules

AV规则是按照对客体类别的访问许可指定具体含义的规则,SELinux策略语言支持4类AV规则
allow  表示主体对客体执行允许的操作。
dontaudit  表示不记录违反规则的决策信息,且违反规则不影响运行。
auditallow  表示允许操作并记录访问决策信息。
neverallow  表示不允许主体对客体执行指定的操作

4. SELinux的工作模式

4.1 如何在系统中查看当前SELinux的工作模式

输入: getenforce 

4.2 Disable工作模式(关闭模式,此模式在Android中未使用

在 Disable 模式中,SELinux 被关闭,默认的 DAC 访问控制方式被使用。对于那些不需要增强安全性的环境来说,该模式是非常有用的。

例如,若从你的角度看正在运行的应用程序工作正常,但是却产生了大量的 SELinux AVC 拒绝消息,最终可能会填满日志文件,从而导致系统无法使用。在这种情况下,最直接的解决方法就是禁用 SELinux

当然,你也可以在应用程序所访问的文件上设置正确的安全上下文。

需要注意的是,在禁用 SELinux 之前,需要考虑一下是否可能会在系统上再次使用 SELinux,如果决定以后将其设置为 Enforcing 或 Permissive,那么当下次重启系统时,系统将会通过一个自动 SELinux 文件

重新进程标记。

关闭 SELinux 的方式也很简单,只需编辑配置文件 /etc/selinux/config,并将文本中 SELINUX= 更改为 SELINUX=disabled 即可,重启系统后,SELinux 就被禁用了。

4.3 Permissive工作模式(宽容模式

在 Permissive 模式中,SELinux 被启用,但安全策略规则并没有被强制执行。当安全策略规则应该拒绝访问时,访问仍然被允许。然而,此时会向日志文件发送一条消息,表示该访问应该被拒绝。

SELinux Permissive 模式主要用于以下几种情况

审核当前的 SELinux 策略规则

测试新应用程序,看看将 SELinux 策略规则应用到这些程序时会有什么效果

解决某一特定服务或应用程序在 SELinux 下不再正常工作的故障。

某些情况下,可使用 audit2allow 命令来读取 SELinux 审核日志并生成新的 SELinux 规则,从而有选择性地允许被拒绝的行为,而这也是一种在不禁用 SELinux 的情况下,让应用程序在 Linux 系统上工作的快速方法。

4.4 Enforcing工作模式(强制模式

从此模式的名称就可以看出,在 Enforcing 模式中, SELinux 被启动,并强制执行所有的安全策略规则。

4.5 如何设置SELinux的工作模式

输入:setenforce 0/1

ps:命令设置的SELinux工作模式重启后失效

android/ 根目录# make selinux_policy

scp -r  root@data/workspace//Android/lagvm/LINUX/android/out/target/product/msmnile_gvmq/vendor/etc/selinux .

adb push https://blog.csdn.net/langjian2012/article/details/selinux/* /vendor/etc/selinux/

前面的 push到 system/etc/ 后面push到/system/product/etc/

adb push init /system/bin/init
adb remount

    以上就是本篇文章【selinux】的全部内容了,欢迎阅览 ! 文章地址:http://dh99988.xhstdz.com/news/11658.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://dh99988.xhstdz.com/mobile/ , 查看更多   
最新文章
云南uc神马搜索广告怎么开户
在互联网广告日益发展的今天,企业的市场推广已成为提升业绩的重要组成部分。云南作为一个旅游和文化丰富的省份,吸引了大量用户
wordpress插件,免费蜘蛛统计分析插件,wordpres翻译插件「附下载」
Wordpress采集插件不需要任何采集规则,完全实现一键抓取任务。支持365天无限循环挂机采集维护所有网站。设置好相关参数后,软件
2024年区块链技术培训:全新课件发布
2024年区块链技术培训:全新课件发布汇报人:2024-11-16区块链技术基础区块链核心技术详解区块链平台与开发工具介绍区块链安全性
Dynadot支持哪些中文域名后缀
Dynadot是一家知名的国外域名注册商,成立于2002年,其官网支持中文、英文、法语、西班牙语等多种语言切换,主要提供域名注册、
如何轻松应对Nginx配置文件大小限制提高网站性能与稳定性
为什么需要关注Nginx配置文件大小限制 在使用Nginx作为网站服务器的过程中,配置文件的大小限制是一个常见的问题。当配置文件过大时,会导致服务器性能下降,影响网站的稳定性和访问速度。因此,及时优化和调整配置文件大小非常重要。 如何
打造健康生活新选择:养生馆推广文案写作技巧揭秘
引言:健康生活的追求 在现代社会中,健康已经成为人们最看重的财富之一。快节奏的生活和不断加重的工作压力,使得越来越多的人开始关注自己的身心健康。养生馆作为一种创新的健康生活方式应运而生,它不仅为人们提供了放松身心的场所,还
探索兰州魅力:一份全面的兰州旅游攻略揭开牛肉面与黄河的秘密
探索兰州:邂逅西北的魅力之城 兰州,作为甘肃省的省会,坐落于黄河上游,是一座历史悠久而又充满活力的城市。这里不仅拥有丰富的文化遗产,还有壮观的自然景观。兰州以其独特的地理位置、深厚的文化底蕴和美味的地方美食吸引着越来越多的
如何设置服务器配置提高系统性能?
提高系统性能的重要性 在当今数字化时代,服务器的性能直接影响到企业的竞争力和运营效率。一个高效的服务器配置不仅可以提升系统的稳定性和响应速度,还能提高员工的工作效率和客户体验。 选择适合的硬件和软件配置 首先,要根据企业的实
如何成功启动社区团购:从运营模式到实战技巧的全方位解析
引言:社区团购的崛起 在当今的互联网时代,社区团购以其高效、便捷的特点迅速崛起,成为许多消费者购物的新选择。社区团购不仅能满足居民对日常生活用品的需求,还能通过规模化采购为消费者带来实惠。如何成功启动社区团购,成为了许多创
海底捞学生证折扣使用时间详解:让你的就餐更划算
海底捞学生证折扣使用时间详解 海底捞作为国内知名的火锅连锁品牌,一直以高质量的服务和美味的火锅享誉全国。而对于学生党来说,海底捞更是一个不可多得的福利之地。学生持有效学生证可以享受折扣优惠,让你的就餐更划算。 折扣使用时间
相关文章