Appendix A.
Brief Background and History of SELinux
SELinux was originally a development project from the National Security Agency (NSA)
1
and others.
It is an implementation of the Flask operating system security architecture
2
. The Flask architecture
implements MAC, which focuses on providing an administratively defined security policy that can
control all subjects and objects, basing decisions on all security relevant information. In addition,
Flask focuses on the concept of least privilege, which gives a process exactly the rights it needs to
perform it's given task.
The Flask model allows you to express a security policy in a naturally flowing manner, so that parts
of the security rules are like parts in a sentence. In Flask, changes are supported so you can tune your
policy. Added to this architecture in the security server are TE and RBAC security models, providing
fine grained controls that can be transparent to users and applications.
As a next step in the evolution of SELinux, the NSA integrated SELinux into the Linux kernel us 
ing the Linux Security Modules (LSM) framework. SELinux motivated the creation of LSM, at the
suggestion of Linus Torvalds, who wanted a modular approach to security instead of accepting just
SELinux into the kernel.
Originally, the SELinux implementation used persistent security IDs (PSIDs) stored in an unused
field of the ext2 inode. These numerical representations (i.e., non human readable) were mapped by
SELinux to a security context label. Unfortunately, this required modifying each file system type to
support PSIDs, so was not a scalable solution or one that would be supported upstream in the Linux
kernel.
The next evolution of SELinux was as a loadable kernel module for the 2.4. x
series of Linux
m
n
kernels. This module stored PSIDs in a normal file, and SELinux was able to support more file sys 
tems. This solution was not optimal for performance, and was inconsistent across platforms. Finally,
the SELinux code was integrated upstream to the 2.6.x kernel, which has full support for LSM and
has extended attributes (xattrs) in the ext3 file system. SELinux was moved to using xattrs to store
security context information. The xattr namespace provides useful separation for multiple security
modules existing on the same system.
Much of the work to get the kernel ready for upstream, as well as subsequent SELinux development,
has been a joint effort between the NSA, Red Hat, and the community of SELinux developers.
For
more
information
about
the
history
of
SELinux,
the
definitive
website
is
http://www.nsa.gov/selinux/.
1. The NSA is the cryptologic agency of the United States of America's Federal government, charged
with information assurance and signals intelligence. You can read more about the NSA at their website,
http://www.nsa.gov/about/.
2. Flask grew out of a project that integrated the Distributed Trusted Operating System (DTOS) into the Fluke
research operating system. Flask was the name of the architecture and the implementation in the Fluke operating
system.






footer




 

 

 

 

 Home | About Us | Network | Services | Support | FAQ | Control Panel | Order Online | Sitemap | Contact

adult web hosting

 

Our partners: PHP: Hypertext Preprocessor Best Web Hosting Java Web Hosting Inexpensive Web Hosting  Jsp Web Hosting

Cheapest Web Hosting Jsp Hosting Cheap Hosting

Visionwebhosting.net Business web hosting division of Web Design Plus. All rights reserved