Implementing an SELinux Security Policy for a Data Management Software

No Thumbnail Available
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