SELinux

目录

1.概述

1.1.概念

1.2.作用

1.3. SELinux与传统的权限区别

2. SELinux工作原理

2.1.名词解释

2.1.1.主体(Subject)

2.1.2.目标(Object)

2.1.3.策略(Policy)

2.1.4.安全上下文(Security Context)

2.2.文件安全.上下文查看

2.2.1.命令:

2.2.2.分析

3. **SELinux的启动、关闭与查看**

3.1.三种配置模式

3.3.模式管理

3.3.1.查看当前工作模式

3.3.2.临时开启selinux/临时关闭selinux

3.3.3永久性关闭

3.3.4注意:

3.4selinux的状态

3.4.1命令

3.4.2分析

3.5selinux配置文件

4.修改安全上下文

4.1chcon命令

4.1.1作用

4.1.2格式​编辑

4.1.3示例

4.3semanage命令

4.3.1作用

4.3.2格式1​编辑●选项: login|userlport|interface |fcontext |translation|boolean,注意: fcontext查询默认安全上下文(重要)●参数

4.3.3常用命令组

4.4实验

4.4.1实验1

4.4.2实验2


1.概述


1.1.概念


●SELinux (Security-Enhanced Linux)是美国国家安全局在Linux开源社区的帮助下开发的一
个强制访问控制(MAC, Mandatory Access Control)的安全子系统,用于各个服务进程都受
到约束,使其仅获取到本应获取的资源
●例如,电脑上下载了一个美图软件,当您全神贯注地使用它给照片进行美颜的时候,它却在后台
默默监听着浏览器中输入的密码信息,而这显然不应该是它应做的事情


1.2.作用


●SELinux域限制:对服务程序的功能进行限制,以确保服务程序做不了出格的事情
●SELinux安全上下文:对文件资源的访问限制,确保文件资源只能被其所属的服务程序访问
 


1.3. SELinux与传统的权限区别


●传统的文件权限与账号的关系:属于自主访问控制DAC (Discretionary Access Control) ,当
某个进程想要对文件进行访问时,系统就会根据该进程的所有者/用户组,并比较文件的权限,若
通过权限检查,就可以访问该文件,注意:各种权限设置对root用户是无效的
●SELinux的以策略规则制定特定程序读取特定文件:属于强制访问控制MAC (Mandatory
Access Control),可以针对特定的进程与特定的文件资源来进行权限的控制,即使你是roo在
使用不同的进程时,你所能取得的权限并不-定是root, 而得要看当时该进程的设置而定,则就
可以针对进程来进行访问控制
 


2. SELinux工作原理


2.1.名词解释


2.1.1.主体(Subject)


●主体就是想要访问文件或目录资源的进程。
●进程得到资源流程:由用户调用命令,由命令产生进程,由进程去访问文件或目录资源。
●自主访问控制系统中(Linux默认权限中),靠权限控制的主体是用户
●强制访问控制系统中(SELinux中) ,靠策略规则控制的主体则是进程


2.1.2.目标(Object)


●目标就是需要访问的文件或目录资源


2.1.3.策略(Policy)


●Linux系统中进程与文件的数量庞大,限制进程是否可以访问文件的SELinux规则数量就更加烦
琐,如果每个规则都需要管理员手工设定,那么SECinux的可用性就会极低,所以SELinux 默
认定义了两个策略来制订规则
●2个默认策略
。-targeted:默认策略,用于限制网络服务(dhcpd, httpd, named, nscd, ntpd,
portmap, snmpd, squid,以及syslogd) ,对本机系统的限制极少
。-mls:多级安全保护策略,该策略限制更为严格
 


2.1.4.安全上下文(Security Context)


●所有进程、文件和目录都有自己的安全上下文
●进程是否能够访问文件或目录,就要其安全上下文是否匹配
●例:找对象时,男人看作主体,女人就是目标,男人是否可以追到女人(主体是否可以访问目
标) ,主要看两人的性格是否合适(主体和目标的安全上下文是否匹配) ,但两个人的性格是否
合适,是需要靠生活习惯、为人处世、家庭环境等具体的条件来进行判断的(安全上下文是否匹
配是需要通过策略中的规则来确定的)


●解释:
。当主体(进程)访问目标(文件)时,首先和SELinux中定义好的策略进行匹配
。若符合定义的规则,且主体的安全上下文和目标的安全上下文匹配则允许访问文件
。若安全上下文比较失败,则拒绝访问,并通过AVC (Access Vector Cache, 访问向量缓
存,主要用于记录所有和SELinux相关的访问统计信息)生成拒绝访问信息
注意:最终是否可以访问到目标文件,还要匹配产生进程(主体)的用户是否对目标文件拥有
合理的rwx权限
 

2.2.文件安全.上下文查看

2.2.1.命令:



2.2.2.分析


●重点为: system_u:object r:admin_home_ t:s0
●安全上下文用冒号分为四个字段
●身份标识(Identify) :相当于账号方面的身份标识,有三种类型: 
root:安全上下文的身份是root,默认会映射为unconfined _u,可以通过以下命令查看映
射关系: 

。system. u:系统用户身份,其中" u”代表user
。注意: user字段只用于标识数据或进程被哪个身份所拥有,系统数据的user字段是
system_ u,用户数据user字段是user. u
。seinfo命令
■作用:查询身份、角色等信息,需要安装才可使用

 

■格式: seinfo -参数

■参数:


●**角色(roI2) :表示此数据是进程还是文件或目录包含(了解就行) **
object_r:代表该数据是文件或目录,r代表role (角色的意思)
system_ r:进程r代表role
●类型(type) :



最重要,进程是否可以访问文件,主要就是看进程的安全上下文类型字段是否和文件的安全上
下文类型字段相匹配
在默认的targeted策略中
。类型字段在主体(进程)的安全上下文中被称作域(domain)
。类型字段在目标(文件或目录)的安全上下文中被称作类型(type)
。进程的域与文件的类型是否匹配需要查询策略规则
●灵敏度:用s0、s1. s2来命名,数字为灵敏度分级,数值越大,灵敏度越高
●例:查看之前http的默认网页文件信息


3. **SELinux的启动、关闭与查看**


3.1.三种配置模式


●enforcing:强制模式,启用SELinux, 将拦截服务的不合法请求
●permissive:宽容模式,启用SELinux, 遇到服务越权访问时,只发出警告而不强制拦截
●disabled:关闭模式,sELinux没有运行


3.3.模式管理


3.3.1.查看当前工作模式



3.3.2.临时开启selinux/临时关闭selinux



3.3.3永久性关闭
 


3.3.4注意:


●enforcing状态与permissive状态之间切换时,不需要重启系统
●enforcing. permissive 与disabled之间切换时,必须重启系统才会生效
 

3.4selinux的状态

3.4.1命令

3.4.2分析

3.5selinux配置文件


4.修改安全上下文


4.1chcon命令


4.1.1作用


●手动修改目标的上下文策略


4.1.2格式


 

4.1.3示例

●例1:单独修改

●例2:按照范例文件修改

●例3:使用httpd服务演示安全上下文值的设定


4.3semanage命令


4.3.1作用


●用于管理SELinux的策略,查询/修改/增加/删除文件的默认SELinux安全上下文,管理网络端口、
消息接口等


4.3.2格式1


●选项: login|userlport|interface |fcontext |translation|boolean,注意: fcontext查询

默认安全上下文(重要)
●参数


●文件:设置对象文件或目录


4.3.3常用命令组


●查询默认安全上下文

●查看允许访问的端口

4.4实验

4.4.1实验1

●使用httpd服务的端口演示selinux的设定

4.4.2实验2

●使用ssh设置新端口号,设置selinux端口策略

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flutter 3.16 中带来的更新

Flutter 3.16 中带来的更新 目 录 1. 概述2. 框架更新2.1 Material 3 成为新默认2.2 支持 Material 3 动画2.3 TextScaler2.4 SelectionArea 更新2.5 MatrixTransition 动画2.6 滚动更新2.7 在编辑菜单中添加附加选项2.8 PaintPattern 添加到 flutter_test 3. 引擎更新&#xf…

BUUCTF 被偷走的文件 1

BUUCTF:https://buuoj.cn/challenges 题目描述: 一黑客入侵了某公司盗取了重要的机密文件,还好管理员记录了文件被盗走时的流量,请分析该流量,分析出该黑客盗走了什么文件。 密文: 下载附件,解压得到一个…

QT专栏1 -Qt安装教程

#本文时间2023年11月18日,Qt 6.6# Qt 安装简要说明: Qt有两个版本一个是商业版本(收费),另一个是开源版本(免费); 打开安装程序时,通过判断账号是否有公司,安…

【Linux系统化学习】进程的父子关系 | fork 进程

个人主页点击直达:小白不是程序媛 Linux专栏:Linux系统化学习 目录 前言: 父子进程 父子进程的引入 查看父子进程 查询进程的动态目录 更改进程的工作目录 fork创建进程 fork的引入 fork的使用 fork的原理 fork如何实现的&#…

搜索引擎ElasticSearch分布式搜索和分析引擎学习,SpringBoot整合ES个人心得

ElasticSearch Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elas…

ajax,axios,fetch

文章目录 ajax工作原理ajax发请求四个步骤创建xmlhttprequest对象设置请求方式设置回调函数发送请求 自封装ajax axiosaxios 特性如何用配置拦截器fetch 三者区别 ajax 工作原理 Ajax的工作原理相当于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操作与服务…

MFC 常用控件

目录 一、控件的交互方式 二、CButton/CheckBox/RadioButton 三、EditControl 四、ListBox 五、ComBox 六、Progress/Timer 七、PictureController 八、ListControl 九、Tree 一、控件的交互方式 得到控件的类的对象,就可以通过这个对象来操作类 CWnd* G…

Spring Framework 6.1 正式 GA

Spring Framework 6.1在运行时方面针对 JDK 21 和 Jakarta EE 10 上提供了一级支持,同时保留了 JDK 17 和 Jakarta EE 9 基线。Spring 还通过精细的元数据推理跟踪 GraalVM for JDK 21 的演变,同时暂时保持与 GraalVM 22.3 的兼容性。 主要变化 支持 JD…

解决终端自暂停的问题 关闭快速编辑模式 python代码暂停

问题描述: 在windows10终端中运行的python出现自暂停或者是点击鼠标后出现暂停,敲回车或空格它才继续运行。 解决方法 注意:windows不能针对所有命令行统一设置,只能单个程序去设置。 半永久 在终端右键点击属性 取消勾选快速…

自注意力机制理解

当理解自注意力机制时,可以想象一个句子级别的文本输入作为示例。假设我们有以下句子:“The cat is eating fish”。现在我们将这个句子转换成词嵌入向量序列: (给定有值的只是示例,方便理解,以下都是这样&#xff09…

clion2020 中文版安装

一 程序安装 安装包地址: 链接:https://pan.baidu.com/s/1EJsmgmZcCQHoKDECkxmeaw?pwd1111 提取码:1111

C++构造函数和析构函数

构造函数和析构函数的由来 手机有出厂设置,在不用这个手机的时候我们也会清理这个手机的隐私内容。C面向对象的思想来源于生活, 每个对象也应该有初始设置 和 对象销毁前要清理个人隐私数据。 类的构造函数对应于手机的初始化。 类的析构函数对应于手机…

【开源】基于Vue.js的音乐偏好度推荐系统的设计和实现

项目编号: S 012 ,文末获取源码。 \color{red}{项目编号:S012,文末获取源码。} 项目编号:S012,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 音乐档案模块2.1…

PHP 中传值与传引用的区别,什么时候传值什么时候传引用?

传值:当使用传值的方式时,函数或方法会创建原始变量的一个副本,并将该副本传递给函数或方法。在函数或方法内部,对副本的任何修改都不会影响到原始变量。当函数或方法执行完毕后,副本被销毁,不再使用。 传引…

【入门篇】1.5 redis 客户端Jedis和Lettuce对比详解

文章目录 0. 前言1. Lettuce 与Jedis 对比2.详解2.1 线程安全2.2 阻塞/非阻塞2.3 集群支持2.4 PUB/SUB模型2.5 二进制协议 3. 参考资料 0. 前言 对于Java开发者来说,Jedis和Lettuce是两种非常常见的Redis客户端,他们可以帮助开发者更容易地在Java应用中…

多媒体ffmpeg学习教程

多媒体ffmpeg 目前比较流行的音视频文件为:MP4 flv m3u8 ffmpeg ffmpeg ffplay ffprobe ffserverffmpeg -i INPUT -vf "split [main][tmp]; [tmp] cropiw:ih/2:0:0, vflip [flip];[main][flip] overlay0:H/2" OUTPUTffmpeg -i 2022.mp4 -vcodec mpeg4 -b:…

YOLO目标检测——无人机检测数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用:无人机识别数据集说明:无人机检测数据集,真实场景的高质量图片数据,数据场景丰富标签说明:使用lableimg标注软件标注,标注框质量高,含voc(xml)、coco(json)和yolo(txt)三种格式标签…

软件安利——火绒安全

近年来,以优化、驱动、管理为目标所打造的软件屡见不鲜,大同小异的电脑管家相继走入了公众的视野。然而,在这日益急功近利的社会氛围驱动之下,真正坚持初心、优先考虑用户体验的电脑管家逐渐湮没在了浪潮之中。无论是鲁大师&#…

2023年【P气瓶充装】报名考试及P气瓶充装复审考试

题库来源:安全生产模拟考试一点通公众号小程序 2023年P气瓶充装报名考试为正在备考P气瓶充装操作证的学员准备的理论考试专题,每个月更新的P气瓶充装复审考试祝您顺利通过P气瓶充装考试。 1、【多选题】充装过程中出现充气头漏气的主要原因为&#xff1…

python 对图像进行聚类分析

import cv2 import numpy as np from sklearn.cluster import KMeans import time# 中文路径读取 def cv_imread(filePath, cv2_falgcv2.COLOR_BGR2RGB): cv_img cv2.imdecode(np.fromfile(filePath, dtypenp.uint8), cv2_falg) return cv_img# 自定义装饰器计算时间 def…