Book Image

SELinux System Administration - Second Edition

By : Sven Vermeulen
Book Image

SELinux System Administration - Second Edition

By: Sven Vermeulen

Overview of this book

Do you have the crucial job of protecting your private and company systems from malicious attacks and undefined application behavior? Are you looking to secure your Linux systems with improved access controls? Look no further, intrepid administrator! This book will show you how to enhance your system’s secure state across Linux distributions, helping you keep application vulnerabilities at bay. This book covers the core SELinux concepts and shows you how to leverage SELinux to improve the protection measures of a Linux system. You will learn the SELinux fundamentals and all of SELinux’s configuration handles including conditional policies, constraints, policy types, and audit capabilities. These topics are paired with genuine examples of situations and issues you may come across as an administrator. In addition, you will learn how to further harden the virtualization offering of both libvirt (sVirt) and Docker through SELinux. By the end of the book you will know how SELinux works and how you can tune it to meet your needs.
Table of Contents (16 chapters)
SELinux System Administration - Second Edition
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface

Creating new application domains


By default, Linux distributions come with many prepackaged application domains. However, we will most likely come across situations where we need to build our own application policy or include a custom policy that is offered through third-party means.

Unlike users and roles, application domains usually have file context-related information with them.

Creating the mojomojo.* files

The following SELinux policy is for mojomojo, an open source, catalyst-based wiki. The code is pretty lightweight as it is a relatively simple web application (infrastructure-wise). In it, we call the apache_content_template(), which provides most of the necessary rules out of the box:

# cat mojomojo.te 
policy_module(mojomojo, 1.1.0) 
 
# Create all types based on the apache content template 
apache_content_template(mojomojo) 
 
# Only call creation of alias on RHEL systems 
ifdef(`distro_rhel',` 
  apache_content_alias_template(mojomojo,mojomojo...