Implementing an SELinux Security Policy for a Data Management Software

No Thumbnail Available

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2014-11-03

Department

Major/Subject

Tietoliikenneohjelmistot

Mcode

T3005

Degree programme

Tietotekniikan koulutusohjelma

Language

en

Pages

75 + 11

Series

Abstract

Security-Enhanced Linux (SELinux) is a Linux kernel module implementing a mandatory access control (MAC) scheme over the Linux operating system. SELinux allows system administrators and developers to create modular security policies for applications. In this thesis, a security policy module was developed for the Integrated Rule-Oriented Data System (iRODS) data managment software used in CSC - IT Center for Science Ltd’s IDA service. As a mandatory access control scheme, SELinux utilizes Identity-based Access Control (IBAC), Role-based Access Control (RBAC), and Type Enforcement (TE) when determining whether an operation requested by a subject on an object is allowed. Of these security paradigms, the iRODS security policy implemented in this thesis relies mostly on type enforcement. For this thesis, a test environment was configured to imitate the IDA service’s production environment. This thesis introduces and explains in detail the tools, configurations, and practical development processes needed to implement SELinux security policy modules from scratch. The development approach for a MAC based security policy module is significantly different from a typical programming approach. When creating the security policy module, it proved necessary to thoroughly understand the Red Hat Enterprise Linux 6 (RHEL6) SELinux framework. Poor usability regarding SELinux tools and documentation was found to be a major problem in the work. The finished security policy module was tested using regression tests and use cases over several months in the test environment. The policy was also analyzed experimentally with the available analysis tools. Based on the work done, enabling SELinux on previously unenforced systems, and implementing security policies for applications, can require great effort, and thus the training of system administrators responsible for these tasks should be a high priority.

Security-Enhanced Linux (SELinux) on Linuxin kernel moduuli, joka mahdollistaa sääntöpohjaisen pääsynvalvonnan (MAC) Linux käyttöjärjestelmässä. SELinuxin avulla järjestelmäylläpitäjät ja ohjelmistokehittäjät voivat luoda modulaarisia tietoturvasääntöjä ohjelmistoille. Tässä diplomityössä kehitettiin tietoturvasääntömoduuli Integrated Rule-Oriented Data System (iRODS) datanhallintaohjelmistolle, jota käytetään CSC - Tieteen tietotekniikan keskus Oy:n ylläpitämässä IDA-palvelussa. Sääntöpohjaisena pääsynvalvontajärjestelmänä SELinux hyödyntää identitettiin pohjautuvaa pääsynhallintaa, rooleihin pohjautuvaa pääsynhallintaa, ja tyyppeihin pohjautuvaa pääsynhallintaa tehdessään päätöksiä siitä, mitkä subjektien operaatiot objekteille tulisi sallia. Tässä työssä kehitetty iRODS tietoturvasääntömoduuli hyödyntää edellä mainituista tietoturvaparadigmoista enimmäkseen tyyppeihin pohjautuvaa pääsynhallintaa. Tätä diplomityötä varten konfiguroitiin erityinen testiympäristö matkimaan IDA-palvelun varsinaista tuotantoympäristöä. Tässä diplomityössä esitellään ja selitetään yksityiskohtaisesti työkalut, konfiguroinnit ja käytännön ohjelmistokehitysprosessit, joita tarvittiin em. SELinux tietoturvasääntömoduulin kehittämisessä. Syvällinen Red Hat Enterprise Linux 6 (RHEL6) SELinuxin puitteiden ymmärtäminen osoittautui välttämättömäksi tietoturvasääntömoduulin kehityksessä. SELinuxin työkalujen ja dokumentaation huono käytettävyys nostetaan tässä diplomityössä myös esille. Valmis tietoturvasääntömoduuli testattiin hyödyntäen regressiotestausta ja tyypillisiä käyttötapauksia useiden kuukausien ajan testiympäristössä. Työssä myös kokeiltiin tietoturvapolitiikkojen analysointityökaluja. Saatujen kokemusten perusteella SELinuxin käyttöönotto ja tietoturvapoliitikkojen kehittäminen ohjelmille vaatii suurta vaivannäköä, joten työstä vastuussa olevien järjestelmäasiantuntijoiden koulutus on erityisen tärkeää.

Description

Supervisor

Aura, Tuomas

Thesis advisor

Aura, Tuomas

Keywords

SELinux, iRODS, mandatory access control, Linux, Security-Enhanced Linux, security policy module

Other note

Citation