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)

Disabling SELinux


Perhaps a weird chapter to begin with, but disabling SELinux is a commonly requested activity. Some vendors do not support their application to be running on a platform that has SELinux enabled. Luckily, this number is reducing.

SELinux supports three major states that it can be in: disabled, permissive, and enforcing. These states are by default set in the /etc/selinux/config file, through the SELINUX variable as follows:

$ grep ^SELINUX= /etc/selinux/config
SELINUX=enforcing

When the system init triggers loading the SELinux policy, the code checks the state that the administrator has configured. The states are described as follows:

  • If the state is disabled, then the SELinux code disables further support, making the system boot without activating SELinux.

  • If the state is permissive, then SELinux is active but will not enforce its policy on the system. Instead, any violations against the policy will be reported but remain allowed.

  • If the state is enforcing, then SELinux is...