Før du begynner, må du lære deg følgende konsepter:
Emner: prosesser eller brukere.
Objekter: filer eller filsystemer.
Type håndhevelse: på SELinux har alle fag og objekter en typeidentifikator som slutter med _t. “Typehåndhevelse er forestillingen om at tilgang i et obligatorisk tilgangskontrollsystem styres gjennom klarering basert på et sett med regler for subjekt-tilgang-objekt.
I SELinux er typehåndhevelse implementert basert på etikettene til fagene og objektene. SELinux har i seg selv ikke regler som sier / bin / bash kan utføre / søppel / ls. I stedet har den regler som ligner på “Prosesser med etiketten user_t kan utføre vanlige filer merket bin_t.”(Kilde https: // wiki.gentoo.org / wiki / SELinux / Type_enforcement)
Diskresjonær tilgangskontroll (DAC): DAC er eier- og tillatelsessystemet vi bruker i Linux for å administrere tilgang til objekter som filer eller kataloger. Diskresjonær tilgangskontroll har ingenting å gjøre med SELinux og er et annet sikkerhetslag. For mer informasjon om DAC besøk Linux Permissions Explained.
Obligatorisk tilgangskontroll (MAC): er en type tilgangskontroll som begrenser motivets tilgangsinteraksjon med objekter. I motsetning til DAC med MAC-brukere kan ikke endre retningslinjer.
Emner og objekter har en sikkerhetskontekst (sikkerhetsattributter) som overvåkes av SELinux og administreres i henhold til sikkerhetspolitikk laget av regler som skal håndheves.
Rollebasert tilgangskontroll (RBAC): er en type tilgangskontroll basert på roller, den kan kombineres med både MAC og DAC. RBAC-policyer gjør administrasjon av mange brukere i en organisasjon enkel i motsetning til DAC som kan utledes i individuelle tillatelsesoppdrag, det gjør revisjon, konfigurering og policyoppdateringer enklere.
Håndhevelsesmodus: SELinux begrenser fagets tilgang til objekter basert på policyer.
Tillatende modus: SELinux logger bare ulovlig aktivitet.
SELinux-funksjoner inkluderer (Wikipedia-liste):
- Ren skille av politikk fra håndhevelse
- Godt definerte grensesnitt
- Støtte for applikasjoner som spør om policyen og håndhever tilgangskontroll (for eksempel, crond kjører jobber i riktig sammenheng)
- Uavhengighet av spesifikke politikker og politiske språk
- Uavhengighet av spesifikke sikkerhetsmerkeformater og innhold
- Individuelle etiketter og kontroller for kjerneobjekter og tjenester
- Støtte for politiske endringer
- Separate tiltak for å beskytte systemintegritet (domenetype) og datakonfidensialitet (sikkerhet på flere nivåer)
- Fleksibel policy
- Kontrollerer prosessinitialisering og arv og programutførelse
- Kontrollerer filsystemer, kataloger, filer og åpne filbeskrivere
- Kontrollerer stikkontakter, meldinger og nettverksgrensesnitt
- Kontroll over bruken av "evner"
- Bufret informasjon om tilgangsbeslutninger via Access Vector Cache (AVC)
- Standard-nekt policy (alt som ikke er eksplisitt spesifisert i policyen er ikke tillatt).
Kilde: https: // no.wikipedia.org / wiki / Security-Enhanced_Linux # Funksjoner
Merk: brukere er forskjellige på SELinux og passwd.
Sette opp SELinux på Debian 10 Buster
I mitt tilfelle ble SELinux deaktivert på Debian 10 Buster. Å holde SELinux aktivert er et av de grunnleggende trinnene for å holde en Linux-enhet trygg. For å vite statusen til SELinux på enheten din, kjør kommandoen:
/ # sestatus
Jeg fant SELinux var deaktivert, for å aktivere det må du installere noen pakker før, etter en apt oppdatering, kjør kommandoen:
/ # apt install selinux-basics selinux-policy-default
Trykk på forespørsel Y for å fortsette installasjonsprosessen. Løpe apt oppdatering etter endt installasjon.
For å aktivere SELinux, kjør følgende kommando:
/ # selinux-aktivere
Som du ser var SELinux riktig aktivert. For å bruke alle endringene må du starte systemet på nytt som beskrevet.
Kommandoen getenforce kan brukes til å lære SELinux-statusen, hvis den er under tillatende eller håndhevende modus:
/ # getenforce
Den tillatende modusen kan erstattes ved å sette parameteren 1 (tillatelig er 0). Du kan også sjekke modusen på konfigurasjonsfilen ved hjelp av kommandoen mindre:
/ # mindre / etc / selinux / config
Produksjon:
Som du kan se viser konfigurasjonsfilene tillatelsesmodus. trykk Q å slutte.
For å se en fil eller prosess sikkerhetskontekst kan du bruke flagget -Z:
/ # ls -Z
Etikettformatet er bruker: rolle: type: nivå.
semanage - SELinux Policy Management-verktøy
semanage er SELinux Policy Management-verktøyet. Det gjør det mulig å administrere booleanere (som gjør det mulig å endre prosessen underveis), brukerroller og nivåer, nettverksgrensesnitt, policy-moduler og mer. Semanage lar deg konfigurere SELinux-policyer uten å måtte kompilere kilder. Semanage tillater koblingen mellom OS- og SELinux-brukere og visse objekters sikkerhetskontekster.
For mer informasjon om semanage, besøk mannssiden på: https: // linux.dø.nett / mann / 8 / semanage
Konklusjon og notater
SELinux er en ekstra måte å administrere tilgang fra prosesser til systemressurser som filer, partisjoner, kataloger osv. Det gjør det mulig å administrere massive privilegier i henhold til rolle, nivå eller type. Å ha det aktivert er et must som sikkerhetstiltak, og når du bruker det, er det viktig å huske sikkerhetslaget og starte systemet på nytt etter aktivering eller deaktivering av det (deaktivering anbefales ikke i det hele tatt bortsett fra spesifikke tester). Noen ganger blir en filtilgang blokkert til tross for at systemet eller OS-tillatelser er gitt fordi SELinux forbyr det.
Jeg håper du fant denne artikkelen om SELinux nyttig som introduksjon til denne sikkerhetsløsningen, fortsett å følge LinuxHint for flere tips og oppdateringer om Linux og nettverk.
Relaterte artikler:
- SELinux på Ubuntu-veiledning
- Slik deaktiverer du SELinux på CentOS 7
- Sjekkliste for sikkerhetsherding av Linux
- AppArmor-profiler på Ubuntu