SELinux: Omfattende sikkerhet til prisen av usability

Fordelen med SELinux er todelt. Først, erstatter den brukerbasert modell med en policy-sentriske modellen. Enhver handling, som å kjøre et program eller lese og endre data, er kontrollert av en sikkerhetspolitikk. Handlinger som bryter retningslinjene er avslått. I tillegg compartmentalizes SELinux de ulike programmer og prosesser som kjører på systemet. Dette bidrar ikke bare i å isolere et innbrudd, men også begrenser skadene av en kompromittert tjeneste.

SELinux plugges inn i Linux-distribusjon gjennom Linux sikkerhetsmodul (LSM) kroker, som er tilgjengelig i 2.6 .x kernel serien. LSM er designet for å integrere sikkerhetsmodeller til å jobbe med kjernen, i stedet for å bruke dem som en patch.

SELinux livsstil

I kjernen av SELinux er dens politikk. Da National Security Agency (NSA) overlevert SELinux til åpen kildekode-miljøet, de bare hadde én politikk kalt streng politikk. Den strenge politikken følger konseptet med en hviteliste, noe som betyr at standardregel er å avvise søknader tilgang, med mindre de er spesielt tillatt.

Denne politikken ble levert med Fedora Core 2. I FC2, låser SELinux ned alt og streng politikk er en samling av tillater uttalelser. Men en slik politikk trenger regelmessig vedlikehold og må holdes oppdatert med hver endring i konfigurasjonen av systemet. Så, hvis du installerer nye programmer eller bruke en eksisterende applikasjon på en måte politikken forfatteren ikke forutsi, ville den strenge politikken klage. Den strenge politikken fungerer best i et kontrollert, begrenset miljø, men ikke i det hele tatt godt på en vanlig stasjonær


Managing SELinux i Fedora Core 6 -. Klikk for å se

Å vinne problemene med den strenge politikken, Fedora Core 3 introduserte målrettet politikk. I motsetning til den strenge politikken, er en målrettet politikk en liste over "Avslå 'uttalelser. Under det som standard SELinux gjør at alle handlinger, noe som gir en stasjonær brukeren frihet til å bruke systemet som om SELinux ikke var slått på. Og likevel ved å begrense bare visse målrettede programmer, vil det beskytte kritiske nettverks daemons. Denne politikken har også gjort sin vei inn i Red Hat Enterprise Linux (RHEL) 4.

Det er også når SELinux ingeniørene hos Red Hat vendt sin oppmerksomhet mot ytelse tuning. Den SELinux Fedora Core 5 FAQ hevder en 7% innvirkning på ytelsen når det sist ble testet. Jeg prøvde SELinux på Fedora Core 6, som kan skryte av flere ytelsesforbedringer, og det var ikke noen merkbar forskjell i ytelse med eller uten SELinux aktivert.

Skriv håndhevings

Går litt dypere, SELinux er politikk er faktisk basert på adgangskontroll begrepet Type Enforcement (TE). TE bruker en " sikkerhetskonteksten " attributt for å gjøre sine tilgangs beslutninger. Under SELinux denne sikkerhets sammenheng har tre elementer, bruker, rolle og type.

Nå bruker TE et tilgangsmatrise som inneholder regler om klarering. Disse er pålagt å gi de ulike brukere og programmer som kalles fag, rettigheter over filer, stikkontakter og nettverks verter, kalt objekter, ved å matche deres sikkerhetskontekst. Så, for eksempel, dette er hvordan SELinux avgjør om en søknad X (emne) får lov til å skrive (handling) til filen Y (objekt).

SELinux modifiserer flere vanlige systemverktøy, slik at de kan vise sikkerhetskonteksten av objekter og subjekter med -Z alternativet. For eksempel ls -Z vil vise sikkerhetskonteksten filsystemet objektene i den aktuelle katalogen, vil id-Z vise sikkerhetskonteksten til brukeren og ps-Z vil vise sikkerhetskonteksten av dagens prosesser.
< p> Så hvordan det hele oversette til en politikk fil? Her er en regel fra en målrettet politikk:

tillate user_t bin_t: file {lese utføre getattr};

Her er programmer med den type user_t (emne) lov til å lese, utføre, og få attributter for alle objekter av klassen filene som har den type bin_t i deres sikkerhetskontekst.

Regelen gjelder bare for de fil objekter som har den type bin_t. Det gjelder ikke for objekter som er av bin_t type, men ikke fra fil klasse og verken til fil objekter som ikke har bin_t som sin type. Det kan virke forvirrende, men man må sette pris på kontrollnivå SELinux tillater.

Å gjøre SELinux lettere å jobbe med

Jeg har skrevet om SELinux tidligere, og det grunnleggende fortsatt forblir den samme. Men politikk er der gummi treff veien, og de har vært under utvikling med hver utgivelse. Fedora Core nå leveres med målrettet politikk for å dekke alle viktige nettverkstjenester. I tillegg SELinux henhold FC6 inkluderer en ny Multikategori Security (MCS) politikk basert på Multilevel Security (MLS) tilgangskontroll mekanisme. Ved merking sikkerhet etiketter på filer, kan MLS kategorisere dem med ulike sensitiviteter


The setroubleshoot verktøyet -. Klikk for å se

Revisjon støtte SELinux er også jobbes med. Tilgang Vector Cache (AVC) meldinger er revisjons meldinger generert av SELinux som et resultat av tilgang fornektelser, men mange admins hadde en vanskelig tid å gjøre følelse av hele " avc: benektet " meldinger fylle opp sine systemlogger i FC2 /FC3. Nå admins har flere brukervennlige verktøy for å få orden på alle SELinux revisjons meldinger.

Tresys bunter flere grafiske og kommandolinjeverktøy for politikk og revisjonsmelding analyse i sin SETools pakken. Et annet nyttig verktøy er SELinux feilsøkingsverktøyet som debuterte i FC6. Den skanner kontrolloggene på jakt etter AVC meldinger. Når den finner en, varsler den brukeren med en kort og lett å følge beskrivelse av fornektelse, og foreslår også en løsning.

Likevel er forståelse og skape en ny tilpasset SELinux politikk ikke barns lek. Referansepolitikken skal være en enkel å bruke og forstå base for å skrive nye retningslinjer. FC5 benytter politikk basert på dette skjemaet. SLIDE er en Integrated Development Environment (IDE) som plugges inn i Eclipse SDK og bidrar til å skape en politikk basert på referanse politikken.

Konklusjon

SELinux er et svært modent produkt. NSA hadde jobbet med det i flere år før den slippes til åpen kildekode-miljøet i desember 2000. Selv nå har det blitt jobbet på av mange enkeltpersoner og selskaper. Mennesker med ansvar for programmet og datasikkerhet vil sette pris SELinux robusthet i håndteringen av zero-day exploits og dårlig utformet applikasjoner. Red Hat og Tresys begge synes å være ganske interessert i å gjøre SELinux enkel å bruke og administrere. Bortsett fra RHEL og Fedora Core, kan brukere av Gentoo, Debian og Ubuntu også høste fordelene av SELinux.

I tillegg til personer som er interessert i å sikre sin stasjonære eller deres virksomhet datamaskin, er SELinux et godt emne for studenter studere operativsystemet sikkerhet. Selv om det tar litt tid å bli vant til, er SELinux kommet for å bli og holde vakt.

SELinux er et stort tema, og ideen med denne artikkelen er å gi deg en oversikt over SELinux adgang kontrollfunksjoner og for å vise dens kontroll. Hvis du er interessert i dykking dypere inn SELinux, kan det være lurt å referere til SELinux FAQ og til en av de mange bøker som er skrevet om emnet.