introduction.rst 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. =====================
  2. NetLabel Introduction
  3. =====================
  4. Paul Moore, [email protected]
  5. August 2, 2006
  6. Overview
  7. ========
  8. NetLabel is a mechanism which can be used by kernel security modules to attach
  9. security attributes to outgoing network packets generated from user space
  10. applications and read security attributes from incoming network packets. It
  11. is composed of three main components, the protocol engines, the communication
  12. layer, and the kernel security module API.
  13. Protocol Engines
  14. ================
  15. The protocol engines are responsible for both applying and retrieving the
  16. network packet's security attributes. If any translation between the network
  17. security attributes and those on the host are required then the protocol
  18. engine will handle those tasks as well. Other kernel subsystems should
  19. refrain from calling the protocol engines directly, instead they should use
  20. the NetLabel kernel security module API described below.
  21. Detailed information about each NetLabel protocol engine can be found in this
  22. directory.
  23. Communication Layer
  24. ===================
  25. The communication layer exists to allow NetLabel configuration and monitoring
  26. from user space. The NetLabel communication layer uses a message based
  27. protocol built on top of the Generic NETLINK transport mechanism. The exact
  28. formatting of these NetLabel messages as well as the Generic NETLINK family
  29. names can be found in the 'net/netlabel/' directory as comments in the
  30. header files as well as in 'include/net/netlabel.h'.
  31. Security Module API
  32. ===================
  33. The purpose of the NetLabel security module API is to provide a protocol
  34. independent interface to the underlying NetLabel protocol engines. In addition
  35. to protocol independence, the security module API is designed to be completely
  36. LSM independent which should allow multiple LSMs to leverage the same code
  37. base.
  38. Detailed information about the NetLabel security module API can be found in the
  39. 'include/net/netlabel.h' header file as well as the 'lsm_interface.txt' file
  40. found in this directory.