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

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

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

3. 有效的客体类别

(2)与网络有关的客体类别

与网络有关的客体类别代表网络资源如网络接口、不同种类的套接字和主机。目前的客体类别足以允许对单个系统上的网络进行广泛的控制,另外还有增强,如标记网络数据包。下表总结了与网络和套接字有关的客体类别:

客体类别描述
associationIPsec安全联盟
key_socketPF_KEY协议家族的套接字,用于管理IPsec中的密钥
netif网络接口(如eth0)
netlink_audit_socket用于控制审核的Netlink套接字
netlink_dnrt_socket用于控制DECnet路由的Netlink套接字
netlink_firewall_socket用于创建用户空间防火墙过滤器的Netlink套接字
netlink_ip6fw_socket用于创建用户空间防火墙过滤器的Netlink套接字
netlink_kobject_uevent_socket用于在用户空间接收内核事件通知的Netlink套接字
netlink_nflog_socket用于接收Netfilter日志消息的Netlink套接字
netlink_route_socket用于控制和管理网络资源如路由表和IP地址的Netlink套接字
netlonk_selinux_socket用于接收策略载入通知,强制模式切换和清空AVC缓存的Netlink套接字
netlink_tcpdiag_socket用于监视TCP连接的Netlink套接字
netlink_socket所有其它的Netlink套接字
netlink_xfrm_socket用于获取、管理和设置IPsec参数的Nerlink套接字
node代表一个IP地址或一段IP地址的主机
packet_socket协议在用户空间执行的原始套接字
rawip_socket既不是TCP也不是UDP的IP套接字
tcp_socketTCP套接字
udp_socketUDP套接字
unix_dgram_socket本地机器上(unix域)的IPC数据报套接字
unix_stream_socket本地机器上(unix域)的IPC流套接字

客体类别node、netif、packet_socket、rawip_socket、tcp_socket、udp_socket和socket控制典型的网络访问。 

1)netif、node

  • netif

客体类别netif代表网络接口,每个有名字的网络接口(如eth0、eth1)都是通过netif客体类别的实例进行表现的。

  • node

由IP地址或地址段进行标识的网络上的远程主机是通过node客体类别表现的,使用客体类别node,可以限制主机(通过IP地址)上的哪个进程可以使用网络

前面列出的不同种类的套接字客体类别代表协议套接字类型,成功发送或接收网络数据需要所有有关的netif、node、socket客体类别实例的许可。

2)标准网络套接字

标准网络套接字是由协议分配的(在调用socket(2)系统调用时确定的),不同的socket客体类别允许我们限制应用程序发送或接收数据包的类型,这对限制应用程序发送原始数据包的能力特别有用。

  • tcp_socket和udp_socket

客体类别tcp_socket和udp_socket分别代表TCP和UDP套接字

  • rawip_socket

客体类别rawip_socket代表发送原始IP数据包的套接字

  • packet_socket

客体类别packet_socket代表发送其它类型的原始数据包的套接字

  • socket

所有其它的套接字都由客体类别socket表示

  • association和key_socket

使用IP安全(IPsec)的通讯拥有额外的资源,由客体类别association和key_socket表示,IPsec安全联盟是为通讯提供安全服务的连接。客体类别association代表IPsec联盟,IPsec需要通过密钥管理(PF_KEY)套接字管理密钥,它通过客体类别key_socket进行表现

3)unix域套接字

Linux系统上的本地通讯可以使用unix域套接字(PF_UNIX)实现,这些套接字通常用于本地IPC

  • unix_stream_socket

面向连接的套接字也叫流套接字,通过客体类别unix_stream_socket进行表现

  • unix_dgram_socket

面向无连接的套接字也叫数据报套接字,通过客体类别unix_dgram_socket进行表现

  • sock_file

unix域套接字可以与文件系统上的某个特定文件关联起来,让其它应用程序很容易就连接到套接字,这个文件通过客体类别sock_file表现,它是一个与文件有关的客体类别,见前一篇文章SELinux零知识学习十、SELinux策略语言之客体类别和许可(4)。

4)Netlink套接字

SELinux中最后一组是Netlink套接字,这些套接字最初是开发用于在Linux最后提供一个标准意义的网络配置。现在它们常常用于在内核与用户之间通讯。基于协议类型的不同,有多种表示Netlink套接字的客体类别,常见的netlink_socket表示无特定客体类别的保留协议

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

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

相关文章

C# 集合用法介绍

在C#中,集合是一种特殊的数据类型,允许我们将多个元素组织在一起。这些元素可以是相同的类型或者可以是不同的类型。C#集合主要包括以下几种类型: List:它是一个有序的元素列表,用户可以添加、删除或查找元素。Dictio…

Spring Boot 日志

日志概述 ⽇志对我们来说并不陌⽣,我们经常需要通过打印⽇志来发现和定位问题,或者根据⽇志来分析程序的运⾏过程.在Spring的学习中, 也经常需要根据控制台的⽇志来分析和定位问题. 打印日志 一:在程序中得到⽇志对象. 通过⽇志⼯⼚ LoggerFactory 获取…

embedding的综述

0【自然语言处理】Word2Vec 词向量模型详解 Python代码实战 1 一文读懂Embedding的概念,以及它和深度学习的关系 one-hot 变成地位稠密的向量,降维 什么是词嵌入:讲词汇表中的词或者词语映射成固定长度的向量。 具体过程: …

2023年第九届数维杯国际大学生数学建模挑战赛A题

2023年第九届数维杯国际大学生数学建模挑战赛正在火热进行,小云学长又在第一时间给大家带来最全最完整的思路代码解析!!! A题思路解析如下: 完整版解题过程及代码,稍后继续给大家分享~ 更多题目完整解析点…

MIB 操作系统Lab: Xv6 and Unix utilities(1)boot xv6

从github中下载xv6代码 $ git clone git://g.csail.mit.edu/xv6-labs-2023 $ cd xv6-labs-2023 编译和运行xv6: $ make qemu 如果在终端输入ls命令,能看到输出。 大多数都是可以直接运行的命令。 xv6没有ps命令,但是可以输入ctrl-p可以看到进程的信…

spring boot 集成 RedisSearch 和 RedisJSON

1. 准备工作 环境说明 java 8;redis7.2.2,redis集成RedisSearch、redisJson 模块;spring boot 2.5在执行 redis 命令, 或者监控 程序执行的redis 指令时,可以采用 redisinsight查看,下载地址。 背景说明 需…

fileread任意文件读取学习笔记

任意文件读取概述 一些网站的需求,可能会提供文件查看与下载的功能。如果对用户查看或下载的文件没有限制或者限制绕过,就可以查看或下载任意文件。这些文件可以是源代码文件,配置文件,敏感文件等等。 任意文件读取会造成&#x…

Linux命令--重启系统的方法

原文网址:Linux命令--重启系统的方法_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Linux重启系统的方法。 普通重启 reboot reboot的工作过程跟下边的halt差不多,不过它是引发主机重启,而halt是关机。它的参数与halt相差不多。 shutdown …

centos 6.10 安装 readline 6.2.0

下载地址 解压文件 cd readline-6.2 ./configure -prefix /usr/local/readline-6.2 make && make install安装完成

【Qt之QSplashScreen】开场动画使用:进度条加载及设置鼠标指针不转圈

效果 开场动画效果如下: 开场动画 介绍 QSplashScreen小部件提供了一个启动屏幕,可以在应用程序启动期间显示。 启动屏幕是一个小部件,通常在应用程序启动时显示。启动屏幕通常用于启动时间较长的应用程序(例如需要花费时间建立连接的数据…

《Effective C++》条款15

在资源管理类中提供对原始资源的访问 class A {... }; int day(const A* ptr) {... } int main() {shared_ptr<A> ptr(new A);cout << day(ptr) << endl; } 这样写是错误的。因为day函数要求的参数是指针&#xff0c;而你传的实际上是一个对象。 如何解决呢&…

在docker下安装suiteCRM

安装方法&#xff1a; docker-hub来源&#xff1a;https://hub.docker.com/r/bitnami/suitecrm curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/suitecrm/docker-compose.yml > docker-compose.yml//然后可以在docker-compose.yml文件里修…

深度学习+opencv+python实现车道线检测 - 自动驾驶 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &am…

网络支付安全:面临的风险与防范策略

随着电子商务的繁荣和移动支付技术的发展&#xff0c;网络支付已成为全球消费者日常生活中不可或缺的一部分。然而&#xff0c;这种便捷的支付方式也带来了许多安全风险&#xff0c;这些风险可能威胁到用户的财务安全和个人隐私。本文将深入探讨网络支付面临的主要安全风险&…

HTML5学习系列之主结构

HTML5学习系列之主结构 前言HTML5主结构定义页眉定义导航定义主要区域定义文章块定义区块定义附栏定义页脚 具体使用总结 前言 学习记录 HTML5主结构 定义页眉 head表示页眉&#xff0c;用来表示标题栏&#xff0c;引导和导航作用的结构元素。 <header role"banner…

Java和JavaScript是一样的技术吗?

目录 一、Java 是什么 二、JavaScript 是什么 三、Java 和 JavaScript 的区别 一、Java 是什么 Java是一种广泛使用的计算机编程语言&#xff0c;最初由Sun Microsystems&#xff08;后被Oracle收购&#xff09;于1995年发布。Java是一种面向对象的语言&#xff0c;设计初衷…

qnx 工程目录创建工具 addvariant

文章目录 前言一、addvariant 是什么二、addvariant 使用实例1. variant names 参数说明2. 创建一个可执行文件工程3. 创建一个动态库工程 总结参考资料 前言 本文主要介绍如何在qnx 开发环境中创建工程目录及其相关的配置文件(common.mk, Makefile 文件等) 软件版本&#xff…

Java 注解

常见的注解 Override Overload Deprecated 过时 等..... /** *deprecated {link #方法名()}提示可替代方法 */ Deprecated 注解类:Annotion,给编译器进行执行 声明注解使用 interface,本质也是接口,也可以设置抽象方法,起到属性的作用 package java.lang.annotation…

1、LeetCode之两数之和

两数之和 给定一个整数数组 nums和一个目标值target&#xff0c;请你在该数组中找出和为目标值的那两个整数&#xff0c;并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是&#xff0c;你不能重复利用这个数组中同样的元素。 nums [2,7,11,15]target 9[0,1]枚…

图解未来:数据可视化引领智慧决策时代

图表和数据可视化在数据分析中的关键作用 引言&#xff1a; 在现代数据科学中&#xff0c;数据可视化扮演着至关重要的角色。通过图表和可视化工具&#xff0c;我们能够更直观、更有效地理解数据的分布、趋势和关联性。本文将深入讨论三个主要的数据可视化工具&#xff1a;mat…