SELinux Linux på MAC

Like dokumenter
SELinux kort intro. Lars Strand 18. oktober 2007 R Å D G I V N I N G U T V I K L I N G D R I F T K U R S S U P P O R T P R O D U K T E R

Filsikkerhet i Linux

Løsningsforslag til eksamen 24. november 2015

Oversikt. Beskrivelse Bash. 1 UNIX shell. 2 Kommandolinje som brukergrensesnitt. 3 Input og output. 4 Bash builtins. 5 Linux utilities.

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

SQL Server guide til e-lector

Invitation to Tender FSP FLO-IKT /2013/001 MILS OS

6105 Windows Server og datanett

6105 Windows Server og datanett

Om Samba/fildeling. Hans Nordhaug Institutt for informatikk Høgskolen i Molde

Installasjonen krever en Windows 2003 server innmeldt i domene.

Dokumentasjon av Installasjon

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

6105 Windows Server og datanett

Nettverkstilgang - problemstilling

Shellscripting I. Innhold

Om Samba/fildeling. Hans Nordhaug Institutt for informatikk Høgskolen i Molde

Hvordan slette midlertidige filer i Java kontrollpanel

Linux distribusjoner

Prosesstabeller (PCB - Prosess Control Block) Se på PD: kommandoene ps og top Bakgrunnsprosesser Opprettelse av prosesser:

Håndtering av filer og kataloger

NSA mandag 4. oktober Brukerbehandling Systempolitikk Kontroll av resurser Om system logger Litt om cron og cfengine

Oppgave: Last ned og installer bzflag apt-get install bzflag 121A - Virtualisering

Håndtering av filer og kataloger

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

2. Beskrivelse av installasjon av SQL Server 2005 og hvordan lage databasen som trengs av administrasjonsprogrammet:

Installasjon av webtjener

Controller Brukerstøttedatabase Ottar Holstad/Cantor 09.

Hendelser Apprentice ComputerCraft PDF

6105 Windows Server og datanett

Eksamensinformasjon. Prosesser. Prosesser. Eksamensoppgave. Operativsystemer (DATS/ITPE2500) Bokmål 06. juni 2017 kl

Brukerprogram OS hardware

Fjerninnlogging over Internett

Øving 0 - Xcode TDT4102

Lab 1: Installasjon av Virtualiseringsløsning (VMWare Server ESXi 6.5) med en Virtuell Linux maskin (Cent OS 7 64-bit)

Programvare som installeres Følgende tre programmer benyttes til oppgraderingen og kan lastes ned fra

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

Innhold. Introduksjon til parallelle datamaskiner. Ulike typer parallelle arkitekturer. Prinsipper for synkronisering av felles hukommelse

SuperOffice hurtigstart guide

Høgskoleni Østfold. Ny/utsatt EKSAMEN

1. MSI fra Group Policy

Modul 01: introduksjon til linux

Definisjon av prosess

or*dtrosnilt,'+'.q':'

INF120: Oblig 3. Yngve Mardal Moe

1 Diverse linuxtips. Innhold

Symmetrisk En hemmelig nøkkel ( passord ) som brukes både ved kryptering og dekryptering.

Kjøre Wordpress på OSX

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Betinget eksekvering og logiske tester i shell

$ls -l $grep -i Olsen adresseliste.txt less #!/bin/sh $echo `ls` $chmod 755. Praktisk Linux. Grunnleggende skall kommandoer. Irene Ludvigsen Husa

Forord. Brukerveiledning

Installere programmer, og filhåndtering

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

Installasjonen krever en Windows 2008 server innmeldt i domene.

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

HOWTO Sette opp Skolelinux med tynne klienter og printer

Trådløsnett med. Wireless network. MacOSX 10.5 Leopard. with MacOSX 10.5 Leopard

Vanlige spørsmål om EndNote (april 2013)

Finn en partner å prøve spillet sammen med. Det er OK å være tre personer og bytte på hvilke to som spiller.

case forts. Alternativ 1 Alternativer Sammensetning Objekt-interaktor med valg

6105 Windows Server og datanett

Huldt & Lillevik Reise. Oppgradering. Aditro HRM AS

Programmering. Carsten Wulff

Lynkurs i shellprogrammering under Linux

Praktisk bevaringsmetodikk - prosesser, rutiner, metoder, verktøy. v/sigve Espeland

6105 Windows Server og datanett

Nyttige Linux-kommandoer. Hvordan du kan jobbe mer effektivt Dag Langmyhr

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

Brukertesting i et nøtteskall

6105 Windows Server og datanett

LO143A: Nettverk og System Administrasjon I

of color printers at university); helps in learning GIS.

Steg 1: Hvordan fungerer spillet?

Innstallasjon og oppsett av Wordpress

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

ephorte Installasjon av klienter

RagHon Consulting. Ragnar Hongset Senior Technical Specialist and owner.

1 Diverse linuxtips. Innhold. 1.1 Klipp og lim med musen

Produksjonssettingsrapport

Utrulling av sertifikater til IOS

Før du starter, del 2

1. Å lage programmer i C++

1. Profiler og variabler

Arkivverket. Dokumentasjon på implementering av ez Publish

Sikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer. IN 147 Program og maskinvare.

Erfaringer som pen- tester. Asbjørn Thorsen

Trådløsnett med Windows Vista. Wireless network with Windows Vista

Ledende på Linux og åpen programvare

Komme igang med App Inventor Introduksjon App Inventor PDF

Forelesning III Kap 8 & 7; Dagsplan. Gjenbruk. Condition synchronization. Gjennomgående eksempler. Kode: Design: Verktøy

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden.

Filer og kataloger, prosesser og jobber

EKSAMEN. Operativsystemer. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

6105 Windows Server og datanett

og open source spillutvikling FreeCol

NSA uke 43. Tjenester i LAN Tjenester på verter

4. Prøv om du kan finne en tastatur-snarvei for å komme til dette kontrollpanelet.

N-dronningproblemet Obligatorisk oppgave 1 I120, H-2000

notater Gule lapper Mine Et praktisk eksempel med objekter IT2 Læreplansmål Gløer Olav Langslet Sandvika VGS

Transkript:

SELinux Linux på MAC Lars Strand 7. mai 2007 MAC på Linux

FBI/CSI rapport (2006) 02.11.07 2

Patche-jag Oppdaterings-syklus: 1.Sårbarhet oppdaget! 2.Forfatter tetter hullet og publiserer en patch for sårbarheten. 3.Bruker laster ned, tester og installerer patch. Tiden fra punkt 1 til 3 må gå raskest mulig. Største problem er nok punkt 3. Mer kjedelig problem: Tiden mellom 1 og 2. Zero-day - sårbarhet og angrepsmetode/verktøy publisert/tilgjenglig samme dag. 5% zero-day-angrep 2003. Hvordan beskytte? 02.11.07 3

Aksesskontroll Sikkerhetspolicy kan benytte to typer aksesskontroll (alene eller i kombo): 1. Aksesskontroll avgjøres av eier (bruker) av objektet (fil/prosessen). 2. Aksesskontroll avgjøres av OSet. 02.11.07 4

Discretionary access control Aksess bestemmes av eier av objektet. Eks: Tilgang til dagbok. Eks: Filer under $HOME. Definisjon: If an individual user can set an access control mechanism to allow or deny access to an object, that mechanism is a discretionary access control (DAC), also called identity-based access control (IBAC). -- M. Bishop, computer security (2003). DAC = Subjektbestemt aksess-/tilgangskontroll. 02.11.07 5

Mandatory access control Aksess bestemmes av en overordnet policy. Policy kan ikke overstyres av subjekt (eier). Eks: Sjekk av vandel. Definisjon: When a system mechanism controls access to and an individual user cannot alter that access, that control is a mandatory access control (MAC), occasionally called a rule-based access control. -- M. Bishop, computer security (2003). MAC = Obligatorisk/overordnet aksesskontroll. 02.11.07 6

Tradisjonell UNIX (og Linux) Linux = DAC. Tradisjonell aksesskontroll. Bruker X har kontroll over alle sine filer. Eksekveres 'ls', kjøres den med samme rettigheter som eksekveringen av 'OpenOffice'. Grov inndeling: Superbruker (uid=0) og andre brukere. MAC medfører gjerne en instramming. Ofte mer granularitet. 02.11.07 7 H e i * F ø l g m e d l i t t * I k k e s i t t å l e s h e r n e d e!

Principle of least privilege Mutt lese mine ssh-nøkler. Slette alle mine filer. Mutt = mailleser. Hva trenger den av rettigheter? Begrense rettigheter slik at en prosess fungerer normalt, og nekte alt annet. Definisjon: "The principle of least privilege states that a subject should be given only those privileges that it need in order to complete its task." -- M. Bishop, computer security (2003). 02.11.07 8

SELinux Security-Enhanced Linux = SELinux. Opprinnlig utviklet av NSA. Overrasket alle ved å gjøre SELinux open source. I det offisielle kjernetreet fra 2.6. Benytter Linux Security Modules (LSM). I dag: Fedora og Redhat. Runner-up: Debian, Gentoo, (Ubuntu). 02.11.07 9

Sikkerhetsmodell Må skille mellom: Subjekt programmer prosesser Objekt ( security classes ) filer, hard- og softlinker, kataloger, sockets,... filsystemer, prosesser,... Handling Lese, skrive, legge til, eksekvere, låse,... 02.11.07 10

Sikkerhetsmodell Eks: Prosess 31337 lov å lese /etc/passwd? Nøkkelegenskap = supplerer tradisjonell DAC med MAC: 02.11.07 11

Sikkerhetsmodell Subjekt og objekter grupperes i ulike klasser. Eks: Alt som har med apache i en klasse / gruppe. Konstrueres vha. security attributes. Fire attributter: 1.brukeridentitet 2.rolle 3.type / domain 4.nivå og/eller kategori 02.11.07 12

1. Brukere SELinux benytter egne brukeridenter på: Subjekt (prosess): Brukeridenten som kjører prosessen. Objekt (fil/program): Eier av filen. Separat fra Linux' DAC. Mapper vanlige brukere til SELinux'. Vanligvis bare en håndfull (SELinux-) brukere: user_u: Vanlige brukere. system_u: Prosesser startet (ved boot). root: Administrator (fra konsollet). 02.11.07 13

2. Rolle Brukere kan tre inn i ulike roller. Rettigheter gis ikke til roller. Rollen gir tilgang til ulike typer / domains. Benyttes for prosesser, for filer er den alltid object_r. 02.11.07 14

3. Type / domain Type, også kalt domain, er primærattributten. 'type' for filobjekter. 'domain' for prosesser. Få brukere/roller - flere titalls domains. Oppretter sandkasser som begrenser aksess. Type Enforcement (TE) Domain transition - regler for bytte av sandkasser : Ny prosess. Arver den parent domain? eks: initrc_exec_t til httpd_t Ny fil. Arver den type? 02.11.07 15

3. Type / domain 02.11.07 16

4. Kategori / nivå Sette kategori og/eller nivå (horisontalt / vertikalt). Relativt nytt felt. Introdusert i RHEL5. Eks kategori: Driftsavdelingen, Administrasjonen. Eks nivå: Begrenset, hemmlig, strengt hemmlig. Eks nivå/kategori: Hemmlig/Hæren er forskjellig fra Hemmlig/Marinen. 02.11.07 17

Security context Oppsummert: <bruker>:<rolle>:<type>:<kategori/nivå> Eks: system_u:system_r:unconfined_t:s0:c0 Disse attributtene danner en security context : Security attribute Bruker Navnkonvensjon _u Eksempelnavn user_u Rolle _u object_r Type _t unconfined_t Kategori / nivå (ingen) s0:c0 02.11.07 18 D u! * L e s e r d u h e r i g j e n? * L ø f t b l i k k e t

SELinux avgjørelsesprosess 02.11.07 19

SELinux komponenter 1. Kernel 2. SELinux bibliotek 'libselinux' (ls, ps, id,..) 3. SELinux administrasjonsverktøy 4. Policy 02.11.07 20

SELinux policy /etc/selinux/policytype/* Skrevet med M4. Kompilert til binærformat. Lastes tidlig i boot-prosessen (init). Modifisert policy kan lastes i realtime: cd /etc/selinux/targeted/src/policy/ && make reload Modulær: semodule -l semodule -i modul.pp 02.11.07 21

Konfig-filer Oppførsel (settes i /etc/selinux/config): enforcing permissive disabled Ulike policy /etc/selinux/policytype/policy/ targeted (1.1M) strict (2.5M) mls (2.2M) 02.11.07 22

Targeted policy Et sett med daemoner omfavnet av policy (RHEL4): dhcpd, apache, named, nscd, ntpd, portmap, squid,.. Dvs. disse har skreddersydd policy. Resten har full aksess. Puttet i en unconfined domain. 'unconfined_t' eller 'initrc_t' Samme aksess som om SELinux var skrudd av. Policy enforcement kan skrus av for hver daemon. Ingen fokus på SELinux-bruker og -rolle i targeted. 02.11.07 23

Targeted policy Det er denne du vil bruke. 02.11.07 24

Administrasjon sestatus viser SELinux status. /selinux egen selinux-statuskatalog (lik /proc) SELinux-opsjonen = Z Viser security context. Eks: $ id -Z user_u:system_r:unconfined_t $ ps -Z LABEL PID TTY TIME CMD user_u:system_r:unconfined_t 11051 pts/0 00:00:00 bash user_u:system_r:unconfined_t 11509 pts/0 00:00:00 ps 02.11.07 25

Filhåndtering Endre security context på filer: chcon - for endring av security context (lik chmod) restorecon/fixfiles sjekk og fiks av security context i henhold til policy. touch /.autorelabel && reboot (anbefalt!) 'tar --selinux' bevarer security context. Finne filer med bestemt security context: find / -context system_u:object_r:net_conf_t 02.11.07 26

Variabler Kan tune policy uten å endre, bygge og lastes på nytt. Kan skru av SELinux for utvalgte daemons. Mer presist: Transition til spesifikk domain droppes. Dvs. prosessen forblir i en unconfined domain. Definert: /etc/selinux/targeted/booleans Gjenspeilt: /selinux/booleans/* 'getsebool -a' for å liste. 'setsebool -P VARIABEL' for å sette. GUI = system-config-selinux 02.11.07 27

Utfordringer NFS / Samba. Løsning: Setter én security context ved mount: mount -o context=user_u:object_r:user_home_t.. Brukervennlighet: Det fungerer ikke! Har satt riktig eierskap! *Sjekke logger*: May 4 17:54:24 valhall5 kernel: audit(1178466795.750:63): avc: denied { read } for pid=1038 comm="setfiles" name="2" dev=proc ino=131074 scontext=system_u:system_r:setfiles_t:s0 tcontext=system_u:system_r:kernel_t:s0 tclass=dir WTF!?!? (Skrur av SELinux) 02.11.07 28

SELinux fremover Økt omfavnelse. dvs. mer skal beskyttes av policy. Økt fokus på brukervennlighet! flere (grafiske) verktøy. RHEL legger grunnlaget for videre sikkerhetsmodellering. MLS og MCS. For å oppnå sertifiseringer (EAL4+, LSPP,..) Lik teknologi (en konkurrent?): AppArmor. 02.11.07 29