Før du starter, skal du lære følgende begreber:
Emner: processer eller brugere.
Objekter: filer eller filsystemer.
Type håndhævelse: på SELinux har alle emner og objekter en typeidentifikator, der slutter med _t. “Typehåndhævelse er forestillingen om, at adgang i et obligatorisk adgangskontrolsystem styres gennem godkendelse baseret på et sæt regler for emne-adgang-objekt.
I SELinux implementeres typehåndhævelse baseret på etiketterne på emnerne og objekterne. SELinux har i sig selv ikke regler, der siger / bin / bash kan udføre / bin / ls. I stedet har den regler svarende til “Processer med etiketten user_t kan udføre almindelige filer mærket bin_t.”(Kilde https: // wiki.gentoo.org / wiki / SELinux / Type_enforcement)
Diskretionær adgangskontrol (DAC): DAC er det ejerskabs- og tilladelsessystem, vi bruger i Linux til at administrere adgang til objekter som filer eller mapper. Diskretionær adgangskontrol har intet at gøre med SELinux og er et andet sikkerhedslag. For yderligere information om DAC, besøg Linux tilladelser forklaret.
Obligatorisk adgangskontrol (MAC): er en type adgangskontrol, der begrænser motivinteraktionens interaktion med objekter. I modsætning til DAC med MAC kan brugere ikke ændre politikker.
Emner og objekter har en sikkerhedskontekst (sikkerhedsattributter), der overvåges af SELinux og administreres i henhold til sikkerhedspolitikker, der er lavet af regler, der skal håndhæves.
Rollebaseret adgangskontrol (RBAC): er en type adgangskontrol baseret på roller, den kan kombineres med både MAC og DAC. RBAC-politikker gør styring af mange brugere i en organisation enkel i modsætning til DAC, som kan udledes i individuelle tilladelsesopgaver, det gør revision, konfiguration og politikopdateringer lettere.
Håndhævelsestilstand: SELinux begrænser emnernes adgang til objekter baseret på politikker.
Tilladelig tilstand: SELinux logger kun ulovlig aktivitet.
SELinux-funktioner inkluderer (Wikipedia-liste):
- Ren adskillelse af politik fra håndhævelse
- Veldefinerede politikgrænseflader
- Støtte til applikationer, der forespørger politikken og håndhæver adgangskontrol (for eksempel, crond kører job i den rigtige sammenhæng)
- Uafhængighed af specifikke politikker og politiske sprog
- Uafhængighed af specifikke sikkerhedsmærkeformater og -indhold
- Individuelle etiketter og kontrolelementer til kerneobjekter og tjenester
- Støtte til politiske ændringer
- Separate foranstaltninger til beskyttelse af systemintegritet (domænetype) og datahemmeligholdelse (sikkerhed på flere niveauer)
- Fleksibel politik
- Kontrol over procesinitialisering og arv og programudførelse
- Kontrol over filsystemer, kataloger, filer og åbne filbeskrivere
- Kontrol over stikkontakter, meddelelser og netværksgrænseflader
- Kontrol over brugen af "kapaciteter"
- Cachet information om adgangsbeslutninger via Access Vector Cache (AVC)
- Standard-nægt politik (alt ikke eksplicit specificeret i politikken er ikke tilladt).
Kilde: https: // da.wikipedia.org / wiki / Security-Enhanced_Linux # Funktioner
Bemærk: brugerne er forskellige på SELinux og passwd.
Opsætning af SELinux på Debian 10 Buster
I mit tilfælde blev SELinux deaktiveret på Debian 10 Buster. At holde SELinux aktiveret er et af de grundlæggende trin for at holde en Linux-enhed sikker. For at kende status for SELinux på din enhed skal du køre kommandoen:
/ # sestatus
Jeg fandt ud af, at SELinux var deaktiveret. For at aktivere det skal du installere nogle pakker før, efter en apt opdatering, kør kommandoen:
/ # apt installer selinux-basics selinux-policy-default
Hvis anmodet, tryk Y for at fortsætte installationsprocessen. Løb apt opdatering efter afslutningen af installationen.
For at aktivere SELinux kør følgende kommando:
/ # selinux-aktiver
Som du kan se, blev SELinux korrekt aktiveret. For at anvende alle ændringer skal du genstarte dit system som beskrevet.
Kommandoen getenforce kan bruges til at lære SELinux-status, hvis den er under tilladende eller håndhævende tilstand:
/ # getenforce
Den tilladende tilstand kunne erstattes ved at indstille parameteren 1 (tilladelig er 0). Du kan også kontrollere tilstanden på konfigurationsfilen ved hjælp af kommandoen mindre:
/ # mindre / etc / selinux / config
Produktion:
Som du kan se, viser konfigurationsfilerne den tilladende tilstand. Trykke Q at holde op.
For at se en fil eller behandle sikkerhedskontekst kan du bruge flag -Z:
/ # ls -Z
Etiketformatet er bruger: rolle: type: niveau.
semanage - SELinux værktøj til styring af politik
semanage er SELinux Policy Management-værktøjet. Det giver mulighed for at styre booleanske (som gør det muligt at ændre processen undervejs), brugerroller og niveauer, netværksgrænseflader, politikmoduler og mere. Semanage giver mulighed for at konfigurere SELinux-politikker uden behov for at kompilere kilder. Semanage tillader forbindelsen mellem OS- og SELinux-brugere og visse objekters sikkerhedskontekster.
For yderligere information om semanage, besøg mandsiden på: https: // linux.dø.net / mand / 8 / semanage
Konklusion og noter
SELinux er en ekstra måde at administrere adgang fra processer til systemressourcer såsom filer, partitioner, mapper osv. Det giver mulighed for at administrere massive privilegier efter rolle, niveau eller type. At have det aktiveret er et must som sikkerhedsforanstaltning, og når du bruger det, er det vigtigt at huske dets sikkerhedslag og at genstarte systemet efter aktivering eller deaktivering af det (deaktivering anbefales slet ikke bortset fra specifikke tests). Nogle gange er en filadgang blokeret på trods af, at systemet eller OS-tilladelser gives, fordi SELinux forbyder det.
Jeg håber, du fandt denne artikel om SELinux nyttig som introduktion til denne sikkerhedsløsning. Bliv ved med at følge LinuxHint for flere tip og opdateringer om Linux og netværk.
Relaterede artikler:
- SELinux på Ubuntu-vejledning
- Sådan deaktiveres SELinux på CentOS 7
- Tjekliste til sikkerhedshærdning af Linux
- AppArmor-profiler på Ubuntu