SELinux

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 1. juni 2018; checks kræver 9 redigeringer .
SELinux

SELinux Administration GUI på Fedora 8
Type Sikkerhed
Udvikler rød hat
Skrevet i Xi
Operativ system Linux -kernekomponent
Første udgave 1998
nyeste version
frigivelseskandidat
Licens GNU GPL
Internet side selinuxproject.org
 Mediefiler på Wikimedia Commons

SELinux ( engelsk  Security-Enhanced Linux - Linux med forbedret sikkerhed) er en implementering af et tvungen adgangskontrolsystem , der kan arbejde parallelt med et klassisk selektivt adgangskontrolsystem .

Kort beskrivelse

Forbliver i et selektivt adgangskontrolsystem , har operativsystemet en grundlæggende begrænsning med hensyn til at dele procesadgang til ressourcer - adgang til ressourcer er baseret på brugeradgangsrettigheder. Det er klassiske rettigheder rwxpå tre niveauer - ejer, ejergruppe m.fl.

I SELinux bestemmes adgangsrettigheder af systemet selv ved hjælp af specielt definerede politikker. Politikker fungerer på systemopkaldsniveau og håndhæves af kernen selv (men kan også implementeres på applikationsniveau). SELinux opererer efter den klassiske Linux sikkerhedsmodel. Med andre ord kan du ikke tillade gennem SELinux, hvad der er forbudt gennem bruger- eller gruppetilladelser. Politikker er beskrevet ved hjælp af et særligt fleksibelt sprog til beskrivelse af adgangsregler. I de fleste tilfælde er SELinux regler "gennemsigtige" for applikationer, og der kræves ingen ændringer. Nogle distributioner inkluderer out-of-the-box politikker, hvor rettigheder kan bestemmes baseret på et match mellem proces (emne) og fil (objekt) typer - dette er hovedmekanismen i SELinux. To andre former for adgangskontrol er rollebaseret adgang og sikkerhedsbaseret adgang. For eksempel " DSP ", "hemmeligt", "tophemmeligt", " OV ".

Den nemmeste politiktype at arbejde med og vedligeholde er den såkaldte "målrettede" politik udviklet af Fedora -projektet . Politikken beskriver mere end 200 processer, der kan køre på operativsystemet. Alt, hvad der ikke er beskrevet af "mål"-politikken, udføres i domænet (med type) unconfined_t. Processer, der kører i dette domæne, er ikke beskyttet af SELinux. Således vil alle tredjeparts brugerapplikationer fungere uden problemer i et system med en "målrettet" politik inden for de klassiske tilladelser for et selektivt adgangskontrolsystem.

Ud over den "målrettede" politik inkluderer nogle distributioner en politik med en lagdelt sikkerhedsmodel (der understøtter Bell-LaPadula-modellen ).

Den tredje politikmulighed er "streng". Her gælder princippet "hvad der ikke er tilladt er forbudt" ( princippet om mindste rettigheder ). Politikken er baseret på Tresys referencepolitik .

SELinux blev udviklet af US National Security Agency , og derefter blev dens kildekode gjort tilgængelig til download.

Originaltekst  (engelsk)[ Visskjule] Fra NSA Security-enhanced Linux Team :

"NSA-sikkerhedsforbedret Linux er et sæt patches til Linux -kernen og nogle hjælpeprogrammer til at inkorporere en stærk, fleksibel obligatorisk adgangskontrol- arkitektur (MAC) i kernens store undersystemer. Det giver en mekanisme til at håndhæve adskillelse af information baseret på fortroligheds- og integritetskrav, som gør det muligt at håndtere trusler om manipulation og omgåelse af applikationssikkerhedsmekanismer og muliggør indespærring af skader, der kan være forårsaget af ondsindede eller fejlbehæftede applikationer. Det inkluderer et sæt eksempler på sikkerhedspolitikkonfigurationsfiler designet til at opfylde almindelige sikkerhedsmål til generelle formål."

SELinux er inkluderet i Linux-kernen (siden version 2.6).

Desuden kræver SELinux modificerede versioner af nogle hjælpeprogrammer ( ps , ls og andre), der understøtter nye kernefunktioner og understøttelse fra filsystemet.

Grundlæggende begreber

Oversigt over LSM

LSM ( engelsk  Linux Security Modules - Linux security modules) er implementering i form af indlæsbare kernemoduler. Primært bruges LSM'er til at understøtte adgangskontrol. I sig selv giver LSM'er ikke systemet nogen ekstra sikkerhed, men tjener kun som en slags grænseflade til at understøtte det. LSM-systemet giver implementering af interceptor-funktioner, som er lagret i en sikkerhedspolitisk struktur, der dækker de vigtigste operationer, der skal beskyttes. Adgangskontrol til systemet udføres takket være de konfigurerede politikker.

Adgangskontrolmetoder

De fleste operativsystemer har adgangskontrolfunktioner og -metoder, der igen bestemmer, om en enhed på operativsystemniveau (bruger eller program) kan få adgang til en bestemt ressource. Følgende adgangskontrolmetoder bruges:

Intern arkitektur af SELinux

Allerede i begyndelsen af ​​dets udseende blev SELinux implementeret som en patch. I dette tilfælde var det ikke let at konfigurere sikkerhedspolitikken. Med fremkomsten af ​​LSM-mekanismer er sikkerhedskonfiguration og -styring blevet meget forenklet (politik- og sikkerhedshåndhævelsesmekanismer er blevet adskilt), SELinux er blevet implementeret som kerne-plugins. Før du får adgang til de interne objekter i operativsystemet, ændres kernekoden. Dette er implementeret ved hjælp af specielle funktioner ( system call interceptors ) , de såkaldte hook-funktioner .  Interceptor-funktioner er gemt i en eller anden datastruktur, deres formål er at udføre visse sikkerhedshandlinger baseret på en på forhånd fastlagt politik. Selve modulet indeholder seks hovedkomponenter: en sikkerhedsserver; adgang vektor cache ( eng. Access Vector Cache , AVC); netværksgrænseflade tabeller; netværksmeddelelsessignalkode; dets virtuelle filsystem (selinuxfs) og implementeringen af ​​interceptor-funktioner.  

Funktioner

Implementeringer

SELinux har været kommercielt tilgængelig som en del af Red Hat Enterprise Linux siden version 4.

Understøttede Linux-distributioner i fællesskabet:

  1. CentOS
  2. Debian
  3. ArchLinux (uofficiel)
  4. Fedora Core siden version 2
  5. Hærdet Gentoo
  6. openSUSE siden version 11.1
  7. ubuntu
  8. ROSA
  9. ALT Linux SPT 6

Andre systemer

SELinux er en af ​​flere mulige tilgange til at begrænse de handlinger, der udføres af installeret software.

AppArmor - systemet gør stort set det samme som SELinux. En vigtig forskel mellem disse systemer er måden filsystemobjekter identificeres på: AppArmor bruger den fulde sti, SELinux går dybere ved at bruge inoden .

Disse forskelle forekommer i to tilfælde:

Disse problemer kan undgås på begge systemer ved at anvende standardpolitikken "ingen adgang".

Se også

Noter

  1. https://github.com/SELinuxProject/selinux/commit/ee1809f453038f7f34719f3fbd448893853d473f
  2. Udgivelse 3.4 - 2022.

Litteratur

Links