SELinux refpolicy详解(1)

本文部分内容参考:

SELinux - ArchWiki

SELinux_百度百科

一、SELinux介绍

1. SELinux简介

SELinux(Security-Enhanced Linux,安全增强型Linux)是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控制体系,在这种访问控制体系的限制下,进程只能访问那些在他的任务中所需要文件。SELinux 默认安装在Fedora和Red Hat Enterprise Linux上,也可以作为其它发行版上容易安装的包得到。

SELinux是一种提供各种安全策略的Linux功能,包括U.S。通过在Linux内核中使用Linux安全模块(LSM),实现了国防部风格的强制访问控制(MAC)。它不是一个Linux发行版,而是一组可以应用于类Unix操作系统(如Linux和BSD)的修改。

在Linux发行版上运行SELinux需要三个条件启用SELinux的内核SELinux用户空间工具和库、以及SELinux策略(通常基于参考策略)

2. GitHub地址

SELinux的GitHub主页链接如下:

https://github.com/SELinuxProject

主页面如下:

二、refpolicy介绍

1. SELinux参考策略项目概述

SELinux参考策略项目(refpolicy)是一套完整的SELinux策略,可以用作各种系统的系统策略,也可以用作创建其它策略的基础。参考策略最初基于美国国家安全局的示例策略,但旨在实现许多其它目标。

参考策略的当前版本可从以下页面获得:

DownloadRelease · SELinuxProject/refpolicy Wiki · GitHub

该项目一直在寻找有兴趣参与的策略开发者。有关编写参考策略模块的详细信息,请参阅以下指南:

https://github.com/SELinuxProject/refpolicy/wiki/GettingStarted

关于参考策略概念的深入讨论,请参阅2006年SELinux研讨会上发表的论文:http://selinuxsymposium.org/2006/papers/05-refpol.pdf

2. 项目目标

安全性是SELinux策略存在的原因,因此其必须始终是第一要务。将安全性视为二进制状态(安全或不安全)的共识并不是开发SELinux策略的充分目标。在现实中,不同的系统有不同的要求和目的,在安全的意义(目标)上存在有相应的差异。一个系统上的基本安全缺(漏洞)可能是可以接受的,甚至是另一个系统的主要功能。系统策略面临的挑战是尽可能多地支持这些不同的安全目标。为了实现这一目标,参考策略提供:

  • 强模块性(Strong Modularity)

策略设计的核心是严格的模块化。对资源的访问是抽象的,实现细节被封装在模块中。

  • 安全目标(Security Goals)

将为策略的每个组成部分提供明确的安全目标。这将允许策略开发人员确定给定组件是否满足他们的安全需求。

  • 文档(Documentation)

创建SELinux策略的难度和复杂性已经成为采用SELinux的头号障碍。它还可能降低策略的安全性:过于复杂而难以理解的策略很难确保安全。参考策略将通过将模块及其接口的文档作为基础设施的关键部分,在这一领域做出积极改进。有关详细信息,请参阅页面:https://github.com/SELinuxProject/refpolicy/wiki/Documentation。

  • 开发工具支持(Development Tool Support)

除了文档之外,参考策略还旨在改进这一领域,通过添加可用于调试和图形开发工具的接口回调,使策略更易于开发、理解、分析和验证。

  • 前瞻性(Forward Looking)

参考策略旨在支持各种策略配置和格式,包括标准源策略、MLS策略和可加载策略模块,所有这些都来自同一源树。这是通过添加基础设施来实现的,该基础设施用于自动处理基于源和可加载模块的策略之间的差异,并为包括上下文的所有策略语句添加额外的MLS字段。

  • 可配置性(Configurability)

配置工具,其使策略开发人员能够做出重要的安全决策,包括定义角色、配置网络和利用遗留兼容性来提高安全性。

  • 灵活的基本策略(Flexible Base Policy)

一个保护基本操作系统并作为策略其余部分基础的基本策略。这个基本策略应该能够支持具有不同安全目标的各种应用程序策略。

  • 应用程序策略变体(Application Policy Variations)

进行不同安全权衡的应用程序策略变体。例如,可能会创建两个Apache策略,一个用于提供严格限制的只读静态内容,另一个适用于动态内容。

  • 多级安全(Multi-Level Security)

MLS是开箱即用的,无需对策略进行破坏性更改。通过切换配置选项,可以从相同的策略文件编译MLS和非MLS策略。

3. 贡献

如果您想做出贡献,请参阅:

https://github.com/SELinuxProject/refpolicy/wiki/HowToContribute

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162446.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【python学习】基础篇-常用函数-偏函数

偏函数(Partial function)是指固定一个函数的部分参数,返回一个新的函数。 在Python中,可以使用functools模块中的partial()函数来创建偏函数。 偏函数的用法如下: 1.首先,导入functools模块中的partial()函数。 from functool…

css实现水波纹效果

css实现水波纹效果 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><styl…

HarmonyOS ArkTS Video组件的使用(七)

概述 在手机、平板或是智慧屏这些终端设备上&#xff0c;媒体功能可以算作是我们最常用的场景之一。无论是实现音频的播放、录制、采集&#xff0c;还是视频的播放、切换、循环&#xff0c;亦或是相机的预览、拍照等功能&#xff0c;媒体组件都是必不可少的。以视频功能为例&a…

C 语言嵌套结构体

C 语言嵌套结构体 C为我们提供了将一个结构嵌套在另一个结构中的功能&#xff0c;从而创建复杂的数据类型。例如&#xff0c;我们可能需要在结构中存储实体员工的地址。而地址也可以包含其他信息&#xff0c;例如街道编号&#xff0c;城市&#xff0c;地区和密码。因此&#x…

CVE-2022-21661

简介 CVE-2022-21661是一个与WordPress相关的漏洞&#xff0c;涉及到SQL注入问题。该漏洞主要源于WordPress的WQ_Tax_Query类中的clean_query函数&#xff0c;可能允许攻击者通过控制传递给该函数的数据来控制生成的SQL查询&#xff0c;从而执行任意的SQL代码。 当WordPress的…

【ROS 2 进阶-MoveIt!】MoveIt!中的关键节点

所有内容请查看&#xff1a;博客学习目录_Howe_xixi的博客-CSDN博客 原文档链接&#xff1a;Docs

自动驾驶轨迹预测学习笔记

目录 VectorNet&#xff1a;自动驾驶轨迹预测 CVPR2023 轨迹预测冠军方案 QCNeXt VectorNet&#xff1a;自动驾驶轨迹预测 VectorNet&#xff1a;自动驾驶轨迹预测 - 知乎 CVPR2023 轨迹预测冠军方案 QCNeXt CVPR2023 轨迹预测冠军方案&#xff01;QCNeXt&#xff1a;新一代…

什么是索引下推

索引下推介绍 索引下推&#xff08;INDEX CONDITION PUSHDOWN&#xff0c;简称 ICP&#xff09;是在 MySQL 5.6 针对扫描二级索引的一项优化改进。总的来说是通过把索引过滤条件下推到存储引擎&#xff0c;来减少 MySQL 存储引擎访问基表的次数以及 MySQL 服务层访问存储引擎的…

持续格式刷

双击格式刷即可

专访|OpenTiny 开源社区 常浩:完成比完美更重要

前言 2023年已过大半&#xff0c;备受关注的 OpenTiny*开源之夏活动也顺利结项。开源之夏由中国科学院软件研究所发起的计划&#xff0c;目的在于鼓励在校学生积极参与开源软件的开发维护&#xff0c;推动优秀开源软件社区的繁荣发展。该活动联合各大开源社区&#xff0c;聚焦…

令人赞叹的花里胡哨的代码雨动画效果

【点我-这里送书】 本人详解 作者:王文峰,参加过 CSDN 2020年度博客之星,《Java王大师王天师》 公众号:JAVA开发王大师,专注于天道酬勤的 Java 开发问题中国国学、传统文化和代码爱好者的程序人生,期待你的关注和支持!本人外号:神秘小峯 山峯 转载说明:务必注明来源(…

element emitter broadcast向下广播 dispatch向上分派

emitter 项目使用element的emitter.js&#xff0c;做个使用记录 function broadcast(componentName, eventName, params) {this.$children.forEach(child > {const name child.$options.name;if (name componentName) {child.$emit.apply(child, [eventName].concat(para…

pytorch训练出现的bug

训练过后发现.csv文件左侧出现了几列unname和一列0&#xff0c;1&#xff0c;2。这个时候在训练就会从unname那一列开始训练。我们需要把这几列删除&#xff0c;之后再重新训练

华清远见嵌入式学习——网络编程——作业3

目录 作业要求&#xff1a;基于UDP的TFTP文件传输 代码 下载功能效果图​编辑 上传功能效果图 思维导图 模拟面试题和答案&#xff08;定期更新&#xff09; 作业要求&#xff1a;基于UDP的TFTP文件传输 完成文件的上传和下载功能 代码 #include<myhead.h>//实现…

前端Math属性方法汇总集锦

Description of Math Math 是一个内置对象&#xff0c;它拥有一些数学常数属性和数学函数方法。Math 不是一个函数对象。 Math 用于 Number 类型。它不支持 BigInt。 与其他全局对象不同的是&#xff0c;Math 不是一个构造器。Math 的所有属性与方法都是静态的。引用圆周率的写…

『heqingchun-Ubuntu系统+x86架构+编译安装ffmpeg+带有nvidia硬件加速』

Ubuntu系统x86架构编译安装ffmpeg带有nvidia硬件加速 一、准备文件 注&#xff1a;可直接下载我上传的CSDN资源&#xff0c;然后直接跳到"一"中的第"3"项"将文件按以下顺序存放"。 ffmpeg源码&#xff1a;音视频开发ffmpeg编译所需资源文件 其…

Pgsql常用命令

Postgresql数据库常用命令 1、连接数据库, 默认的用户和数据库是postgres psql -h host -p port -U user -d dbname 2、执行sql文件 psql -h ${PGHOST} -p ${PGPORT} -U ${PGUSER} -d safe_browser -f xxxx.sql \i /xxxxx/xxx/xxxxxx.sql 3、切换数据库,相当于mysql的use d…

Ajax技

Ajax的特点 异步提交&#xff1a;Ajax采用异步通信方式&#xff0c;能够在页面无需重新加载的情况下向服务器发送请求并接收响应数据&#xff0c;提升了用户体验。无需插件&#xff1a;Ajax是基于标准浏览器的Javascript和XMLHttpRequest对象实现的&#xff0c;无需安装插件或…

打开和关闭conda,激活和关闭conda,详解退出conda环境

Python编程技巧&#xff1a;详解退出conda环境 https://www.python100.com/html/110499.html # 创建虚拟环境~/anaconda3/bin/conda create -n name python3.6 # 激活虚拟环境 source ~/anaconda3/bin/activate name # 查看所有环境 conda env list # 激活虚拟环境 conda activ…

使用JVS低代码表单引擎高效管理文件,实现个性化需求

在数字化、信息化的时代&#xff0c;文件上传与管理功能已经成为了各类应用系统的标配。无论是在办公自动化、项目管理还是内容管理系统中&#xff0c;我们都希望能轻松、高效地完成文件的上传、查看和管理。JVS低代码表单引擎提供了文件类组件。无论是文件类型、大小的限制&am…