NetLabel 介绍

Paul Moore, paul.moore@hp.com

2006 年 8 月 2 日

概述

NetLabel 是一种机制,内核安全模块可以使用它将安全属性附加到用户空间应用程序生成的传出网络数据包,并从传入的网络数据包读取安全属性。它由三个主要组件组成:协议引擎、通信层和内核安全模块 API。

协议引擎

协议引擎负责应用和检索网络数据包的安全属性。如果需要在网络安全属性和主机上的属性之间进行任何转换,协议引擎也将处理这些任务。其他内核子系统应避免直接调用协议引擎,而是应使用下面描述的 NetLabel 内核安全模块 API。

有关每个 NetLabel 协议引擎的详细信息可以在此目录中找到。

通信层

通信层的存在是为了允许从用户空间进行 NetLabel 配置和监控。NetLabel 通信层使用基于通用 NETLINK 传输机制构建的消息协议。这些 NetLabel 消息的确切格式以及通用 NETLINK 族名称可以在 'net/netlabel/' 目录中的头文件注释中找到,以及在 'include/net/netlabel.h' 中找到。

安全模块 API

NetLabel 安全模块 API 的目的是为底层 NetLabel 协议引擎提供一个与协议无关的接口。除了协议独立性之外,安全模块 API 还被设计为完全与 LSM 无关,这应该允许多个 LSM 利用相同的代码库。

有关 NetLabel 安全模块 API 的详细信息可以在 'include/net/netlabel.h' 头文件中找到,以及此目录中的 'NetLabel Linux 安全模块接口' 文件中找到。