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 安全模块接口”文件。