Security-Enhanced Linux: Difference between revisions
Updated demo machine links |
m =See also= removed duplicate link |
||
Line 28: | Line 28: | ||
==See also== |
==See also== |
||
*[[secure computing]] |
|||
*[[computer security]] |
*[[computer security]] |
||
*[[Capability (computers)|capability]] |
*[[Capability (computers)|capability]] |
Revision as of 17:09, 27 May 2004
Security-Enhanced Linux (SELinux) is a Security-Enhanced version of GNU/Linux, which was primarily developed by the US National Security Agency (NSA) and released to the open source development community.
- "NSA Security-enhanced Linux is a set of patches to the Linux kernel and some utilities to incorporate a strong, flexible mandatory access control (MAC) architecture into the major subsystems of the kernel. It provides a mechanism to enforce the separation of information based on confidentiality and integrity requirements, which allows threats of tampering and bypassing of application security mechanisms to be addressed and enables the confinement of damage that can be caused by malicious or flawed applications. It includes a set of sample security policy configuration files designed to meet common, general-purpose security goals."
Security-enhanced Linux is a research prototype of the Linux kernel and a number of utilities with enhanced security functionality designed simply to demonstrate the value of mandatory access controls to the Linux community and how such controls could be added to Linux. The Security-enhanced Linux kernel contains new architectural components originally developed to improve the security of the Flask operating system. These architectural components provide general support for the enforcement of many kinds of mandatory access control policies, including those based on the concepts of type enforcement, role-based access control, and multi-level security.
The security-enhanced Linux kernel enforces mandatory access control policies that confine user programs and system servers to the minimum amount of privilege they require to do their jobs. When confined in this way, the ability of these user programs and system daemons to cause harm when compromised (via buffer overflows or misconfigurations, for example) is reduced or eliminated. This confinement mechanism operates independently of the traditional Linux access control mechanisms. It has no concept of a "root" super-user, and does not share the well-known shortcomings of the traditional Linux security mechanisms (such as a dependence on setuid/setgid binaries).
The security of an unmodified Linux system depends on the correctness of the kernel, all the privileged applications, and each of their configurations. A problem in any one of these areas may allow the compromise of the entire system. In contrast, the security of a modified system based on the security-enhanced Linux kernel depends primarily on the correctness of the kernel and its security policy configuration. While problems with the correctness or configuration of applications may allow the limited compromise of individual user programs and system daemons, they do not pose a threat to the security of other user programs and system daemons or to the security of the system as a whole. SELinux merged with the 2.6 series Linux Kernel.
Features
- Clean separation of policy from enforcement
- Well-defined policy interfaces
- Independent of specific policies and policy languages
- Independent of specific security label formats and contents
- Individual labels and controls for kernel objects and services
- Caching of Access decisions for efficiency
- Support for policy changes
- Controls over process initialization and inheritance and program execution
- Controls over sile systems, directories, files, and open file descriptions
- Controls over sockets, messages, and network interfaces
- Controls over use of "capabilities"
See also
External links
- US National Security Agency's Security-Enhanced Linux website
- NSA press release: NSA shares security enhancements to Linux
- FreshMeat's Security-Enhanced Linux project page
- SELinux (UnOfficial) FAQ
- SELinux demo machine -- Fedora-based
- SELinux demo machine -- Debian-based
- SELinux demo machine -- Gentoo-based