<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE book SYSTEM "/dtd/book.dtd">

<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/proj/en/hardened/selinux/selinux-handbook.xml,v 1.14 2012/03/28 18:54:56 swift Exp $ -->

<book>
<title>Gentoo SELinux Handbook</title>

<author title="Author">
  <mail link="pebenito@gentoo.org">Chris PeBenito</mail>
</author>
<author title="Author">
  <mail link="sven.vermeulen@siphos.be">Sven Vermeulen</mail>
</author>
<author title="Author">
  Chris Richards
</author>

<abstract>
This is the Gentoo SELinux Handbook.
</abstract>

<!-- The content of this document is licensed under the CC-BY-SA license -->
<!-- See http://creativecommons.org/licenses/by-sa/1.0 -->
<license/>

<version>4</version>
<date>2011-09-18</date>

<part>
<title>Introduction to Gentoo/Hardened SELinux</title>
<abstract>
In this part we cover what SELinux is and how it is positioned within the
Gentoo/Hardened project.
</abstract>

<chapter>
<title>Enhancing Linux Security</title>
<abstract>
Security is more than enabling a certain framework or installing a different
Linux kernel. It is a way of working / administrating your Gentoo Linux system.
We cover a few (generic) best practices, and then elaborate on what Mandatory 
Access Control is and how SELinux fills in this gap.
</abstract>
  <include href="hb-intro-enhancingsecurity.xml"/>
</chapter>

<chapter>
<title>SELinux Concepts</title>
<abstract>
To be able to properly work with SELinux, it is vital that you understand a few
of its concepts like domains, domain transitions and file contexts. Without 
a basic understanding of these aspects, it will be difficult to understand
how SELinux policies work and how to troubleshoot if things go wrong.
</abstract>
  <include href="hb-intro-concepts.xml"/>
</chapter>

<chapter>
<title>SELinux Resources</title>
<abstract>
To get more acquainted with SELinux, many resources exist on the Internet.
In this chapter we give a quick overview of the various resources as well
as places where you can get more help when you are fighting with SELinux.
</abstract>
  <include href="hb-intro-resources.xml"/>
</chapter>

<!-- 
<chapter>
<title>The SELinux (Reference) Policy</title>
<abstract>
To streamline SELinux policy development, a reference policy is being developed
that is used by all SELinux-supporting distributions. In this chapter we give 
some intel on what this reference policy is and why it is brought to life, but
also how this policy functions and how its development is progressing. We also
cover the basics on SELinux policies in general.
</abstract>
  <include href="hb-intro-referencepolicy.xml"/>
</chapter>

<chapter>
<title>SELinux Virtual Machine Support</title>
<abstract>
SELinux support is being actively integrated in libvirt and other
virtualization frameworks to elevate the security of virtualized
environments. Within this chapter we give you a first introduction
on how this is done for libvirt managed environments and what you need to take
into account if you wish to use SELinux within your virtualized environment.
</abstract>
  <include href="hb-intro-virtualization.xml"/>
</chapter>
-->
</part>

<part>
<title>Using Gentoo/Hardened SELinux</title>
<abstract>
With the theoretic stuff behind us, let us start by installing Gentoo/Hardened
with a SELinux kernel as well as the SELinux tools.
</abstract>

<chapter>
<title>Gentoo SELinux Installation / Conversion</title>
<abstract>
To set up SELinux within Gentoo/Hardened, you first need to install Gentoo with
the correct Hardened profile (or convert to the Hardened profile) and then
update your system to become a SELinux-managed system. This chapter will guide
you through this process.
</abstract>
  <include href="hb-using-install.xml"/>
</chapter>

<chapter>
<title>Configuring SELinux For Your Needs</title>
<abstract>
With SELinux now "installed" and enabled (although in permissive mode), we now
configure it to suit your particular needs. After all, SELinux is a Mandatory
Access Control system where you, as security administrator, define what is
allowed and what not.
</abstract>
  <include href="hb-using-configuring.xml"/>
</chapter>

<chapter>
<title>SELinux Commands</title>
<abstract>
Let's take a step back and get to know a few more commands. We covered most of
them in the previous section, but we will now dive a bit deeper in its
syntax, features and potential pitfalls.
</abstract>
  <include href="hb-using-commands.xml"/>
</chapter>

<chapter>
<title>Permissive, Unconfined, Disabled or What Not...</title>
<abstract>
Your system can be in many SELinux states. In this chapter, we help you switch
between the various states / policies.
</abstract>
  <include href="hb-using-states.xml"/>
</chapter>

<chapter>
<title>Modifying the Gentoo Hardened SELinux Policy</title>
<abstract>
Gentoo Hardened offers a default policy, but this might not allow what you want
(or allows too much). In this chapter we tell you how you can tweak Gentoo's
policy, or even run your own.
</abstract>
  <include href="hb-using-policies.xml"/>
</chapter>

<chapter>
<title>Troubleshooting SELinux</title>
<abstract>
Everything made by a human can and will fail. In this chapter we will try to
keep track of all potential issues you might come across and how to resolve
them. 
</abstract>
  <include href="hb-using-troubleshoot.xml"/>
</chapter>
</part>

<!--
<part>
<title>Advanced SELinux</title>
<abstract>
SELinux can be much more integrated in the system. In this part, we describe how
to enhance SELinux configurations, tuning and securing your system even more.
</abstract>

<chapter>
<title>Working with MLS</title>
<abstract>
...
</abstract>
  <include href="hb-advanced-mls.xml"/>
</chapter>

<chapter>
<title>Using s(ecure) Virt(ualization)</title>
<abstract>
...
</abstract>
  <include href="hb-advanced-svirt.xml"/>
</chapter>

<chapter>
<title>Using Netlabel</title>
<abstract>
...
</abstract>
  <include href="hb-advanced-netlabel.xml"/>
</chapter>
</part>
-->

</book>
