Linux Kernel Security (SELinux vs AppArmor vs Grsecurity)

Slides:



Advertisements
Similar presentations
JENNIS SHRESTHA CSC 345 April 22, Contents Introduction History Flux Advanced Security Kernel Mandatory Access Control Policies MAC Vs DAC Features.
Advertisements

70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
Chapter 9 Building a Secure Operating System for Linux.
An overview of AppArmor Doug Stanley 07/17/2010 An overview of AppArmor.
Shane Jahnke CS591 December 7,  What is SELinux?  Changing SELinux Policies  What is SLIDE?  Reference Policy  SLIDE  Installation and Configuration.
IBM Security Network Protection (XGS)
ADVANCED LINUX SECURITY. Abstract : Using mandatory access control greatly increases the security of an operating system. SELinux, which is an implementation.
GreenSQL Yuli Stremovsky /MSN/Gtalk:
Microsoft ® Official Course Module 9 Configuring Applications.
Linux Operations and Administration
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Enterprise Network Security Accessing the WAN – Chapter 4.
Copyright © 2002 ProsoftTraining. All rights reserved. Operating System Security.
Computer Security & OS Lab. DKU May 26 Younsik Jeong Ph.D. Student.
Brad Baker CS526 May 7 th, /7/ Project goals 2. Test Environment 3. The Problem 4. Some Solutions 5. ModSecurity Overview 6. ModSecurity.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 12.
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 4 Manage Software for SUSE Linux Enterprise Server.
SELinux US/Fedora/13/html/Security-Enhanced_Linux/
Current Status of OFED in SUSE Linux Enterprise Server John Jolly Senior Software Engineer SUSE.
Information Assurance Research Group 1 NSA Security-Enhanced Linux (SELinux) Grant M. Wagner Information Assurance.
OS Hardening Justin Whitehead Francisco Robles. ECE Internetwork Security OS Hardening Installing kernel/software patches and configuring a system.
Module 14: Configuring Server Security Compliance
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
1 Implementation of Security-Enhanced Linux Yue Cui Xiang Sha Li Song CMSC 691X Project 2—Summer 02.
CN1176 Computer Support Kemtis Kunanuraksapong MSIS with Distinction MCT, MCTS, MCDST, MCP, A+
April 30, 2007 openSUSE.org Build Service a short introduction Moiz Kohari VP Engineering.
Section 11: Implementing Software Restriction Policies and AppLocker What Is a Software Restriction Policy? Creating a Software Restriction Policy Using.
Module 14: Securing Windows Server Overview Introduction to Securing Servers Implementing Core Server Security Hardening Servers Microsoft Baseline.
Enterprise Network Security Accessing the WAN – Chapter 4.
Trusted Operating Systems
The SELinux of First Look. Prologue After many discussions with a lot of Linux users, I’ve come to realize that most of them seem to disable SELinux rather.
Security-Enhanced Linux Eric Harney CPSC 481. What is SELinux? ● Developed by NSA – Released in 2000 ● Adds additional security capabilities to Linux.
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
Access Controls Mandatory Access Control by Sean Dalton December 5 th 2008.
Aaron Corso COSC Spring What is LAMP?  A ‘solution stack’, or package of an OS and software consisting of:  Linux  Apache  MySQL  PHP.
Course : PGClass : MCA Subject: Operating SystemSub.Code : 3CT11 Staff Name : S.SomasundaramYear & Sem : II nd & III rd.
MLS/MCS on SE Linux Russell Coker. What is SE Linux? A system for Mandatory Access Control (MAC) based on the Linux Security Modules (LSM) framework Uses.
SE Linux Implementation Russell Coker. What is SE Linux? A system for Mandatory Access Control (MAC) based on the Linux Security Modules (LSM) framework.
HIPS. Host-Based Intrusion Prevention Systems  One of the major benefits to HIPS technology is the ability to identify and stop known and unknown attacks,
IT320 Operating System Concepts
Presented by Rob Carver
Linux Security Presenter: Dolev Farhi |
Critical Security Controls
Netscape Application Server
Enterprise Network Security
Module Overview Installing and Configuring a Network Policy Server
Configuring Windows Firewall with Advanced Security
CompTIA Server+ Certification (Exam SK0-004)
Demystifying SELinux: WTF is it saying?
Securing the Network Perimeter with ISA 2004
DHCP, DNS, Client Connection, Assignment 1 1.3
Virus Attack Final Presentation
IS3440 Linux Security Unit 9 Linux System Logging and Monitoring
PSC Group, LLc Office 365/SharePoint Online Migration traps and tricks
IS3440 Linux Security Unit 4 Securing the Linux Filesystem
Unit 9 NT1330 Client-Server Networking II Date: 8/9/2016
SELinux (Security Enhanced Linux)
Chapter 2: The Linux System Part 1
Enterprise Network Security
IS3440 Linux Security Unit 8 Software Management
Operating System Security
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
ONLINE SECURE DATA SERVICE
Enterprise Network Security
NSA Security-Enhanced Linux (SELinux)
<offer name> with Microsoft 365 Business Secure Deployment
Module 02 Operating Systems
Presentation transcript:

Linux Kernel Security (SELinux vs AppArmor vs Grsecurity)

SELinux Security-Enhanced Linux (SELinux) is a Linux feature that provides a variety of security policies for Linux kernel. It is included with CentOS / RHEL / Fedora Linux, Debian / Ubuntu, Suse, Slackware and many other distributions.

SELinux features 1.Clean separation of policy from enforcement 2.Well-defined policy interfaces 3.Support for applications querying the policy and enforcing access control 4.Independent of specific policies and policy languages 5.Independent of specific security label formats and contents 6.Individual labels and controls for kernel objects and services 7.Caching of access decisions for efficiency 8.Support for policy changes 9.Separate measures for protecting system integrity (domain-type) and dataconfidentiality (multilevel security) 10.Very flexible policy 11.Controls over process initialization and inheritance and program execution 12.Controls over file systems, directories, files, and open file descriptors 13.Controls over sockets, messages, and network interfaces 14.Controls over use of "capabilities"

Pros and Cons Admin skill set (learning curve) - High Complex and powerful access control mechanism - Yes Detailed configuration required - Yes GUI tools to write / modify rules set - Yes CLI tools to write / modify rules set - Yes (see list of commands here) Ease of use - No (often described as horrible to use) Binary package - Available for most Linux distributions System performance impact: None Security Framework: Mandatory access controls using Flask Auditing and logging supported - Yes Typical user base - Enterprise users Documentation - Well documented

AppArmor AppArmor (Application Armor) is another security software for Linux which maintained and released by Novell under GPL. AppArmor was created as an alternative to SELinux. AppArmor works with file paths.

AppArmor is the most effective and easy-to-use Linux application security system available on the market today. AppArmor is a security framework that proactively protects the operating system and applications from external or internal threats, even zero-day attacks, by enforcing good program behavior and preventing even unknown software flaws from being exploited. AppArmor security profiles completely define what system resources individual programs can access, and with what privileges. A number of default policies are included with AppArmor, and using a combination of advanced static analysis and learning-based tools, AppArmor policies for even very complex applications can be deployed successfully in a matter of hours. AppArmor is default in OpenSUSE and Suse Enterprise Linux. It was first successfully packaged for Ubuntu Linux.

Features 1.Full integration. 2.Easy deployment. 3.AppArmor includes a full suite of console and YaST- based tools to help you develop, deploy and maintain application security policies. 4.Protects the operating system, custom and third- party applications from both external and internal threats by enforcing appropriate application behavior. 5.Reporting and alerting. Built-in features allow you to schedule detailed event reports and configure alerts based on user-defined events. 6.Sub-process confinement. AppArmor allows you to define security policies for individual Perl and PHP scripts for tighter Web-server security.

Pros and Cons Admin skill set (learning curve) - Medium Complex and powerful access control mechanism - Yes. Detailed configuration required - Yes. GUI tools to write / modify rules set - Yes (yast2 and wizards). CLI tools to write / modify rules set - Yes. Ease of use - Yes (often described as less complex and easier for the average user to learn than SELinux). Binary package - Available for Ubuntu / Suse / Opensuse and distros. System performance impact - None. Security Framework - Mandatory access controls. Auditing and logging supported - Yes. Typical user base - Enterprise users. Documentation - Documented (mostly available from Opensuse and Suse enterprise Linux).

grsecurity grsecurity is a set of patches for the Linux kernel with an emphasis on enhancing security. It utilizes a multi- layered detection, prevention, and containment model. It is licensed under the GPL.

Features 1.An intelligent and robust Role-Based Access Control (RBAC) system that can generate least privilege policies for your entire system with no configuration 2.Change root (chroot) hardening 3./tmp race prevention 4.Extensive auditing 5.Prevention of arbitrary code execution, regardless of the technique used (stack smashing, heap corruption, etc) 6.Prevention of arbitrary code execution in the kernel 7.Randomization of the stack, library, and heap bases 8.Kernel stack base randomization 9.Protection against exploitable null-pointer dereference bugs in the kernel 10.Reduction of the risk of sensitive information being leaked by arbitrary-read kernel bugs 11.A restriction that allows a user to only view his/her processes 12.Security alerts and audits that contain the IP address of the person causing the alert

Pros and Cons Admin skill set (learning curve) - Low. Complex and powerful access control mechanism - No (it is simpler to administer than other two implementations. Also, policies are simpler to create, since there are no roles or complicated domain/file transitions). Detailed configuration required - No (works in learning mode). GUI tools to write / modify rules set - No. CLI tools to write / modify rules set - Yes (gradm tool). Ease of use - Yes. Binary package - Available for Ubuntu / RHEL / CentOS / Debian distros. System performance impact - None. Security Framework - Mandatory access controls (precisely, it is a RBAC implementation) using access control lists. Auditing and logging supported - Yes. Typical user base - Webserver and hosting companies. Documentation - unfortunately, is not well documented.

Conclusion All three offers very good protection and I can select them based upon the following simple criteria: New user / ease of use : Grsecurity Easy to understand policy and tools : AppArmor Most powerful access control mechanism : SELinux

Feature SELinux AppArmor grsecurity Automated No (audit2allow and system- config-selinux) Yes (Yast wizard) Yes (auto traning / gradm) Powerful policy setup Yes (very complex) Yes Default and recommended integration CentOS / RedHat / Debian Suse / OpenSuse Any Linux distribution Training and vendor support Yes (Redhat) Yes (Novell) No (community forum and lists) Recommend for Advanced user New / advanced user New users Pathname based system does not require labelling or relabelling filesystem Attaches labels to all files, processes and objects ACLs

My personal choice is grsecurity as it is easier to use and offers many other security features. I've used SELinux as it is default choice under RHEL. AppArmor was only tested in lab under OpenSuse. I suggest you download and install all 3 patches (also available via binary deb and rpm files) and compare them as per your setup to gain a deeper understanding of their differences.