Book Image

SELinux System Administration

By : Sven Vermeulen
Book Image

SELinux System Administration

By: Sven Vermeulen

Overview of this book

NSA Security-Enhanced Linux (SELinux) is a set of patches and added utilities to the Linux kernel to incorporate a strong, flexible, mandatory access control architecture into the major subsystems of the kernel. With its fine-grained yet flexible approach, it is no wonder Linux distributions are firing up SELinux as a default security measure. SELinux System Administration covers the majority of SELinux features through a mix of real-life scenarios, descriptions, and examples. Everything an administrator needs to further tune SELinux to suit their needs are present in this book. This book touches on various SELinux topics, guiding you through the configuration of SELinux contexts, definitions, and the assignment of SELinux roles, and finishes up with policy enhancements. All of SELinux's configuration handles, be they conditional policies, constraints, policy types, or audit capabilities, are covered in this book with genuine examples that administrators might come across. By the end, SELinux System Administration will have taught you how to configure your Linux system to be more secure, powered by a formidable mandatory access control.
Table of Contents (13 chapters)

Summary


SELinux by default uses access controls based on the TCP and UDP ports and the sockets that are bound on them. This is configurable through the semanage command. More advanced communication control can be accomplished through Linux netfilter support, using the SECMARK labeling, and through peer labeling.

In case of SECMARK labeling, local firewall rules are used to map contexts to packets, which are then governed through SELinux policy. In case of peer labeling, either the application context itself (in case of labeled IPSec) or its sensitivity level (in case of netfilter/CIPSO support) is used. This allows an almost application-to-application network flow control through SELinux policies.

In the next chapter, we will see how to enhance the SELinux policy ourselves, not only through the SELinux Booleans already available, but also through the creation of additional types (which can be used for the SECMARK labeling), user domains, application policies, and many more.