<?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.11 2011/04/25 20:12:59 zorry Exp $ -->

<book link="selinux-handbook.xml">
<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>3.00</version>
<date>2010-12-01</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>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>

<!--
  Removed for the time being, not critical.
  Moved to next major version of handbook.

<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>SELinux Commands</title>
<abstract>
Before we start with SELinux, we first take a step back and get to know a few
commands. As we are currently running a SELinux enabled system (but in
permissive mode) we can now get acquainted with the various SELinux-specific
commands.
</abstract>
  <include href="hb-using-commands.xml"/>
</chapter>

<chapter>
<title>Running in Permissive Mode</title>
<abstract>
Once SELinux is active, we first start by running the system in permissive mode.
In this chapter, we tell you how to get acquainted with SELinux more in-depth
with live command information, but without interfering with the standard access
controls (i.e. in permissive mode).
</abstract>
  <include href="hb-using-permissive.xml"/>
</chapter>

<chapter>
<title>Switching to Enforcing Mode</title>
<abstract>
Once you believe that the system can be ran in enforcing mode, we switch the
system to verify if this is true. Once verified, the next step is to (re)boot in
enforcing mode. Finally, if we are confident that the enforcing is working
properly and that the system is still doing its job correctly, we fix the
enforcing mode so that it cannot be disabled anymore.
</abstract>
  <include href="hb-using-enforcing.xml"/>
</chapter>

<chapter>
<title>Adding SELinux Policy Modules</title>
<abstract>
Far from all packages where SELinux policy modules are available for have a
corresponding package in Gentoo/Hardened. In this chapter, we help you to add
more modules yourself or create your own modules for those packages that have no
SELinux policies yet.
</abstract>
  <include href="hb-using-policymodules.xml"/>
</chapter>
</part>

<part>
<title>Appendices</title>
<abstract>
Additional resources and referenced materials within this book are mentioned in
this appendix.
</abstract>

<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-appendix-troubleshoot.xml"/>
</chapter>

<chapter>
<title>SELinux Reference Material</title>
<abstract>
This Gentoo Hardened SELinux handbook gives a first introduction to SELinux and
how it is integrated in Gentoo Hardened. But more seasoned administrators will
most definitely want to read up on the more advanced uses (and managerial
challenges) of SELinux - which we definitely recommend. A non-exhaustive list is
compiled in this chapter.
</abstract>
  <include href="hb-appendix-reference.xml" />
</chapter>
</part>

</book>
