SELinux | |
---|---|
SELinux Administration GUI på Fedora 8 | |
Sorts | Säkerhet |
Utvecklaren | röd hatt |
Skrivet i | Xi |
Operativ system | Linux -kärnkomponent |
Första upplagan | 1998 |
senaste versionen | |
släppa kandidat |
|
Licens | GNU GPL |
Hemsida | selinuxproject.org |
Mediafiler på Wikimedia Commons |
SELinux ( engelska Security-Enhanced Linux - Linux med förbättrad säkerhet) är en implementering av ett påtvingat åtkomstkontrollsystem som kan fungera parallellt med ett klassiskt selektivt åtkomstkontrollsystem .
Operativsystemet är kvar inom ett selektivt åtkomstkontrollsystem och har en grundläggande begränsning när det gäller att dela processåtkomst till resurser - åtkomst till resurser baseras på användarrättigheter. Det är klassiska rättigheter på tre nivåer – ägare, ägargrupp och andra. rwx
I SELinux bestäms åtkomsträttigheter av systemet självt med hjälp av speciellt definierade policyer. Policyer fungerar på systemanropsnivå och upprätthålls av själva kärnan (men kan också implementeras på applikationsnivå). SELinux fungerar efter den klassiska Linux-säkerhetsmodellen. Med andra ord kan du inte tillåta genom SELinux vad som är förbjudet genom användar- eller gruppbehörigheter. Policyer beskrivs med ett speciellt flexibelt språk för att beskriva åtkomstregler. I de flesta fall är SELinux regler "transparenta" för applikationer och ingen modifiering krävs. Vissa distributioner inkluderar out-of-the-box-policyer där rättigheter kan bestämmas baserat på en matchning mellan process (ämne) och fil (objekt) typer - detta är huvudmekanismen för SELinux. Två andra former av åtkomstkontroll är rollbaserad åtkomst och säkerhetsbaserad åtkomst. Till exempel " DSP ", "hemlig", "tophemlig", " OV ".
Den enklaste policytypen att arbeta med och underhålla är den så kallade "riktade" policyn som utvecklats av Fedora -projektet . Policyn beskriver mer än 200 processer som kan köras på operativsystemet. Allt som inte beskrivs av "mål"-policyn utförs i domänen (med typ) unconfined_t. Processer som körs i denna domän skyddas inte av SELinux. Således kommer alla tredjeparts användarapplikationer att fungera utan problem i ett system med en "riktad" policy inom de klassiska behörigheterna för ett selektivt åtkomstkontrollsystem.
Förutom den "riktade" policyn innehåller vissa distributioner en policy med en säkerhetsmodell i lager (som stöder Bell-LaPadula-modellen ).
Det tredje policyalternativet är "strikt". Här gäller principen "det som inte är tillåtet är förbjudet" ( principen om minsta rättigheter ). Policyn är baserad på Tresys referenspolicy .
SELinux utvecklades av US National Security Agency och sedan gjordes dess källkod tillgänglig för nedladdning.
Originaltext (engelska)[ visaDölj] Från NSA Security-enhanced Linux Team :
"NSA-säkerhetsförbättrad Linux är en uppsättning patchar till Linux -kärnan och vissa verktyg för att införliva en stark, flexibel arkitektur för obligatorisk åtkomstkontroll (MAC) i kärnans stora delsystem. Den tillhandahåller en mekanism för att upprätthålla separering av information baserat på konfidentialitets- och integritetskrav, vilket gör det möjligt att hantera hot om manipulering och förbikoppling av programsäkerhetsmekanismer och möjliggör begränsning av skada som kan orsakas av skadliga eller felaktiga program. Den innehåller en uppsättning exempel på säkerhetspolicykonfigurationsfiler utformade för att uppfylla gemensamma säkerhetsmål för allmänna ändamål."
SELinux ingår i Linux-kärnan (sedan version 2.6).
Dessutom kräver SELinux modifierade versioner av vissa verktyg ( ps , ls och andra) som ger stöd för nya kärnfunktioner och stöd från filsystemet.
LSM ( engelsk Linux Security Modules - Linux security modules) är implementering i form av laddningsbara kärnmoduler. I första hand används LSM för att stödja åtkomstkontroll. LSM:er förser i sig inte systemet med någon extra säkerhet, utan fungerar bara som ett slags gränssnitt för att stödja det. LSM-systemet tillhandahåller implementering av interceptorfunktioner, som lagras i en säkerhetspolitisk struktur som täcker de huvudsakliga operationer som behöver skyddas. Åtkomstkontroll till systemet utförs tack vare de konfigurerade policyerna.
De flesta operativsystem har åtkomstkontrollfunktioner och metoder som i sin tur avgör om en enhet på operativsystemnivå (användare eller program) kan komma åt en viss resurs. Följande åtkomstkontrollmetoder används:
I början av sitt utseende implementerades SELinux som en patch. I det här fallet var det inte lätt att konfigurera säkerhetspolicyn. Med tillkomsten av LSM-mekanismer har säkerhetskonfiguration och -hantering förenklats avsevärt (policy- och säkerhetsmekanismer har separerats), SELinux har implementerats som kärnplugin. Innan du kommer åt de interna objekten i operativsystemet ändras kärnkoden. Detta implementeras med hjälp av specialfunktioner ( system call interceptors ) , de så kallade hook - funktionerna . Interceptor-funktioner lagras i någon datastruktur, deras syfte är att utföra vissa säkerhetsåtgärder baserat på en förutbestämd policy. Modulen i sig innehåller sex huvudkomponenter: en säkerhetsserver; access vektorcache ( eng. Access Vector Cache , AVC); nätverksgränssnittstabeller; nätverksmeddelandesignalkod; dess virtuella filsystem (selinuxfs) och implementeringen av interceptor-funktioner.
SELinux har varit kommersiellt tillgänglig som en del av Red Hat Enterprise Linux sedan version 4.
Linux-distributioner som stöds i gemenskapen:
SELinux är ett av flera möjliga tillvägagångssätt för att begränsa de åtgärder som utförs av installerad programvara.
AppArmor - systemet gör ungefär samma sak som SELinux. En viktig skillnad mellan dessa system är hur filsystemobjekt identifieras: AppArmor använder hela sökvägen, SELinux går djupare med inoden .
Dessa skillnader uppträder i två fall:
Dessa problem kan undvikas på båda systemen genom att tillämpa standardprincipen "ingen åtkomst".