Selinux for nybegynnere som bruker centos

Selinux for nybegynnere som bruker centos
Sikkerhetsforbedret Linux eller Selinux er utviklet av NSA for å forhindre ondskapsfull tilgang og inntrenginger, og er en avansert tilgangskontrollfunksjon som leveres med de fleste moderne Linux-distros. Selinux er definert som det obligatoriske tilgangskontroll (MAC) -systemet utviklet som en erstatning for skjønnsmessig tilgangskontrollsystem (DAC).

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:

  1. Setools - Denne pakken brukes til å overvåke logger, spørringspolicyer og kontekstfilstyring.
  2. PolicyCoreutils -Python - gir Python Core Verktøy for å administrere Selinux
  3. PolicyCoreutils - Denne pakken gir også verktøy for å administrere Selinux.
  4. McSTRANS - McSTRANS gir Selinux Translation Daemon, som oversetter forskjellige nivåer til enkle formater som lett kan forstås.
  5. setools -console - ligner på setools.
  6. Selinux -Policy - Det gir en referanse for konfigurering av Selinux -policy
  7. Selinux-Policy-målrettet-lik Selinux-Policy
  8. Libselinux -UTILS - Selinux Libselinux -verktøy som hjelper til med å administrere Selinux
  9. SetRoubleshoot -server - Verktøy for feilsøking Selinux

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åndheving
  • Tillatt
  • Funksjonshemmet

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.