53 lines
2.0 KiB
ReStructuredText
53 lines
2.0 KiB
ReStructuredText
|
=====================
|
||
|
NetLabel Introduction
|
||
|
=====================
|
||
|
|
||
|
Paul Moore, paul.moore@hp.com
|
||
|
|
||
|
August 2, 2006
|
||
|
|
||
|
Overview
|
||
|
========
|
||
|
|
||
|
NetLabel is a mechanism which can be used by kernel security modules to attach
|
||
|
security attributes to outgoing network packets generated from user space
|
||
|
applications and read security attributes from incoming network packets. It
|
||
|
is composed of three main components, the protocol engines, the communication
|
||
|
layer, and the kernel security module API.
|
||
|
|
||
|
Protocol Engines
|
||
|
================
|
||
|
|
||
|
The protocol engines are responsible for both applying and retrieving the
|
||
|
network packet's security attributes. If any translation between the network
|
||
|
security attributes and those on the host are required then the protocol
|
||
|
engine will handle those tasks as well. Other kernel subsystems should
|
||
|
refrain from calling the protocol engines directly, instead they should use
|
||
|
the NetLabel kernel security module API described below.
|
||
|
|
||
|
Detailed information about each NetLabel protocol engine can be found in this
|
||
|
directory.
|
||
|
|
||
|
Communication Layer
|
||
|
===================
|
||
|
|
||
|
The communication layer exists to allow NetLabel configuration and monitoring
|
||
|
from user space. The NetLabel communication layer uses a message based
|
||
|
protocol built on top of the Generic NETLINK transport mechanism. The exact
|
||
|
formatting of these NetLabel messages as well as the Generic NETLINK family
|
||
|
names can be found in the 'net/netlabel/' directory as comments in the
|
||
|
header files as well as in 'include/net/netlabel.h'.
|
||
|
|
||
|
Security Module API
|
||
|
===================
|
||
|
|
||
|
The purpose of the NetLabel security module API is to provide a protocol
|
||
|
independent interface to the underlying NetLabel protocol engines. In addition
|
||
|
to protocol independence, the security module API is designed to be completely
|
||
|
LSM independent which should allow multiple LSMs to leverage the same code
|
||
|
base.
|
||
|
|
||
|
Detailed information about the NetLabel security module API can be found in the
|
||
|
'include/net/netlabel.h' header file as well as the 'lsm_interface.txt' file
|
||
|
found in this directory.
|