网络标号介绍
网络标号是一种机制,内核安全模块使用网络标号机制去给从用户空间产生的发往网络的数据包贴上安全属性。内核安全模块也使用网络标号机制去读取那些来自于网络的数据包的安全属性。网络标号机制有3个主要部分构成:协议引擎、通信层、内核安全模块API。
1.协议引擎
协议引擎主要的功能是:对将要发出去的网络数据包,在其上面添加安全属性;对接受到的网络数据包,检索它的安全属性。如果需要在网络安全属性和本机的安全属性之间需要转换的话,协议引擎也能处理这类任务。内核中的其他子系统不要直接调用协议引擎,而是应该使用网络标号内核安全模块API。
2.通信层
通信层存在的目的是为了允许从用户空间对Netlabel进行配置和监视。网络标号通信层使用了一种基于消息的协议。这种协议被构建在通用NETLINK传输机制的顶部。网络标号消息格式的提取方法在:net/netlabel/ include/net/netlabel.h
3.安全模块API
网络标号安全模块API的目的是:为底层的网络标号协议引擎提供一个协议无关的接口。除了提供协议无关的接口外,安全模块API被设计为完全不依赖于linux安全模块(LSM linux security module)。安全模块API允许多个LSMS利用相同的代码。在 include/net/netlabel.h头文件中有关于Netlabel安全模块API的详细信息。