首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

安全利器 — SELinux

二、SELinux 安全上下文 安全上下文是 SELinux 的核心,格式由三部分组成:用户、角色、类型标识符: 格式 USER:ROLE:TYPE[LEVEL:CATEGORY] 常见 USER system_u...访问控制 [图5] 因为DAC的读、写、执行权限过于粗略,SELinux 基于类型增强( Type-Enhanced ) 的属性进行访问控制,简单说就是基于安全上下文的类型属性的访问控制。...上图中主体一般是指进程,它的类型标签为 a_t,客体是指所有可能被操作的文件,类型标签是 b_t。主体访问客体时,selinux 查询 AVC 库里的规则,判断主体 .a_t 能否访问客体 .b_t。...恢复指定目录或文件默认标签类型: restorecon -Rv/srv/www 临时变更文件标签类型: chcon -R -t/srv/www/ 查找 SELinux 安全策略规则库: sesearch...,Apache 程序目录/文件的标签类型名称是 tc_httpd_rw_t ,我们可以搜索 SELinux 安全策略规则集,进一步了解 tc_httpd_t 和 tc_httpd_rw_t 的访问规则

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    SELinux入门学习总结

    一个安全上下文包含三个元素:用户(user)、角色(role)和类型标识符(type identifiers) 安全上下文的形式如下:user:role:type 对进程来说:分别表示用户、角色、类型标识符也被称为域...这样一来,即使进程是以 root 身份运行的,也需要判断这个进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。...semanage fcontext -a -t "(/.*)?"...8 添加某类进程允许访问的端口 命令基本用法 semanage port -a -t -p 注:各种服务类型所允许的端口号可以通过 semanage port -l...中所有的身份(user); -r: 列出SELinux中所有的角色(role); -t: 列出SELinux中所有的类型(type); -b: 列出所有的布尔值(也就是策略中的具体规则名称); -x:

    98330

    SELINUX工作原理

    需要特别指出的是,因为SELinux的主要访问控制特性是类型强制,安全上下文中的类型标识符决定了访问权。...这就意味着在SELinux中,没有默认的超级用户了,与标准Linux中的root不一样,通过指定主体类型(即域)和客体类型使用allow规则授予访问权限,allow规则由四部分组成: • 源类型(Source...基于角色的访问控制 SELinux也提供了一种基于角色的访问控制(RBAC),SELinux的RBAC特性是依靠类型强制建立的,SELinux中的访问控制主要是通过类型实现的,角色基于进程安全上下文中的角色标识符限制进程可以转变的类型...在SELinux中,访问控制的主要特性是类型强制,在主体(即进程)与客体之间通过指定allow规则(主体的类型【也叫做域类型】是源,客体的类型是目标)进行访问授权,访问被授予特定的客体类别,为每个客体类别设置细粒度的许可...SELinux在访问控制安全上下文中不直接使用角色标识符,相反,所有的访问都是基于类型的,角色用于关联允许的域类型,这样可以设置类型强制允许的功能组合到一起,将用户作为一个角色进行认证。

    2.6K20

    SELinux 是什么?

    (LOCK【锁】,它包含一组安全内核类型强制;Trusted Mach【信任计算机】,它将多层安全控制合并到计算机微内核中)。...最终,这些工作和努力导致了一个新的项目产生,那就是Flask,它支持更丰富的动态类型的强制机制。...NSA和SELinux社区是SELinux的主要贡献者,SELinux帮助LSM实现了大量的需求,为了与LSM一起工作,NSA开始修改SELinux使用LSM框架。...这样一来,即使进程是以 root 身份运行的,也需要判断这个进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。...部分规则可以按照需求启用或禁用(以下把该类型的规则称为布尔型规则)。 3.4 安全上下文(Security Context) 安全上下文是 SELinux 的核心。

    3.1K50

    SELinux 安全模型——MLS

    SELinux 安全模型——MLSBLP 模型:于1973年被提出,是一种模拟军事安全策略的计算机访问控制模型,它是最早也是最常用的一种多级访问控制模型,主要用于保证系统信息的机密性,是第一个严格形式化的安全模型多层安全的核心...ContextMLS 模式在 SELinux 中是可选的,在编译时期开启,SELinux 的编译工具有 checkpolicy 或者 checkmodule,当使用这两个命令时加上选项 -M 便可以开启多层安全模式...read getattr execute 操作可以执行l1 dom l2,表示源的安全级别高于目标的安全级别,高级别可以读取低级别,所以此情况下 dir file 等类型文件的 read getattr...execute 操作也允许执行再或者我们可以特殊定义一个类型,只要源类型是 mlsfileread,那么就可以执行读取操作实现 no write down,即只能写同级别或者高级别的数据:mlsconstrain...上述就是 SELinux 中实现 BLP 的两个例子,想要完整的实现,还有其他的策略,有兴趣的可以去看 refpolicy 的源码好了,本文先到这里,有什么问题欢迎来讨论交流

    33900

    【Linux】如何管理SELinux

    SELinux模式 SELinux模式分类 ermissive 模式:经常用于排故。这个模式,SELinux允许所有访问,即使与规则冲突,但会记录拒绝访问的行为日志。...SELinux标签 SELinux标签有多个内容:用户,角色,类型和敏感度。...控制SELinux上下文 在运行SELinux的系统上,所有进程和文件都会有相应的标签。新文件通常从父目录继承其SELinux上下文,从而确保它们具有适当的上下文。...更改SELinux上下文 semanage fcontext命令,声明文件的默认标签,将标签添加至数据库中,需要使用estorecon恢复时才可生效 选项 描述 -a,–add 添加指定对象类型的记录...-d , --delete 删除指定对象类型的记录 -l, --list 列出指定对象类型的记录 estorecon命令,将该semanage fcontext声明的默认标签应用于文件。

    18410

    SELinux深入理解

    需要特别指出的是,因为SELinux的主要访问控制特性是类型强制,安全上下文中的类型标识符决定了访问权。...这就意味着在SELinux中,没有默认的超级用户了,与标准Linux中的root不一样,通过指定主体类型(即域)和客体类型使用allow规则授予访问权限,allow规则由四部分组成: • 源类型...基于角色的访问控制 SELinux也提供了一种基于角色的访问控制(RBAC),SELinux的RBAC特性是依靠类型强制建立的,SELinux中的访问控制主要是通过类型实现的,角色基于进程安全上下文中的角色标识符限制进程可以转变的类型...在SELinux中,访问控制的主要特性是类型强制,在主体(即进程)与客体之间通过指定allow规则(主体的类型【也叫做域类型】是源,客体的类型是目标)进行访问授权,访问被授予特定的客体类别,为每个客体类别设置细粒度的许可...SELinux在访问控制安全上下文中不直接使用角色标识符,相反,所有的访问都是基于类型的,角色用于关联允许的域类型,这样可以设置类型强制允许的功能组合到一起,将用户作为一个角色进行认证。

    2.5K30

    android之SELinux小记

    什么是SELinux SELinux是安全增强型 Linux(Security-Enhanced Linux)简称 SELinux。...SELinux for Android SELinux for Android在架构和机制上与SELinux完全一样,考虑到移动设备的特点,所以移植到Android上的只是SELinux的一个子集。...SELinux for Android的安全检查几乎覆盖了所有重要的系统资源,包括域转换,类型转换,进程、内核、文件、目录、设备,App,网络及IPC相关的操作。...也称为域类型,因为它只是指进程的类型 target_type 一个对象(例如,文件、套接字)或一组对象的标签 Class 要访问的对象(例如,文件、套接字)的类型 perm_set 要执行的操作(例如,...target_type命令 进程需要操作的客体(文件,文件夹等)类型(安全上下文),同样是用type与一些已有的类型,属性相关联。 type有两个作用,定义(声明)并关联某个属性。

    2.4K10

    SELinux 安全模型——TE

    SELinux 安全模型——TE 通过前面的示例策略,大家对 SELinux 应该有那么点感觉认识了,从这篇开始的三篇文章讲述 SELinux 的三种安全模型,会涉及一些代码,旨在叙述 SELinux...TE:Type Enforcement,SELinux 最主要的安全模型,每一个主体客体都被分配一个类型,且使用白名单策略决定指定类型之间的访问权限。...其语法规则为 allow a_t b_exec_t : process b_t,表示 a_t 这个类型的进程执行 b_exec_t 这个类型的可执行程序后,类型转换为 b_t。...虽然 TE 分为两大类规则,但是从形式上来讲,它们是统一的,都是 规则名 源类型 目标类型 目标类别 权限/转换后类型,可以看出,只有最后一部分是不一样的。...我们上层的种种操作,其背后都需要各种权限,在 SELinux 安全检查的时候都会进行 SELinux 权限检查。

    32800

    SELinux的基本使用

    类型 (Type) (最重要!): 在预设的 targeted 政策中, Identify 与 Role 字段基本上是不重要的!重要的在于这个类型 (type) 字段!...最简单的方法就是在 Permissive 的状态下, 使用『 restorecon -Rv / 』重新还原所有 SELinux类型,就能够处理这个错误!...15.9 SELinux 安全本文的修改 再次的回到图 16.7的图,现在我们知道 SELinux 对受限的主体进程有没有影响,第一关考虑 SELinux 的三种类型,第二关考虑 SELinux 的政策规则是否放行...那肯定就是有个地方在纪录每个文件/目录的 SELinux 默认类型啰? 没错!是这样~那要如何查询预设的 SELinux type 以及如何增加/修改/删除预设的 SELinux type 呢?...同时,我们也会知道使用 restorecon 回复正确的 SELinux type 时,系统会去判断默认的类型为何的依据。现在让我们来想一想,如果 (当然是假的!

    2.7K30
    领券