Selinux kan virke skremmende og veldig vanskelig å implementere i de fleste moderne systemer. Konfigurering av Selinux har imidlertid enorme fordeler både i å håndheve sikkerhet og feilsøking.
Denne opplæringen vil diskutere forskjellige konsepter implementert av Selinux og utforske forskjellige praktiske metoder for å implementere Selinux.
Merk: Før vi begynner, er det godt å bruke kommandoene i denne opplæringen som rotbruker eller en bruker i Sudoers Group.
Installer Selinux -pakker
La oss installere forskjellige Selinux -pakker, som igjen vil bidra til å samarbeide med Selinux -retningslinjene.
Før vi fortsetter med å installere Selinux -pakkene, er det bra vi bekrefter som er installert på det nåværende systemet.
I de fleste installasjoner av REHL -distribusjoner er noen pakker installert som standard. Disse pakkene inkluderer:
For å bekrefte hvilke pakker som allerede er installert på systemet ditt, kan du bruke RPM -QA -kommandoen og pipe resultatet for å grep for Selinux som:
Rpm -qa | Grep Selinux
Libselinux-UTILS-2.9-4.El8_3.x86_64
RPM-plugin-Selinux-4.14.3-4.El8.x86_64
Selinux-Policy-målrettet-3.14.3-54.El8_3.2.Noark
Python3-Libselinux-2.9-4.El8_3.x86_64
Selinux-Policy-3.14.3-54.El8_3.2.Noark
Libselinux-2.9-4.El8_3.x86_64
Dette skal gi deg en utdata av alle pakkene som er installert for Selinux -støtte
Hvis ikke alle Selinux -pakkene er installert på systemet ditt, bruk Yum til å installere dem som vist i kommandoen nedenfor:
yum installere politikkhalsureutils PolicyCoreutils-Python-UTILS Selinux-Policy Selinux-Policy-målrettet libselinux-utils setRoubleshoot-server setools setools-console mcstrans
Selinux -modus og stater
La oss nå begynne å spille med Selinux, spesielt Selinux -modus.
Selinux -modus
Når det er aktivert, kan Selinux være tre mulige modus:
Håndhevingsmodus
Hvis Selinux -modus skal håndheve, vil det sikre at ingen uautorisert tilgang til systemet av noen bruker eller prosesser blir nektet. Håndhevingsmodus holder også logger over alle forsøk på uautorisert tilgang.
Tillatt modus
Tillatende modus fungerer som en delvis aktivert Selinux -tilstand. I denne modusen nektes ingen tilgang da Selinux ikke håndhever retningslinjene sine i denne modusen. Imidlertid holder den tillatte modusen en logg over eventuelle brudd på politikken. Denne modusen er veldig effektiv for testing før du aktiverer den fullt ut som brukere og komponenter fremdeles kan samhandle med systemet, men fortsatt samle inn logger. Dette lar deg finjustere systemet ditt på måter du synes passer.
Deaktivert modus
Deaktivert modus kan også sees på som en funksjonshemmet tilstand der Selinux er deaktivert og ikke tilbyr noen sikkerhet.
Selinux uttaler
Når Selinux er installert på et system. Det kan ha binære tilstander: aktivert og deaktivert. For å se Selinux -tilstanden, bruk kommandoen:
getenforce
Funksjonshemmet
Outputten ovenfor indikerer at Selinux for øyeblikket er deaktivert.
Du kan også bruke Sestatus -kommandoen som vist nedenfor:
sestatus
Selinux Status: Deaktivert
Aktiver og deaktiver Selinux
Tilstander og konfigurasjon av Selinux håndteres av konfigurasjonsfilen som ligger i/etc/selinux/config. Du kan bruke CAT -kommandoen til å se innholdet.
katt/etc/selinux/config
#Denne filen kontrollerer tilstanden til Selinux på systemet.
#Selinux = kan ta en av disse tre verdiene:
#Enforcing - Selinux Security Policy håndheves.
#PERMISHIVE - SELINUX TRINGER ADVARSLER I stedet for å håndheve.
#Disabled - Ingen Selinux -policyer er lastet.
Selinux = håndheving
#Selinuxtype = kan ta en av disse tre verdiene:
# Målrettede - Målrettede prosesser er beskyttet,
# Minimum - Endring av målrettet policy. Bare utvalgte prosesser er beskyttet.
# MLS - Sikkerhetsbeskyttelse på flere nivåer.
SelinuxType = målrettet
Fra output ovenfor har vi to hoveddirektiver aktivert. Selinux -direktivet spesifiserte modus som Selinux er konfigurert. SelinuxType -direktivet spesifiserer Selinux -policy -settet. Som standard bruker Selinux en målrettet policy som lar deg tilpasse tilgangskontrollstillatelser. Den andre policyen er flernivåsikkerhet eller MLS.
Kan du finne, minimumspolicy i noen versjoner.
CD/etc/selinux/
[ls -l
Totalt 4
-RW-R-R-- 1 Rotrot 548 16. februar 22:40 Config
DRWXR-XR-X 1 ROOT ROOT 4096 16. februar 22:43 MLS
-RW-R-R-- 1 ROOT ROOT 2425 JUL 21 2020 SEMANAGE.konf
DRWXR-XR-X 1 ROOT ROOT 4096 16. februar 22:40 Målrettet
La oss nå se hvordan vi kan aktivere Selinux på systemet. Vi anbefaler først å sette Selinux -modus til tillatt og ikke håndhevet.
Nano/etc/selinux/config
Rediger nå Selinux -direktivet som:
Selinux = tillatt
Når du har lagret filen, kan du utstede en systemstart på nytt.
Start på nytt
Merk: Vi anbefaler på det sterkeste å sette Selinux -direktivet for å tillate før vi håndhever Selinux.
Når du starter systemet på nytt, kan du se etter eventuelle logger rapportert av Selinux i/var/log/meldinger.
Deretter må du sørge for at du ikke har noen feil og håndheve Selinux ved å stille direktivet til å håndheve i/etc/selinux/config
Til slutt kan du se Selinux -statusen ved å bruke Sestatus -kommandoen:
Selinux Status: Aktivert
Selinuxfs Mount:/sys/fs/selinux
Selinux rotkatalog: /etc /selinux
Loaded Policy Name: Målrettet
Gjeldende modus: håndheving
Mode fra Config -fil: Feil (suksess)
Policy MLS Status: Aktivert
Policy Deny_Unbnown Status: Tillatt
Minnebeskyttelseskontroll: faktisk (sikker)
Max Kernel Policy Version: 31
Du kan også bruke SETENFORCE -kommandoen til å veksle mellom forskjellige Selinux -modus. For eksempel for å stille modus til tillatt, bruk kommandoen:
setenforce tillatt
Denne modusen er midlertidig og vil bli gjenopprettet til en i konfigurasjonsfilen etter en omstart.
sestatus
Selinux Status: Aktivert
Selinuxfs Mount:/sys/fs/selinux
Selinux rotkatalog: /etc /selinux
Loaded Policy Name: Målrettet
Gjeldende modus: tillatt
Modus fra konfigurasjonsfil: håndheving
Policy MLS Status: Aktivert
Policy Deny_Unbnown Status: Tillatt
Minnebeskyttelseskontroll: faktisk (sikker)
Max Kernel Policy Version: 31
Selinux -policy og kontekst
For å unngå forvirring for Selinux -nybegynnere, vil vi ikke dykke dypt inn i hvordan Selinux -policyer implementeres, men bare berøre den for å gi deg en ide.
Selinux fungerer ved å implementere sikkerhetspolitikk. En Selinux -policy refererer til en regel som brukes til å definere tilgangsrettigheter for hvert objekt i systemet. Objekter refererer til brukere, prosesser, filer og roller.
Hver kontekst er definert i form av brukeren: rolle: type: nivå.
Lag for eksempel en katalog i hjemmekatalogen din og se sin Selinux sikkerhetskontekst som vist i kommandoene nedenfor:
mkdir ~/linuxhint_dir
ls -z ~/ | grep linuxhint
Dette vil vise utdata som vist nedenfor:
Unconfined_u: Object_r: user_home_t: s0 linuxhint_dir
Du kan også finne andre kataloger med sikkerhetskontekstene som:
System: _U: objekt_r: bruker_home_t: S0
Du kan innse at output ovenfor følger syntaksen til brukeren: rolle: type: nivå.
Konklusjon
Det var en nybegynneropplæring til Selinux ved å bruke Centos 8. Selv om opplæringen er designet for nybegynnere, er det mer enn nok å få føttene i Selinux og fjerne den skremmende naturen til Selinux.
Takk for at du leser.