Red Hat Linux Training

Linux Security Administration

Learn about Linux from Instructors with Real World Expertise.

This 5 day course is a highly technical course focusing on properly securing machines running the Linux operating system.

Overview:

This highly technical course focuses on properly securing machines running the Linux operating systems. A broad range of general security techniques such as packet filtering, password policies, and file integrity checking are covered. Advanced security technologies such as Kerberos and SELinux are taught. Special attention is given to securing commonly deployed network services. At the end of the course, students have an excellent understanding of the potential security vulnerabilities — know how to audit existing machines,
and how to securely deploy new network services.

Target Audience:

  • Architects
  • System Administrators
  • Developers

Structure: 50% theory 50% hands on lab exercises

Prerequisites: This class covers advanced security topics and is intended for experienced systems administrators. Candidates should have current Linux or UNIX systems administration experience equivalent to the Linux Fundamentals, Linux Systems Administration, and Linux Network Services.

Duration: 5 days

Course Outline:

Security Concepts

Overview:

  • Basic Security Principles
  • RHEL7 Default Install
  • RHEL7 Firewall
  • SLES12 Default Install
  • SUSE Basic Firewall Configuration
  • SLES12: File Security
  • Minimization – Discovery
  • Service Discovery
  • Hardening 10 Security Concepts

Lab Tasks

  • Removing Packages Using RPM
  • Firewall Configuration
  • Process Discovery
  • Operation of the setuid() and capset() System Calls
  • Operation of the chroot() System Call

Password Security and PAM

Overview:

  • Unix Passwords
  • Password Aging
  • Auditing Passwords
  • PAM Overview
  • PAM Module Types
  • PAM Order of Processing
  • PAM Control Statements
  • PAM Modules
  • Pam_unix
  • Pam_cracklib.so
  • Pam_pwcheck.so
  • Pam_env.so
  • Pam_xauth.so
  • Pam_tally2.so
  • Pam_wheel.so
  • Pam_limits.so
  • Pam_nologin.so
  • Pam_deny.so
  • Pam_warn.so
  • Pam_securetty.so
  • Pam_time.so
  • Pam_access.so
  • Pam_listfile.so
  • Pam_lastlog.so
  • Pam_console.so

Lab Tasks:

  • John the Ripper
  • Cracklib
  • Using pam_list file to Implement Arbitrary ACLs
  • Using pam_limits to Restrict Simultaneous Logins
  • Using pam_nologin to Restrict Logins
  • Using pam_access to Restrict Logins
  • SU & pam

Secure Network Time Protocol

Overview:

  • The Importance of Time
  • Hardware and System Clock
  • Time Measurements
  • NTP Terms and Definitions
  • Synchronization Methods
  • NTP Evolution
  • Time Server Hierarchy
  • Operational Modes
  • NTP Clients
  • Configuring NTP Clients
  • Configuring NTP Servers
  • Securing NTP
  • NTP Packet Integrity
  • Useful NTP Commands

Lab Tasks:

  • Configuring and Securing NTP
  • Peering NTP with Multiple Systems

Kerberos Concepts and Components

Overview:

  • Common Security Problems
  • Account Proliferation
  • The Kerberos Solution
  • Kerberos History
  • Kerberos Implementations
  • Kerberos Concepts
  • Kerberos Principals
  • Kerberos Safeguards
  • Kerberos Components
  • Authentication Process
  • Identification Types
  • Logging In
  • Gaining Privileges
  • Using Privileges
  • Kerberos Components and the KDC
  • Kerberized Services Review
  • KDC Server Daemons
  • Configuration Files 19 Utilities Overview

Implementing Kerberos

Overview:

  • Plan Topology and Implementation
  • Kerberos Client Software
  • Kerberos Server Software
  • Synchronize Clocks
  • Create Master KDC
  • Configuring the Master KDC
  • KDC Logging
  • Kerberos Realm Defaults
  • Specifying [realms]
  • Specifying [domain_realm]
  • Allow Administrative Access
  • Create KDC Databases
  • Create Administrators
  • Install Keys for Services
  • Start Services
  • Add Host Principals
  • Add Common Service Principals
  • Configure Slave KDCs
  • Create Principals for Slaves
  • Define Slaves as KDCs
  • Copy Configuration to Slaves
  • Install Principals on Slave
  • Synchronization of Database
  • Propagate Data to Slaves
  • Create Stash on Slaves
  • Start Slave Daemons
  • Client Configuration
  • Install krb5.conf on Clients
  • Client PAM Configuration
  • Install Client Host Keys

Lab Tasks:

  • Implementing Kerberos

Administering and Using Kerberos

Overview:

  • Administrative Tasks
  • Key Tables
  • Managing Keytabs
  • Managing Principals
  • Viewing Principal
  • Adding, Deleting, and Modifying Principals
  • Principal Policy
  • Overall Goals for Users
  • Signing In to Kerberos
  • Ticket types
  • Viewing Tickets
  • Removing Tickets
  • Passwords
  • Changing Passwords
  • Giving Others Access
  • Using Kerberized Services
  • Kerberized FTP
  • Enabling Kerberized Services
  • OpenSSH and Kerberos

Lab Tasks:

  • Using Kerberized Clients
  • Forwarding Kerberos Tickets
  • OpenSSH with Kerberos
  • Wireshark and Kerberos

Securing the Filesystem

Overview:

  • Filesystem Mount Options
  • NFS Properties
  • NFS Export Option
  • NFS and GSSAPI Auth
  • Implementing NFS
  • Implementing Kerberos with NFS
  • GPG – GNU Privacy Guard
  • File Encryption with OpenSSL
  • File Encryption With encfs
  • Linux Unified Key Setup (LUKS)

Lab Tasks:

  • Securing Filesystems
  • Securing NFS
  • Implementing NFS
  • File Encryption with GPG
  • File Encryption With OpenSSL
  • LUKS-on-disk format Encrypted Filesystem

AIDE

Overview:

  • Host Intrusion Detection Systems
  • Using RPM as a HIDS
  • Introduction to AIDE
  • AIDE Installation
  • AIDE Policies
  • AIDE Usage

Lab Tasks:

  • File Integrity Checking with RPM
  • File Integrity Checking with AIDE

Accountability with Kernel Auditd

Overview:

  • Accountability and Auditing
  • Simple Session Auditing
  • Simple Process Accounting & Command History
  • Kernel-Level Auditing
  • Configuring the Audit Daemon
  • Controlling Kernel Audit System
  • Creating Audit Rules
  • Searching Audit Logs
  • Generating Audit Log Reports
  • Audit Log Analysis

Lab Tasks:

  • Auditing Login/Logout
  • Auditing File Access
  • Auditing Command Execution

SELinux

Overview:

  • DAC vs. MAC
  • Shortcomings of Traditional Unix Security
  • AppArmor
  • SELinux Goals
  • SELinux Evolution
  • SELinux Modes
  • Gathering SELinux Information
  • SELinux Virtual Filesystem
  • SELinux Contexts
  • Managing Contexts
  • The SELinux Policy
  • Choosing an SELinux Policy
  • Policy Layout
  • Tuning and Adapting Policy
  • Booleans
  • Permissive Domains
  • Managing File Contexts
  • Managing Port Contexts
  • SELinux Policy Tools
  • Examining Policy
  • SELinux Troubleshooting

Lab Tasks:

  • Exploring SELinux Modes
  • Exploring AppArmor Modes
  • SELinux Contexts in Action
  • Exploring AppArmor
  • Managing SELinux Booleans
  • Creating Policy with Audit2allow
  • Creating & Compiling Policy from Source

Securing Apache

Overview:

  • Apache Overview
  • Httpd.conf – Server Settings
  • Configuring CGI
  • Turning Off Unneeded Modules
  • Delegating Administration
  • Apache Access Controls (mod_access)
  • HTTP User Authentication
  • Standard Auth Modules
  • HTTP Digest Authentication
  • TLS Using mod_ssl.so
  • Authentication via SQL
  • Authentication via LDAP
  • Authentication via Kerberos
  • Scrubbing HTTP Headers
  • Metering HTTP Bandwidth

Lab Tasks:

  • Hardening Apache by Minimizing Loaded Modules
  • Scrubbing Apache & PHP Version Headers
  • Protecting Web Content
  • Protecting Web Content
  • Using the suexec Mechanism
  • Create a TLS CA key pair
  • Using SSL CA Certificates with Apache
  • Enable Apache SSL Client Certificate Authentication
  • Enabling SSO in Apache with mod_auth_kerb

Securing PostgreSQL

Overview:

  • PostgreSQL Overview
  • PostgreSQL Default Config
  • Configuring TLS
  • Client Authentication Basics
  • Advanced Authentication
  • Ident-based Authentication

Lab Tasks:

  • Configure PostgreSQL
  • PostgreSQL with TLS
  • PostgreSQL with Kerberos Authentication
  • Securing PostgreSQL with Web Based Applications

Securing Email Systems

Overview:

  • SMTP Implementations
  • Security Considerations
  • chrooting Postfix
  • Email with GSSAPI/Kerberos Auth

Lab Tasks:

  • Postfix In a Change Root Environment

Postfix

Overview:

  • Postfix Features
  • Postfix Architecture
  • Postfix Components
  • Postfix Configuration
  • Master.cf
  • Main.cf
  • Postfix Map Types
  • Postfix Pattern Matching
  • Advanced Postfix Options
  • Virtual Domains
  • Postfix Mail Filtering
  • Configuration Commands
  • Management Commands
  • Postfix Logging
  • Logfile Analysis
  • Postfix, Relaying and SMTP AUTH
  • SMTP AUTH Server and Relay Control
  • SMTP AUTH Clients
  • Postfix / TLS
  • TLS Server Configuration
  • Postfix Client Configuration for TLS
  • Other TLS Clients
  • Ensuring TLS Security

Lab Tasks:

  • Configuring Postfix
  • Postfix Virtual Host Configuration
  • Postfix Network Configuration
  • Postfix SMTP AUTH Configuration
  • Postfix STARTTLS Configuration

Looking for something else? View all courses

Start Learning

Learn from Instructors with Real World Expertise