GL550 Enterprise Linux Security Administration Course Outline

Section 1 Security Concepts Basic Security Principles
  • RHEL/FC/SLES/SL Default Install
  • RH/SUSE Firewall Options and File Security
  • Minimization - Discovery
  • Service Discovery
  • Hardening
  • Security Concepts
    • Lab 1 - Security Concepts Discovering what software packages are installed and removing unneeded packages
    • Using lokkit for firewall configuration
    • Identification of running services and removing unneeded services
    • Increasing security using system calls and chroot
Section 2 Probing, Mapping and Scanning for Vulnerabilities The Security Environment
  • Stealth Reconnaissance
  • The WHOIS database
  • Interrogating DNS
  • Discovering Available Hosts and Applications
  • Reconnaissance with SNMP
  • Discovery of RPC Services
  • Enumerating NFS Shares
  • Nessus Insecurity Scanner and Installation
    • Lab 2 - Probing, Mapping and Nessus Discovery of listening services and remote stack fingerprinting
    • Installing, configuring and testing Nessus insecurity scanner
Section 3 Password Security and PAM Unix Passwords
  • Password Aging
  • Auditing Passwords
  • PAM Implementation, Management, and Control Statements
  • PAM Modules
  • pam_stack.so, pam_unix.so, pam_unix2.so, pam_cracklib.so, pam_pwcheck.so, pam_env.so, pam_xauth..so, pam_tally.so, pam_wheel.so, pam_limits.so, pam_nologin.so, pam_deny.so, pam_securetty.so, pam_time.so, pam_access.so, pam_listfile.so, pam_lastlog.so, pam_warn.so, pam_console.so, pam_resmgr.so, and pam_devperm.so
  • User Device Access: resmgr
    • Lab 3 - Pluggable Authentication Modules Auditing user password quality
    • Creating additional dictionaries for use with cracklib
    • Working with PAM modules
    • Limiting access activities of users and accounts
Section 4 Secure network time protocol (NTP) The Importance of Time
  • Time Measurements and Synchronization Methods
  • NTP Evolution
  • Time Server Hierarchy
  • Operational Modes
  • NTP Clients
  • Configuring NTP Clients and Servers
  • Securing NTP
  • NTP Packet Integrity
  • Useful NTP Commands
    • Lab 4 - Secure NTP Configuring NTP peering
    • Configuring strong authentication on a NTP server
    • Defining Access Control Lists (ACLs) for secure access to NTP server
Section 5 Kerberos Concepts The Computing Landscape
  • Common Security Problems
  • Account Proliferation
  • The Kerberos Solution
  • Kerberos History, Implementations, and Concepts
  • Kerberos Principals, Safeguards, and Components
  • Authentication Process and Identification Types
  • Logging In
  • Gaining and Using Privileges
Section 6 Kerberos Components Kerberos Components
  • Kerberos Principal Review
  • Kerberized Services Review and Clients
  • KDC Server Daemons
  • Configuration Files
  • Utilities Overview
  • Kerberos SysV Init Scripts
Section 7 Implementing Kerberos Plan Topology and Implementation
  • Kerberos 5 Client and Server Software
  • Synchronize Clocks
  • Creating and Configuring the Master KDC
  • KDC Logging
  • Specifying [realms] and [domain_realm]
  • Allow Administrative Access
  • Create KDC Databases and Administrators
  • Install Keys for Services and Start Services
  • Add Host Principals and Common Service Principals
  • Configure Slave KDCs
  • Client Configuration
  • Install krb5.conf on Clients
  • Client PAM Configuration
  • Install Client Host Keys
    • Lab 7-Implementing Kerberos Configuring a master KDC
    • Configuring a slave KDC
    • Configuring a Kerberos client
Section 8 Administrating and Using Kerberos Administrative Tasks
  • Key Tables
  • Managing Keytabs
  • Principals and Managing Principals
  • MIT Principal Policy
  • Viewing Principals
  • MIT Managing Policies
  • Goals for Users
  • Signing Into Kerberos
  • Ticket types and Viewing Tickets
  • GUI Kerberos Ticket Management
  • Removing Tickets
  • Passwords and Changing Passwords
  • Giving Others Access
  • Using Kerberized Services
  • Kerberized FTP
  • Enabling Kerberized Services
  • OpenSSH and Kerberos
    • Lab 8 - Using Kerberized Clients System configuration for use of kerberized client and server applications
    • Using the kerberized telnet to connect via a ticket and encrypt the data for the session
    • Exploring the utility and behavior of forwardable tickets
    • Configuring an OpenSSH server and client to accept and use Kerberos Authentication
    • Testing Kerberos authentication with OpenSSH
Section 9 Securing the filesystem Filesystem Mount Options
  • NFS Properties and NFS Export Option
  • NFSv4 and GSSAPI Auth
  • Implementing NFSv4
  • File Encryption with GPG and OpenSSL
  • Encrypted Loopback FS
    • Lab 9 - Filesystem Security, and File Encryption Modification of filesystem mounting options to increase system security
    • Configuring and securing an NFS share
    • Encrypting and decrypting files using GPG and openssl
    • Setting up a NFSv4 share with GSSAPI/Kerberos authentication
Section 10 Tripwire Host Intrusion Detection
  • Using RPM as an IDS
  • TripWire History and Concepts
  • TripWire Installation, Policies, and Configuration
  • TripWire Commands and General Operation
    • Lab 10 - File integrity checking with rpm / TripWire Verifying the integrity of files on the system and files in a directory
    • Configuring TripWire to monitor files and report changes
Section 11 Securing Apache Apache Overview
  • RH/SUSE Default Configuration
  • Configuring CGI
  • Turning off unneeded modules
  • Configuration Delegation and Scope
  • ACL by IP Address
  • HTTP User Authentication
  • Standard Auth Modules
  • HTTP Digest Authentication
  • Authentication via SQL, LDAP, and Kerberos
  • Scrubbing HTTP Headers
  • Metering HTTP Bandwidth
    • Lab 11- Securing Apache Increasing security and optimizing Apache by disabling unneeded modules
    • Removing Apache and PHP version from HTTP headers
    • Setting up virtual hosts
    • Creating CGI scripts to "deface" another's files and setting permissions against exploit
    • Showing files can be read by virtual host users and employing "suexec" to protect against access
    • Configuring and testing mod_auth_kerb
Section 12 Securing PostgreSQL PostgreSQL Overview and Default Configuration
  • Configuring SSL
  • Authentication Methods and Advanced Authentication
  • Ident-based Authentication
    • Lab 12- Securing PostgreSQL Configuring PostgreSQL to accept remote TCP connections
    • Configuring PostgreSQL to support strong authentication via SSL
    • Configuring PostgreSQL to support Kerberos
    • Setting up and configuring a web based multi-user PHP calendaring application that uses PostgreSQL
    • Configuring Apache to support Kerberos authentication and to require SSL
Section 13 Securing EMail Systems SMTP Overview and Implementations
  • Selecting an MTA
  • Security Considerations
  • Postfix Overview
  • Chrooting Postfix
  • Connections and Relays
  • SMTP AUTH & StartTLS/SSL
  • Secure Cyrus IMAP Config
  • Using GSSAPI/Kerberos Auth
    • Lab 13 - Securing Email Configuring a system to use Postfix
    • Configuring Postfix to listen on the network and accept mail
    • Modifying Postfix’s SysV Init script to setup and maintain the proper environment for chrooting Postfix daemons each time it starts
    • Configuring Postfix to chroot some of its daemons
    • Configuring Postfix to use SMTP AUTH via PAM for secure relaying
    • Configuring Postfix to support STARTTLS to secure SMTP AUTH
    • Configuring Cyrus IMAP with SSL/TLS for IMAPS and POP3 access
    • Configuring Postfix to deliver mail to Cyrus IMAP
    • Setting up Evolution to test Postfix and Cyrus IMAP
    • Generating Kerberos principals for Cyrus IMAP and Postfix
    • Re-Configuring Cyrus IMAP and Postfix to perform GSSAPI/Kerberos authentication
    • Re-Configuring Evolution to preform GSSAPI/Kerberos authentication
Section 14 SELinux Concepts DAC vs. MAC
  • Shortcomings of Traditional UNIX Security
  • SELinux Goals, Terms, and Logical Architecture
  • SELinux in Action
  • Activating and Interfacing SELinux
  • SELinux Commands and Roles
  • Modified System Utilities
    • Lab 14 - SELinux Concepts Installing and initializing SELinux
    • Working with several SELinux management commands to see how roles and contexts are used on the system
Section 15 SELinux Policy SELinux Policies Review
  • Choosing a Policy
  • Compiled Policy Files
  • Policy Source Files
  • M4 Macro Language
  • File Context Files (*.fc)
  • Type Enforcement Files (*.te)
  • Booleans
  • Graphical Policy Tools
  • Policy Analysis
  • Policy Customization
  • Troubleshooting SELinux Problems
    • Lab 15 - SELinux Policy Enabling Strict Policy
    • Changing roles on the system
    • Understanding the difference between how context labels are treated with the cp and mv commands
    • Setting SELinux Boolean Values
    • Modifying the default policy so that users can do a directory listing in /var/log