SUSE Linux Enterprise Desktop 12

Security Guide

Introduces basic concepts of system security, covering both local and network security aspects. Shows how to make use of the product inherent security software like AppArmor or the auditing system that reliably collects information about any security-relevant events.

Publication date: Feb 19 2015
About This Guide
Available Documentation
Feedback
Documentation Conventions
1 Security and Confidentiality
1.1 Local Security and Network Security
1.2 Some General Security Tips and Tricks
1.3 Using the Central Security Reporting Address
I Authentication
2 Authentication with PAM
2.1 What is PAM?
2.2 Structure of a PAM Configuration File
2.3 The PAM Configuration of sshd
2.4 Configuration of PAM Modules
2.5 Configuring PAM Using pam-config
2.6 Manually Configuring PAM
2.7 For More Information
3 Using NIS
3.1 Configuring NIS Servers
3.2 Configuring NIS Clients
4 Authentication Server and Client
4.1 Configuring an Authentication Server
4.2 Configuring an Authentication Client with YaST (SSSD)
5 LDAP—A Directory Service
5.1 LDAP versus NIS
5.2 Structure of an LDAP Directory Tree
5.3 Configuring LDAP Users and Groups in YaST
5.4 For More Information
6 Active Directory Support
6.1 Integrating Linux and AD Environments
6.2 Background Information for Linux AD Support
6.3 Configuring a Linux Client for Active Directory
6.4 Logging In to an AD Domain
6.5 Changing Passwords
7 Network Authentication with Kerberos
7.1 Kerberos Terminology
7.2 How Kerberos Works
7.3 Users' View of Kerberos
7.4 For More Information
II Local Security
8 Configuring Security Settings with YaST
8.1 Security Overview
8.2 Predefined Security Configurations
8.3 Password Settings
8.4 Boot Settings
8.5 Login Settings
8.6 User Addition
8.7 Miscellaneous Settings
9 Authorization with PolKit
9.1 Conceptual Overview
9.2 Authorization Types
9.3 Querying Privileges
9.4 Modifying Configuration Files
9.5 Restoring the Default Privileges
10 Access Control Lists in Linux
10.1 Traditional File Permissions
10.2 Advantages of ACLs
10.3 Definitions
10.4 Handling ACLs
10.5 ACL Support in Applications
10.6 For More Information
11 Encrypting Partitions and Files
11.1 Setting Up an Encrypted File System with YaST
11.2 Using Encrypted Home Directories
11.3 Using vi to Encrypt Single ASCII Text Files
12 Certificate Store
12.1 Activating Certificate Store
12.2 Importing Certificates
13 Intrusion Detection with AIDE
13.1 Why Using AIDE?
13.2 Setting Up an AIDE Database
13.3 Local AIDE Checks
13.4 System Independent Checking
13.5 For More Information
III Network Security
14 SSH: Secure Network Operations
14.1 ssh—Secure Shell
14.2 scp—Secure Copy
14.3 sftp—Secure File Transfer
14.4 The SSH Daemon (sshd)
14.5 SSH Authentication Mechanisms
14.6 Port Forwarding
14.7 Configuring An SSH Daemon with YaST
14.8 For More Information
15 Masquerading and Firewalls
15.1 Packet Filtering with iptables
15.2 Masquerading Basics
15.3 Firewalling Basics
15.4 SuSEFirewall2
15.5 For More Information
16 Configuring a VPN Server
16.1 Conceptual Overview
16.2 Setting Up a Simple Test Scenario
16.3 Setting Up Your VPN Server Using Certificate Authority
16.4 Changing Name Servers in VPN
16.5 The GNOME Applet
16.6 For More Information
17 Managing X.509 Certification
17.1 The Principles of Digital Certification
17.2 YaST Modules for CA Management
IV Confining Privileges with AppArmor
18 Introducing AppArmor
18.1 Background Information on AppArmor Profiling
19 Getting Started
19.1 Installing AppArmor
19.2 Enabling and Disabling AppArmor
19.3 Choosing Applications to Profile
19.4 Building and Modifying Profiles
19.5 Updating Your Profiles
20 Immunizing Programs
20.1 Introducing the AppArmor Framework
20.2 Determining Programs to Immunize
20.3 Immunizing cron Jobs
20.4 Immunizing Network Applications
21 Profile Components and Syntax
21.1 Breaking an AppArmor Profile into Its Parts
21.2 Profile Types
21.3 Include Statements
21.4 Capability Entries (POSIX.1e)
21.5 Network Access Control
21.6 Profile Names, Flags, Paths, and Globbing
21.7 File Permission Access Modes
21.8 Execute Modes
21.9 Resource Limit Control
21.10 Auditing Rules
22 AppArmor Profile Repositories
22.1 Using the Local Repository
23 Building and Managing Profiles with YaST
23.1 Manually Adding a Profile
23.2 Editing Profiles
23.3 Deleting a Profile
23.4 Managing AppArmor
24 Building Profiles from the Command Line
24.1 Checking the AppArmor Status
24.2 Building AppArmor Profiles
24.3 Adding or Creating an AppArmor Profile
24.4 Editing an AppArmor Profile
24.5 Deleting an AppArmor Profile
24.6 Two Methods of Profiling
24.7 Important File Names and Directories
25 Profiling Your Web Applications Using ChangeHat
25.1 Configuring Apache for mod_apparmor
25.2 Managing ChangeHat-Aware Applications
26 Confining Users with pam_apparmor
27 Managing Profiled Applications
27.1 Reacting to Security Event Rejections
27.2 Maintaining Your Security Profiles
28 Support
28.1 Updating AppArmor Online
28.2 Using the Man Pages
28.3 For More Information
28.4 Troubleshooting
28.5 Reporting Bugs for AppArmor
29 AppArmor Glossary
V The Linux Audit Framework
30 Understanding Linux Audit
30.1 Introducing the Components of Linux Audit
30.2 Configuring the Audit Daemon
30.3 Controlling the Audit System Using auditctl
30.4 Passing Parameters to the Audit System
30.5 Understanding the Audit Logs and Generating Reports
30.6 Querying the Audit Daemon Logs with ausearch
30.7 Analyzing Processes with autrace
30.8 Visualizing Audit Data
30.9 Relaying Audit Event Notifications
31 Setting Up the Linux Audit Framework
31.1 Determining the Components to Audit
31.2 Configuring the Audit Daemon
31.3 Enabling Audit for System Calls
31.4 Setting Up Audit Rules
31.5 Configuring Audit Reports
31.6 Configuring Log Visualization
32 Introducing an Audit Rule Set
32.1 Adding Basic Audit Configuration Parameters
32.2 Adding Watches on Audit Log Files and Configuration Files
32.3 Monitoring File System Objects
32.4 Monitoring Security Configuration Files and Databases
32.5 Monitoring Miscellaneous System Calls
32.6 Filtering System Call Arguments
32.7 Managing Audit Event Records Using Keys
33 Useful Resources
A Documentation Updates
A.1 February 2015 (Documentation Maintenance Update)
A.2 October 2014 (Initial Release of SUSE Linux Enterprise Desktop 12)
B GNU Licenses
B.1 GNU Free Documentation License

Copyright © 2006– 2015 SUSE LLC and contributors. All rights reserved.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled GNU Free Documentation License.

For SUSE and Novell trademarks, see the Novell Trademark and Service Mark list http://www.novell.com/company/legal/trademarks/tmlist.html. All other third party trademarks are the property of their respective owners. A trademark symbol (®, ™ etc.) denotes a SUSE or Novell trademark; an asterisk (*) denotes a third party trademark.

All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its affiliates, the authors nor the translators shall be held liable for possible errors or the consequences thereof.

Print this page