Karl MacMillan 65a27e

Project Overview

Karl MacMillan 65a27e

Chris PeBenito c2ecf0
The SELinux Reference Policy project (refpolicy) is creating a complete SELinux
Chris PeBenito c2ecf0
policy as an alternative to the existing strict and targeted policies available
Chris PeBenito c2ecf0
from http://selinux.sf.net. Once complete,
Chris PeBenito c2ecf0
this policy will be able to be used as the system policy for a variety of
Chris PeBenito c2ecf0
systems and used as the basis for creating other policies. Refpolicy is based on
Chris PeBenito c2ecf0
the current strict and targeted policies, but aims to accomplish many additional
Chris PeBenito c2ecf0
goals.
Karl MacMillan 9f945b

Karl MacMillan a585f3

Karl MacMillan a585f3

Chris PeBenito c2ecf0
Refpolicy is under active development, with support and full time development
Chris PeBenito c2ecf0
staff from Tresys Technology. The
Chris PeBenito 698a4a
current release is available from the download
Chris PeBenito 698a4a
page.  The status page has more details on
Chris PeBenito f3791f
what is included in the current release.
Chris PeBenito f3791f

Chris PeBenito f3791f

Chris PeBenito f3791f

Chris PeBenito f3791f
The project is always looking for policy developers interested in contributing.
Chris PeBenito f3791f
See the getting started guide for
Chris PeBenito f3791f
more information on writing Refpolicy modules.
Karl MacMillan a585f3

Karl MacMillan 1c5008

Karl MacMillan a585f3

Project Goals

Chris PeBenito c2ecf0

Security is the reason for existence for SELinux policies and must,

Chris PeBenito c2ecf0
therefore, always be the first priority. The common view of security as a binary
Chris PeBenito c2ecf0
state (secure or not secure) is not a sufficient goal for developing an SELinux
Chris PeBenito c2ecf0
policy. In reality, different systems have different requirements and purposes
Chris PeBenito c2ecf0
and corresponding differences in the meaning of secure. What is a fundamental
Chris PeBenito c2ecf0
security flaw on one system might be the acceptable, or even the primary
Chris PeBenito c2ecf0
functionality, of another. The challenge for a system policies like the current
Chris PeBenito c2ecf0
strict and targeted policy or refpolicy is to support as many of these differring
Chris PeBenito c2ecf0
security goals as is practical. To accomplish this refpolicy will provide:
Karl MacMillan a585f3

Karl MacMillan a585f3
    Chris PeBenito f3791f
    	
  • Strong Modularity: central to the design of the policy is
  • Chris PeBenito f3791f
    		strict modularity. Access to resources are abstracted, and
    Chris PeBenito f3791f
    		implementation details are encapsulated in the module.
    Chris PeBenito f3791f
    	
    Chris PeBenito c2ecf0
    	
  • Security Goals: clearly stated security goals will for each
  • Chris PeBenito c2ecf0
    		component of the policy. This will allow policy developers to
    Chris PeBenito c2ecf0
    		determine if a given component meets their security needs.
    Chris PeBenito c2ecf0
    	
    Chris PeBenito f3791f
    	
  • Documentation: the difficulty and complexity of creating
  • Chris PeBenito f3791f
    		SELinux policies has become the number one barrier to the
    Chris PeBenito f3791f
    		adoption of SELinux. It also potentially reduces the security
    Chris PeBenito f3791f
    		of the policies: a policy that is too complex to easily
    Chris PeBenito f3791f
    		understand is difficult to make secure. Refpolicy will make
    Chris PeBenito f3791f
    		aggressive improvements in this area by including documentation
    Chris PeBenito f3791f
    		for modules and their interfaces as a critical part of the
    Chris PeBenito f3791f
    		infrastructure. See the documentation
    Chris PeBenito f3791f
    		page for more information.
    Chris PeBenito f3791f
    	
    Chris PeBenito f3791f
    	
  • Development Tool Support: In addition to documentation,
  • Chris PeBenito f3791f
    		Refpolicy aims to make improvements in this area, making
    Chris PeBenito f3791f
    		policies easier to develop, understand, analyze, and verify by adding
    Chris PeBenito f3791f
    		interface call backtraces which can be used for debugging and
    Chris PeBenito f3791f
    		graphical development tools.
    Chris PeBenito f3791f
    	
    Chris PeBenito f3791f
    	
  • Forward Looking: Refpolicy aims to support a variety of
  • Chris PeBenito f3791f
    		policy configurations and formats, including standard source
    Chris PeBenito f3791f
    		policies, MLS policies, and loadable policy modules
    Chris PeBenito f3791f
    		all from the same source tree. This is done through the addition
    Chris PeBenito f3791f
    		of infrastructure for automatically handling the differences
    Chris PeBenito f3791f
    		between source and loadable module based policies and the
    Chris PeBenito f3791f
    		additional MLS fields to all policy statements that include
    Chris PeBenito f3791f
    		contexts.
    Chris PeBenito f3791f
    	
    Chris PeBenito f3791f
    	
  • Configurability: configuration tools that allow the
  • Chris PeBenito f3791f
    		policy developer to make important security decisions including
    Chris PeBenito f3791f
    		defining roles, configuring networking, and trading legacy
    Chris PeBenito f3791f
    		compatibility for increased security. 
    Chris PeBenito f3791f
    	
    Chris PeBenito c2ecf0
    	
  • Flexible Base Policy: a base policy that protects the basic
  • Chris PeBenito c2ecf0
    		operating system and serves as a foundation to the rest of the
    Chris PeBenito c2ecf0
    		policy. This base policy should be able to support a variety of
    Chris PeBenito c2ecf0
    		application policies with differing security goals.
    Chris PeBenito c2ecf0
    	
    Chris PeBenito c2ecf0
    	
  • Application Policy Variations: application policy variations
  • Chris PeBenito c2ecf0
    		that make different security tradeoffs. For example, two Apache
    Chris PeBenito f3791f
    		policies might be created, one that is for serving read-only
    Chris PeBenito f3791f
    		static content that is severely restricted, and another that is
    Chris PeBenito c2ecf0
    		appropriate for dynamic content.
    Chris PeBenito c2ecf0
    	
    Chris PeBenito c2ecf0
    	
  • Multi-Level Security: MLS will be supported out-of-the-box
  • Chris PeBenito c2ecf0
    		without requiring destructive changes to the policy. It will be
    Chris PeBenito c2ecf0
    		possible to compile and MLS and non-MLS policy from the same
    Chris PeBenito c2ecf0
    		policy files by switching a configuration option.
    Chris PeBenito c2ecf0
    	
    Karl MacMillan a585f3