Linux Level 3 - Linux Security Training

We offer private customized training for groups of 3 or more attendees.

Course Description

This five-day course provides students with the knowledge to perform system administration tasks relating to kernel management and system security. These topics include the proc filesystem configuration, kernel rebuilds and backups as well as log file maintenance. The course moves into security issues including physical security of the host and console, user and system accounts, network and firewall security and software security. The course ends with intrusion detection techniques.
Course Length: 5 Days
Course Tuition: $2090 (US)


Linux Level 2 or equivalent experience.

Course Outline


The proc File System
What is the proc File System?
Viewing System Information
Viewing Process Information
Viewing and Changing Kernel Features
The sysctl Command
The /etc/sysctl.conf File

Loadable Kernel Modules
What are Loadable Kernel Modules?
Loading LKMs
Displaying LKMs
Unloading LKMs
Loading Modules that have Dependencies

Rebuilding the Kernel
Kernel Source Files
Extract the Source Files
Apply the Patch Files
Initial Configuration Steps
Configure the 2.4 Kernel
Configure the 2.6 Kernel
Building the Kernel
Using the New Kernel
Building a Red Hat Enterprise Linux Kernel
Kernel Parameters

Log File Administration
System Log Daemons
The /etc/syslog.conf File
The /etc/sysconfig/syslog File
Default System Log Files
Using logrotate to Maintain Log Files
Using logwatch to Monitor Log Files
Using redhat-logviewer to Monitor Log Files
Generating Messages with logger

Backing Up Data
Backup Media
Backup Methods
Device Files
Using the dump and restore Commands
Using the tar Commands
Using the gzip Command
Using the zip Command
Using the bzip2 Command
Using the cpio Command
Additional Utilities

Security Overview
What is Security?
Staying Up to Date
Thinking like the Enemy
What is a Security Policy?
Step 1 - Initially Secure the System
Step 2 - Maintain System Security
Step 3 - Recovery

Physical Security
What is Physical Security?
Access Protection
Protecting BIOS
Protecting the Boot Loader
Disabling Reboots
Using vlock
Natural Disasters
Hardware Error

Securing User Accounts
Account Names
Mail Aliases
The /etc/passwd, /etc/shadow, /etc/group and /etc/gshadow Files
Displaying User Information
Users and their Passwords
Users with no Passwords
Forcing Users to Change their Password
Preventing Users from Changing their Password
Application Accounts
Same UID, Multiple User Accounts
Setting Accounts Defaults
Process Accounting
Securing System Accounts
Securing the Root Account
Root Password and Name
The root's PATH Variable
Physically Protecting the root Account
Disallowing root Access
Limiting Access to root via su
Enabling Automatic Logouts
Granting root Access via the sudo Command
Securing System Accounts

Securing The Filesystem
File Permissions and Ownership
Disk Space Usage
Securing crontab and at
File Attributes
File System mount Options

What is PAM?
Syntax of PAM configuration files
PAM categories
PAM controls
PAM Modules
Using PAM to alter the password policy
Using PAM to provide resource limits
Using PAM to limit services
Using PAM to limit access time to services
Disabling console privileges
Other PAM features

TCP Wrappers
The configuration files
Syntax of /etc/hosts.allow and /etc/hosts.deny
Using tcp_wrappers banners
Logging tcp_wrappers connections
Avoiding using two configuration files
Using spawn and twist
Additional tcp_wrappers options

Kernel level firewalls in Linux
Overview of iptables
Overview of filtering packets
Filtering incoming packets on the local system
Filtering outgoing packets on the local system
Using NAT
Saving tables

The xinetd Service
The /etc/xinetd.conf File
The /etc/xinetd.d Directory
Important Attributes for xinetd-based Services
Additional xinetd Considerations

Intrusion Detection
Performing the intrusion detection
Monitoring network activity
Probing for modified files
Third party tools

Appendix A - Preparing for Certification Exams

Appendix B - Preparing for RHCE and RHCT Exams

Appendix C - Preparing for the LPI Exams

Appendix D - Preparing for the Linux+ Exam

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Linux Unix Uses & Stats

Linux Unix is Used For:
Desktop Mainframe Computers Mobile Devices Embedded Devices
Year Created
Linux supports many efficient tools and operates them seamlessly. Because it's architecture is lightweight it runs faster than both Windows 8.1 and 10. 
Because Linux is an open-source software,  anyone can contribute code to help enhance the users’ experience i.e., adding features, fixing bugs, reducing security risks, and more.
Software Development:
The terminal in Linux is a *wild card*. You can do almost anything with it. This includes software installation, application and server configurations, file system management, and etc.
Open-source projects benefit from having an attentive community. As a result, Linux is more secure than Windows. Instead of installing anti viruses to clean malware, you just have to stick to the recommended repositories. 
Developers have the convenience of running servers, training machine learning models, accessing remote machines, and compiling and running scripts from the same terminal window. 
Linux is free (you can put it on as many systems as you like) and you can change it to suit your needs.
Learning Curve: 
Linux is not for everyone, there is a learning curve in switching to Ubuntu. To actually learn Linux efficiently would take a user one to several years.
No Tech Support:
Unlike Windows, there isn’t a dedicated tech support, so getting help for things is up to you. 
Designer Compatabilty:
Linux is not as user friendly as Windows or as ‘straight out of the box design’ As an example for design choices, Adobe hasn’t released any of its products to Linux users. So it’s impossible to run them directly. The Ubuntu alternative is a free software called GIMP. 
Gaming Capabilities: 
Most games aren’t available in Linux. But that’s not to say you can’t make it happen, it's just not as easy.   
Linux Unix Job Market
Average Salary
Job Count
Top Job Locations

New York City
San Francisco 

Complimentary Skills to have along with Linux Unix
The following are types of jobs that may require Linux skills.  The top 15 job titles on that mention Linux in their postings are:
- DevOps Engineer
- Software Engineer
- Java Developer
- Systems Engineer
- Systems Administrator
- Senior Software Engineer
- Network Engineer
- Python Developer
- Linux Systems Administrator
- Software Developer
- System Administrator
- Linux Administrator
- Linux Engineer
- Senior Java Developer
- C++ Developer

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.