当前位置: 首页 > news >正文

SELinux零知识学习十、SELinux策略语言之客体类别和许可(4)

接前一篇文章:SELinux零知识学习九、SELinux策略语言之客体类别和许可(3)

一、SELinux策略语言之客体类别和许可

3. 有效的客体类别

本节对Fedora Core 4(FC4)可用的内核客体类别做一个概述,目标是描述客体类别以及系统资源是如何映射到这些客体类别的

编写一个良好的策略最困难的部分是理解客体类别和许可的语义、以及特定系统上应用程序上下文中那些语义的含义

FC 4系统有超过40个内核客体类别,它们代表了内核提供的所有资源。客体类别的数量说明了一个基本原理在SELinux中代表尽可能完整准确的内核资源。Linux涉及的范围广泛且非常复杂,这就决定了客体类别肯定也是极其多且复杂的,复杂得让人畏缩,但要取得SELinux的灵活性,完全解决Linux面临的安全挑战,这是必需的。

为了易于理解,我们将内核客体类别分解成了四种:文件相关的、网络相关的、System V IPC和杂项。

(1)与文件相关的客体类别

第一种客体类别是那些与文件及其它存储在文件系统中的资源有关的,这是大多数用户最熟悉的客体类别了,它包括了所有的与持续不变的、在磁盘上的文件系统和在内存中的文件系统,如proc和sysfs结合在一起的客体类别。

在UNIX系统中,一个底层的概念是“一切皆文件”,大多数情况下,这么说是对的,但是它隐藏了一个事实,就是并非所有的文件都是相同的。实际上,现代类UNIX系统,如Linux专门为设备、IPC以及标准的存储数据的文件设计了专用的文件。SELinux详细准确地表现了内核的视图。下表总结了与文件有关的客体类别:

客体类别描述
blk_file块文件
chr_file字符文件
dir目录
fd文件描述符
fifo_file命名管道
file普通文件
filesystem文件系统(如一个真实的分区)
lnk_file符号链接
sock_fileUNIX域套接字
  • file和dir

客体类别file和dir分别代表普通文件和目录。普通文件就是那些存储数据的文件,它们是大多数系统上最常见的客体了;目录在Linux中也是一个特定的文件,它是独一无二的,因为它们可能还包含其它客体。

  • lnk_file

客体类别lnk_file代表符号链接。大多数情况下,它非常重要,能够区别普通文件和符号链接,这样可以预防常见的攻击。恶意进程和用户可以创建符号链接,这样可能引起某个进程访问或修改本不是它们打算要访问或修改的文件。独立的lnk_file客体类别允许编写预防这些攻击类型的策略。

  • fifo_file和sock_file

客体类别fifo_file和sock_file表示用于IPC的特定文件fifo_file客体类别代表fifo文件,也叫做命名管道sock_file客体类别联合UNIX域套接字控制创建、访问等与文件有关的客体的能力

  • chr_file和blk_file

客体类别chr_file和blk_file分别表示字符设备和块设备。在Linux中,设备通常是通过在/dev/目录下的特定文件来进行访问的,这些文件通过主/次设备号表示字符和块设备。字符设备是程序以字节流形式读取或写入数据的设备,块设备是将数据以更大块进行传递的设备。

  • fd和filesystem

最后两个客体类别是文件描述符和文件系统。它们不是典型的Linux客体filesystem客体类别表示挂载的文件系统,这个客体类别控制全局操作如挂载或查询限额。例如:使用filesystem客体类别,我们可以只运行挂载支持存储安全上下文的文件系统。所有特定类型的文件系统(如ext3)在策略中都使用相同的fs_use语句获取默认的标记定义。文件描述符表示打开的与文件有关的客体,存在于进程中,即使与文件有关的客体明显不同,它们表示内核数据结构,通常认为文件描述符是文件有关的客体的基础。的确,标准Linux访问控制不能单独在文件描述符上提供访问控制,这种策略忽略了文件描述符是可以在进程之间传递的资源的事实。通常,子进程会从父进程哪里集继承文件描述符,这个继承并不总是有利的,许多Linux编程指南中都警告最好减少文件描述符继承,特别是后台进程。为了标识此问题及其它问题,我们以fd客体类别为例。在SELinux中,fd代表文件描述符,使用这个客体类别阻止文件描述符在进程间传递或继承就成为可能。值得注意的是,有权使用文件描述符并不意味着就可以访问与文件有关的客体,进程必须对这些文件也要有访问许可才行。

相关文章:

SELinux零知识学习十、SELinux策略语言之客体类别和许可(4)

接前一篇文章:SELinux零知识学习九、SELinux策略语言之客体类别和许可(3) 一、SELinux策略语言之客体类别和许可 3. 有效的客体类别 本节对Fedora Core 4(FC4)可用的内核客体类别做一个概述,目标是描述客…...

String字符串性能优化的几种方案

原创/朱季谦 String字符串是系统里最常用的类型之一,在系统中占据了很大的内存,因此,高效地使用字符串,对系统的性能有较好的提升。 针对字符串的优化,我在工作与学习过程总结了以下三种方案作分享: 一.优…...

微服务基础,分布式核心,常见微服务框架,SpringCloud概述,搭建SpringCloud微服务项目详细步骤,含源代码

微服务基础 系统架构的演变 随着会联网的发展,网站应用的规模不断扩大,常规的应用架构已经无法应对,分布式服务架构以及微服务架构势在必行,必须一个治理系统确保架构有条不紊的演进 单体应用框架 Web应用程序发展的早期&…...

【第2章 Node.js基础】2.7 Node.js 的流(一) 可读流

🌈 Node.js 的流 🚀什么是流 流不是 Node.js 特有的概念。它们是几十年前在 Unix 操作系统中引入的。 我们可以把流看作这些数据的集合,就像液体一样,我们先把这些液体保存在一个容器里(流的内部缓冲区 BufferList&…...

Ubuntu/Debian Hat 系 Linux 使用

目录 1. Ubuntu/Debian Hat 系 Linux 使用1.1. 包1.1.1. Install Package1.1.2. Convert .rpm package to .deb1.1.3. Install RPM Package Directly Onto the System on Ubuntu 1. Ubuntu/Debian Hat 系 Linux 使用 1.1. 包 1.1.1. Install Package dpkg -i <name of pa…...

php接口api数据签名及验签

api数据签名作用&#xff1a;通过使用签名可以验证数据在传输过程中是否被篡改或修改。接收方可以使用相同的签名算法和密钥对接收到的数据进行验证&#xff0c;如果验证失败则表明数据被篡改过 1、数据发送方进行接口签名并传输签名字段 <?php // 请求URL $url "h…...

实战:给docusaurus文档网站配置Algolia 实现全站内容搜索功能-2023.11.16(已解决)

更新于&#xff1a;2023年11月16日 次文档已全部脱敏&#xff01; 实战&#xff1a;给docusaurus文档网站配置Algolia 实现全站内容搜索功能-2023.11.16(已解决) 目录 前提条件 &#x1f340; 前提条件 具备docker环境 具有自己的网站 &#x1f340; 实验软件&#xff08…...

Ubuntu18.04安装ROS系统+turtle测试

安装 1.设置安装源 sudo sh -c echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list sudo sh -c . /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubun…...

UE基础篇五:动画

导语: 视频文档在文末 一、动画 1.1 物理资产可以用来做布娃娃系统 1.2 混合空间 调整这个值会在动画切换时有一个插值时间,表现为等一下再切 1.3 启用根运动 1.4 一些导入设置只有在导入时才有效, 1.5 动画图标可以预览调节数值<...

SELinux零知识学习十二、SELinux策略语言之客体类别和许可(6)

接前一篇文章&#xff1a;SELinux零知识学习十一、SELinux策略语言之客体类别和许可&#xff08;5&#xff09; 一、SELinux策略语言之客体类别和许可 3. 有效的客体类别 &#xff08;3&#xff09;System V IPC客体队列 与IPC有关的客体类别代表System V IPC资源。下表总结…...

vscode的git 工具使用

vscode的git 工具使用 目录概述需求&#xff1a; 设计思路实现思路分析1.git 工具的使用2.提交代码3.查看历史提交代码 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xff0c;skip hardness,make a be…...

利用回溯绕过正则表达式

目录 利用strpos的特性拿到flag 利用回溯绕过正则表达式 利用回溯次数绕过正则表达式并且实现文件上传 使用回溯绕过正则表达式waf拿到flag 本篇会讲解三个实验来分别绕过正则表达式&#xff0c;python的正则表达式和Javascript的正则表达式大致相同如果有正则表达式不太懂…...

Flutter执行flutter doctor报错HTTP Host Availability

问题描述 [!] HTTP Host Availability✗ HTTP host https://maven.google.com/ is not reachable. Reason: An erroroccurred while checking the HTTP host: Operation timed out解决方案 将文件flutter/packages/flutter_tools/lib/src/http_host_validator.dart中的https:…...

全栈工程师必须要掌握的前端Html技能

作为一名全栈工程师&#xff0c;在日常的工作中&#xff0c;可能更侧重于后端开发&#xff0c;如&#xff1a;C#&#xff0c;Java&#xff0c;SQL &#xff0c;Python等&#xff0c;对前端的知识则不太精通。在一些比较完善的公司或者项目中&#xff0c;一般会搭配前端工程师&a…...

腾讯云服务器租用价格,腾讯云服务器租用价格多少钱一年?

腾讯云服务器租用价格&#xff0c;腾讯云服务器租用价格多少钱一年&#xff1f;腾讯云服务器有优惠活动&#xff0c;现在租用只需要88元/年&#xff01;腾讯云服务器优惠购买入口&#xff1a;https://1111.mian100.cn 随着互联网的发展&#xff0c;越来越多的人开始选择将自己…...

QTableWidget 设置列宽行高大小的几种方式及其他常用属性设置

目录 效果&#xff1a; 1.列宽、行高自动分配 2.固定值 3.随内容分配列宽 随内容分配行高 4.水平方向标签拓展剩下的窗口部分&#xff0c;填满表格 5.列宽是自动分配的&#xff0c;但是第一列可手动调整宽度&#xff0c;而表格整体的列宽仍是自动分配的。第二、三列办法调…...

【AI视野·今日CV 计算机视觉论文速览 第277期】Fri, 27 Oct 2023

AI视野今日CS.CV 计算机视觉论文速览 Fri, 27 Oct 2023 Totally 93 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computer Vision Papers A Coarse-to-Fine Pseudo-Labeling (C2FPL) Framework for Unsupervised Video Anomaly Detection Authors Anas Al lahham…...

【教3妹学编程-算法题】购买物品的最大开销

3妹&#xff1a;2哥&#xff0c;听说你今天发工资啦&#xff1f; 请我吃饭怎么样&#xff0c;嘿嘿 2哥 : 切&#xff0c;你上周还发工资了呢&#xff0c;也没见你请我吃饭。 3妹&#xff1a;哎呀&#xff0c; 我的工资都用来双11 shopping了&#xff0c; 双11过后我都吃了1周土…...

关于pandas dataframe数据转换为JSON格式存储在Redis后,读取数据时发生数据篡改的问题以及解决办法

问题&#xff1a;当时处理股票数据&#xff0c;获取到以dataframe数据结构的股票&#xff0c;由于Redis 是一个内存中的数据结构存储系统&#xff0c;但是不接受dataframe数据结构的数据&#xff0c;选择将其先转化为JSON格式&#xff0c;但发现再将JSON格式转化为原数据时&…...

Go 语言编译环境

1. 请简要介绍一下Go语言的特点。 Go语言是一种静态类型、编译型语言&#xff0c;由Google开发。它的主要特点包括&#xff1a; 简洁高效&#xff1a;Go语言的语法非常简洁&#xff0c;易于学习和使用。同时&#xff0c;Go语言的执行效率高&#xff0c;适合开发高性能的后端服…...

别再死记硬背公式了!用Python代码和可视化动画,5分钟搞懂RoPE旋转位置编码

用Python动画拆解RoPE&#xff1a;当词向量在Attention中跳起旋转之舞想象一下&#xff0c;如果每个词向量都能在神经网络里跳一支优雅的芭蕾&#xff0c;用旋转的角度告诉模型自己的位置——这正是RoPE旋转位置编码的魔法。传统的位置编码像是给词向量贴上编号标签&#xff0c…...

【Midjourney饱和度调控黄金法则】:20年AI视觉调校专家亲授3类典型过曝/灰暗场景的7步精准校正流程

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Midjourney饱和度调控的核心原理与认知重构 Midjourney 的饱和度&#xff08;Saturation&#xff09;并非独立控制的图像参数&#xff0c;而是嵌套于其隐式色彩空间映射与扩散过程中的动态响应变量。它由模型…...

NVIDIA Vera Rubin 平台如何解决 Agentic AI 的 Scale-up 难题

NVIDIA Vera Rubin 平台如何解决 Agentic AI 的 Scale-up 难题 [外链图片转存中…(img-5hHDDlgn-1779546321135)] Agentic AI 改变了推理系统的负载形态。传统推理通常可以理解为一次请求、一次生成&#xff1b;Agentic inference 则会展开成非确定性轨迹&#xff1a;Agent 做…...

STM32MP1 M4内核定时器中断配置与调试实战

1. 项目概述&#xff1a;深入STM32MP1的M4内核定时器世界在嵌入式开发里&#xff0c;定时器&#xff08;Timer&#xff09;就像系统的心跳和闹钟&#xff0c;是驱动一切周期性任务和精确时序控制的基础。对于STM32MP1这颗强大的异构多核处理器&#xff0c;其Cortex-M4协处理器侧…...

C++超详细讲解析构函数

析构函数是特殊的成员函数特征如下&#xff1a;析构函数名是~类名&#xff1b;无参数无返回值&#xff1b;一个类有且只有一个析构函数&#xff1b;对象声明周期结束&#xff0c;编译器自动调用析构函数&#xff1b;12345678910111213141516171819202122232425262728293031clas…...

3步告别资源焦虑:跨平台下载神器res-downloader深度解析

3步告别资源焦虑&#xff1a;跨平台下载神器res-downloader深度解析 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否曾…...

【Elasticsearch从入门到精通】第15篇:Elasticsearch删除与更新API——精确操作与脚本更新

上一篇【第14篇】Elasticsearch文档检索API——GET、MGet与字段选择 下一篇【第16篇】Elasticsearch批量操作API——Bulk、Reindex与跨集群索引 摘要 数据的删除和更新是Elasticsearch文档操作中不可或缺的环节。本文全面讲解了Elasticsearch删除与更新API的使用方法&#xff…...

案例之RNN案例_AI歌词生成器

案例之RNN案例_AI歌词生成器...

JDeferred入门教程:从零开始构建高效异步Java应用

JDeferred入门教程&#xff1a;从零开始构建高效异步Java应用 【免费下载链接】jdeferred Java Deferred/Promise library similar to JQuery. 项目地址: https://gitcode.com/gh_mirrors/jd/jdeferred 想要掌握Java异步编程的终极秘诀吗&#xff1f;JDeferred库为您提供…...

别再只看benchmark!Claude的“类人延迟响应”背后藏着7种语境锚定策略

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;类人延迟响应的本质&#xff1a;为什么“慢”才是更高级的智能 人类在面对复杂问题时&#xff0c;并非即时作答&#xff0c;而是经历感知、检索、权衡、修正等多阶段认知循环——这种可观察的“延迟”&…...