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

什么是Selinux

  官网地址:What is SELinux?

欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯.

概述

安全增强型 Linux (SELinux) 是Linux® 系统的安全架构,允许管理员更好地控制谁可以访问系统。它最初是由美国国家安全局 (NSA) 使用 Linux 安全模块 (LSM) 开发的一系列Linux内核补丁。  

SELinux于2000年发布到开源社区,并于2003年集成到上游Linux内核中。

免费试用支持 SELinux 的操作系统

SELinux 是如何工作的?

SELinux 定义了系统上应用程序、进程和文件的访问控制。它使用安全策略(一组规则告诉 SELinux 哪些内容可以访问或哪些内容不可以访问)来强制执行策略允许的访问。 

当应用程序或进程(称为主体)发出访问对象(如文件)的请求时,SELinux 会检查访问向量缓存 (AVC),其中缓存主体和客体的权限。

如果 SELinux 无法根据缓存的权限做出访问决策,则会将请求发送到安全服务器。安全服务器检查应用程序或进程以及文件的安全上下文。安全上下文是从 SELinux 策略数据库应用的。然后授予或拒绝许可。 

如果权限被拒绝,/var/log.messages 中将显示“avc:被拒绝”消息。

如何配置 SELinux 

您可以通过多种方式配置 SELinux 来保护您的系统。最常见的是有针对性的策略或多级安全 (MLS)。

目标策略是默认选项,涵盖一系列流程、任务和服务。MLS 可能非常复杂,通常仅由政府组织使用。 

您可以通过查看 /etc/sysconfig/selinux 文件来了解您的系统应该运行什么。该文件将有一个部分显示 SELinux 是否处于宽容模式、强制模式或禁用模式,以及应该加载哪个策略。

SELinux 标签和类型强制 

类型强制和标签是 SELinux 最重要的概念。

SELinux 作为一个标签系统,这意味着系统中的所有文件、进程和端口都有一个与之关联的 SELinux 标签。标签是将事物分组在一起的逻辑方式。内核在引导期间管理标签。

标签的格式为 user:role:type:level(级别是可选的)。用户、角色和级别用于更高级的 SELinux 实现,例如 MLS。标签类型对于有针对性的政策来说是最重要的。 

SELinux 使用类型强制来强制执行在系统上定义的策略。类型强制是 SELinux 策略的一部分,它定义以某种类型运行的进程是否可以访问标有某种类型的文件。

启用 SELinux

如果您的环境中已禁用 SELinux,您可以通过编辑 /etc/selinux/config 并设置 SELINUX=permissive 来启用 SELinux。由于 SELinux 目前尚未启用,因此您不想立即将其设置为强制执行,因为系统可能会出现错误标记的内容,从而导致系统无法启动。  

您可以通过在根目录中创建名为 .autorelabel 的空文件然后重新启动来强制系统自动重新标记文件系统。如果系统错误太多,您应该在宽容模式下重新启动,以便启动成功。重新标记所有内容后,使用 /etc/selinux/config 将 SELinux 设置为强制执行并重新启动,或运行 setenforce 1。 

如果系统管理员不太熟悉命令行,可以使用图形工具来管理 SELinux。 

SELinux 为Linux 发行版中内置的系统提供了额外的安全层。它应该保持打开状态,以便在系统受到损害时可以保护您的系统。

你对Linux了解多少?

在 Linux 传奇问答中测试您的知识并赢得徽章。

立即参加测验

自主访问控制 (DAC) 与强制访问控制 (MAC)

传统上,Linux 和 UNIX 系统都使用 DAC。SELinux 是 Linux 的 MAC 系统的一个示例。 

有了 DAC,文件和进程就有了所有者。您可以让用户拥有一个文件、一个组拥有一个文件或其他(可以是其他任何人)。用户可以更改自己文件的权限。

root 用户对 DAC 系统具有完全访问控制权。如果您具有 root 访问权限,那么您可以访问任何其他用户的文件或在系统上执行您想要的任何操作。 

但在像 SELinux 这样的 MAC 系统上,有关于访问的管理设置策略。即使您的主目录上的 DAC 设置发生更改,防止其他用户或进程访问该目录的 SELinux 策略也将确保系统安全。 

SELinux 策略让您能够具体化并涵盖大量进程。您可以使用 SELinux 进行更改以限制用户、文件、目录等之间的访问。

了解如何使用现代工具和技术管理 Linux 环境

如何处理 SELinux 错误

当您在 SELinux 中遇到错误时,有一些事情需要解决。这可能是以下 4 个常见问题之一:

  1. 标签是错误的。如果您的标签不正确,您可以使用工具来修复标签。
  2. 需要制定一项政策。这可能意味着您需要通知 SELinux 您所做的更改,或者您可能需要调整策略。您可以使用布尔值或策略模块来修复它。
  3. 该政策存在错误。策略中可能存在需要解决的错误。
  4. 系统已被侵入。尽管 SELinux 可以在许多情况下保护您的系统,但系统受到损害的可能性仍然存在。如果您怀疑情况确实如此,请立即采取行动。

什么是布尔值?

布尔值是 SELinux 中函数的开/关设置。有数百种设置可以打开或关闭 SELinux 功能,其中许多设置已经预定义。您可以通过运行 getsebool -a 来找出系统中已经设置了哪些布尔值。

视频:红帽的安全性和合规性方法

红帽可以提供帮助

红帽企业 Linux 是世界领先的开源 Linux 平台,使您能够降低风险、实施安全配置和策略以及简化合规策略。 

红帽企业 Linux 系统角色是受支持的 Ansible® 角色的集合,可确保一致的工作流程并简化手动任务的执行。系统角色可帮助团队自动化安全工作流程,并以最少的资源长期、大规模地维护它们,并简化治理和合规性要求。通过SELinux系统角色,您可以自动化SELinux的部署和管理。这包括: 

  • 使用强制或许可模式启用 SELinux,以确保控制的一致性。
  • 自定义 SELinux 策略布尔值、文件上下文、端口和登录以满足您的要求。
  • 利用系统角色来协调指定文件或目录的文件上下文。

查看selinux状态,以下命令都可以查

getenforcecat /etc/selinux/configsestatus

三种状态

enforcing (执行中)、permissive (不执行但产生警告)、disabled(关闭)

临时设置,重启后失效

#setenforce 0设置为permissive模式;setenforce 1 设置为enforcing模式;
setenforce 0   

永久设置,需要重启

sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config
reboot

相关文章:

什么是Selinux

官网地址:What is SELinux? 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. 概述 安全增强型 Linux (SELinux) 是Linux 系统的安全架构,允许管理员更好地控制谁可以访问系统。它最初是由美…...

计算机网络知识点

1. URI 和 URL 统一资源定位符(Uniform Resource Locator,缩写:URL),是对资源的引用和访问该资源的方法。俗称网址,就是浏览器地址栏里面的内容。 URL 语法为:protocol://userInfohost:port/p…...

Qt 连接 Mysql

Linux下安装mysql及qt连接_liunx下安装mysql及qt链接-CSDN博客...

HarmonyOS4.0系统性深入开发14AbilityStage组件容器

AbilityStage组件容器 AbilityStage是一个Module级别的组件容器,应用的HAP在首次加载时会创建一个AbilityStage实例,可以对该Module进行初始化等操作。 AbilityStage与Module一一对应,即一个Module拥有一个AbilityStage。 DevEco Studio默…...

客服系统接入FastGPT

接入FastGPT 点击【应用】【外部使用】【API访问】【新建】新建一个KEY,同时也可以看到我们的API根地址 这个根地址和Key可以填入任何支持OpenAI接口的应用里,这个接口是兼容OpenAI格式。 在客服系统【知识库AI配置】里填上接口地址和接口密钥。这样我…...

Hi5 2.0 虚拟手与追踪器(Tracker)的位置修正

问题描述 使用环境与工具:Unity 2022.3.4fc1,steam VR(2.7.3),steamvrSDK(1.14.15),HTC vive pro专业版,Hi5 2.0数据手套 首先按照Hi5 2.0的使用说明(可参考:HI5 2.0 交…...

广播及代码实现

广播(Broadcast)是一种网络通信方式,它允许一台设备向网络中的所有其他设备发送消息。广播通常用于在网络上传递一些信息,让所有设备都能接收并处理。在广播中,通信的目标是整个网络而不是特定的单个设备。 向子网中…...

QT应用篇 三、QML自定义显示SpinBox的加减按键图片及显示值效果

QT应用篇 一、QT上位机串口编程 二、QML用Image组件实现Progress Bar 的效果 三、QML自定义显示SpinBox的加减按键图片及显示值效果 文章目录 QT应用篇前言一、qml需求二、使用组件1.SpinBox组件2.SpinBox中QML的使用 总结 前言 记录自己学习QML的一些小技巧方便日后查找 QT的…...

2022年全国职业院校技能大赛网络安全竞赛试题1-10-B模块总结

前言 结尾有对22年国赛题型总结 试题1模块B 网络安全事件响应、数字取证调查和应用安全 B-1任务一:主机发现与信息收集 *任务说明:仅能获取Server1的IP地址 1.通过渗透机Kali2.0对靶机场景进行TCP同步扫描 (使用Nmap工具),并将该操作使用…...

20231228在Firefly的AIO-3399J开发板的Android11的Firefly的AIO-3399J开发板的DTS配置单前置摄像头ov13850

20231228在Firefly的AIO-3399J开发板的Android11的Firefly的AIO-3399J开发板的DTS配置单前置摄像头ov13850 2023/12/28 12:30 开发板:Firefly的AIO-3399J【RK3399】 SDK:rk3399-android-11-r20211216.tar.xz【Android11】 Android11.0.tar.bz2.aa【ToyBr…...

php-fpm运行一段时间,内存不足

目录 一:原因分析 二:解决 三:观察系统情况 php-fpm运行一段时间,内存不足,是什么原因呢。 一:原因分析 1:首先php-fpm的配置 (1)启动的进程数 启动的进程数越多,占用内存越高; 2:其次…...

基于轻量级GhostNet模型开发构建生活场景下生活垃圾图像识别系统

轻量级识别模型在我们前面的博文中已经有过很多实践了,感兴趣的话可以自行移步阅读: 《移动端轻量级模型开发谁更胜一筹,efficientnet、mobilenetv2、mobilenetv3、ghostnet、mnasnet、shufflenetv2驾驶危险行为识别模型对比开发测试》 《基…...

《Linux系列》Linux磁盘MBR分区扩容

文章目录 Linux磁盘MBR分区扩容1.前言2.控制台磁盘扩容3.分区扩容3.1 fdisk3.2 lsblk3.3 扩容分区 4.扩容文件系统4.1 df4.2 扩容文件系统 Linux磁盘MBR分区扩容 1)参考阿里云扩容分区文档,整理MBR分区扩容 2)本文档适用于MBR分区(fdisk -lu查…...

IPv6地址配置

IPv6地址接口配置 IPv6地址结构 一个IPv6地址可以分为两部分: 网络前缀:n比特,相当于IPv4地址中的网络ID 接口标识:128-n比特,相当于IPv4地址中的主机ID 注意: 对于IPv6单播地址来说,如果地址的前三bit不是000,则接口标识必须为64位,如果地址的前三位是000,则没有此…...

Ubuntu20.04 防火墙配置

ubuntu 系统中配置防火墙 ufw(Uncomplicated Firewall)是一个简化的、易于使用的Linux防火墙工具,旨在方便用户管理iptables防火墙规则。 特点 简化的防火墙管理:ufw提供了一个简洁的命令行界面,让您能够轻松地添加、…...

Windows上ModbusTCP模拟Master与Slave工具的使用

场景 Modbus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用: Modebus Slave 与 Modbus Poll主从设备模拟软件与Configure Virtual Serial串口模拟软件使用_modbus poll激活-CSDN博客 数据对接协议为Modbus TCP,本地开发需要使…...

史上最细,13年老鸟总结-性能测试7大关键点,一篇打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、测试环境的鉴定…...

长虹智能电视ZLM60HiS机芯刷机方法及刷机固件,附进维修模式方法

适配机芯:ZLM60HiS 型号:Q1FU、D6000i、U3、D8000ID 软件强制升级方法: 1、下载后解压,找到upgrade_ZLM60HiS_MT5508_V1.00xxx_part.pkg 、chandroid_ota_ZLM60HiS_datapart.zip复制到U盘根目录(不要有任何文件夹&a…...

计算机网络【Google的TCP BBR拥塞控制算法深度解析】

Google的TCP BBR拥塞控制算法深度解析 宏观背景下的BBR 慢启动、拥塞避免、快速重传、快速恢复: 说实话,这些机制完美适应了1980年代的网络特征,低带宽,浅缓存队列,美好持续到了2000年代。 随后互联网大爆发&#x…...

lvs+keepalived+nginx实现四层负载+七层负载

目录 一、lvs配置 二、nginx配置 三、测试 3.1 keepalived负载均衡 3.2 lvskeepalived高可用 3.3 nginx高可用 主机IPlvs01-33 11.0.1.33 lvs02-3411.0.1.34nginx0111.0.1.31nginx0211.0.1.32VIP11.0.1.30 4台主机主机添加host [rootnginx01 sbin]# cat /etc/hosts 127.0.0.…...

应用升级/灾备测试时使用guarantee 闪回点迅速回退

1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...