SELinux

SELinux til begyndere ved hjælp af CentOS

SELinux til begyndere ved hjælp af CentOS
Udviklet af NSA for at forhindre ondskabsfuld adgang og indtrængen, er Security-Enhanced Linux eller SELinux en avanceret adgangskontrolfunktion, der leveres med de fleste moderne Linux-distroer. SELinux er defineret som det obligatoriske adgangskontrolsystem (MAC) udviklet som erstatning for diskretionært adgangskontrolsystem (DAC).

SELinux kan virke skræmmende og meget svært at implementere i de fleste moderne systemer. Imidlertid har konfiguration af SELinux store fordele både ved håndhævelse af sikkerhed og fejlfinding.

Denne tutorial vil diskutere forskellige koncepter implementeret af SELinux og udforske forskellige praktiske metoder til implementering af SELinux.

BEMÆRK: Før vi begynder, er det godt at bruge kommandoerne i denne selvstudie som rodbruger eller bruger i sudoers-gruppen.

Installer SELinux-pakker

Lad os installere forskellige SELinux-pakker, som igen hjælper med at arbejde med SELinux-politikker.

Før vi fortsætter med at installere SELinux-pakkerne, er det godt, at vi kontrollerer, hvilke der er installeret på det aktuelle system.

I de fleste installationer af REHL-distributioner er nogle pakker installeret som standard. Disse pakker inkluderer:

  1. setools - denne pakke bruges til at overvåge logfiler, forespørgselspolitikker og kontekstfilhåndtering.
  2. policycoreutils-python - giver python-kernefunktioner til styring af SELinux
  3. policycoreutils - denne pakke giver også hjælpeprogrammer til styring af SELinux.
  4. mcstrans - mcstrans giver SELinux-oversættelsesdemon, som oversætter forskellige niveauer til nemme formater, som let kan forstås.
  5. setools-console - svarer til setools.
  6. Selinux-policy - det giver en reference til konfiguration af SELinux-politik
  7. Selinux-politik-målrettet - svarer til SELinux-politik
  8. Libselinux-utils - SELinux libselinux-værktøjer, der hjælper med at styre SELinux
  9. Setroubleshoot-server - værktøjer til fejlfinding af SELinux

For at kontrollere, hvilke pakker der allerede er installeret på dit system, kan du bruge kommandoen rpm -qa og pibe resultatet til 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-politik-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 give dig en output af alle de pakker, der er installeret til SELinux-support

Hvis ikke alle SELinux-pakkerne er installeret på dit system, skal du bruge yum til at installere dem som vist i kommandoen nedenfor:

yum installere policycoreutils policycoreutils-python-utils selinux-policy selinux-policy-målrettet libselinux-utils setroubleshoot-server setools setools-console mcstrans

SELinux-tilstande og stater

Lad os nu begynde at spille med SELinux, specifikt SELinux-tilstande.

SELinux-tilstande

Når det er aktiveret, kan SELinux være tre mulige tilstande:

Håndhævelsestilstand

Hvis SELinux-tilstand skal håndhæves, vil det sikre, at ingen uautoriseret adgang til systemet fra nogen bruger eller processer nægtes. Håndhævelsestilstand fører også logfiler over ethvert forsøg på uautoriseret adgang.

Tilladelig tilstand

Tilladende tilstand fungerer som en delvist aktiveret SELinux-tilstand. I denne tilstand nægtes ingen adgang, da SELinux ikke håndhæver sine politikker i denne tilstand. Den tilladende tilstand fører dog en log over ethvert forsøg på overtrædelse af politikker. Denne tilstand er meget effektiv til test, før den aktiveres fuldt ud, da brugere og komponenter stadig kan interagere med systemet, men stadig indsamler logfiler. Dette giver dig mulighed for at finjustere dit system på måder, du finder passende.

Deaktiveret tilstand

Deaktiveret tilstand kan også ses som en deaktiveret tilstand, hvor SELinux er deaktiveret og ikke tilbyder nogen sikkerhed.

SELinux-stater

Når SELinux er installeret på et system. Det kan have binære tilstande: aktiveret og deaktiveret. Brug kommandoen for at se tilstanden for SELinux:

getenforce
handicappet

Ovenstående output angiver, at SELinux i øjeblikket er deaktiveret.

Du kan også bruge sestatus-kommandoen som vist nedenfor:

sestatus
SELinux-status: deaktiveret

Aktivér og deaktiver SELinux

Tilstande og konfiguration af SELinux håndteres af konfigurationsfilen i / etc / selinux / config. Du kan bruge kommandoen cat til at se dens indhold.

cat / etc / selinux / config
#Denne fil styrer tilstanden af ​​SELinux på systemet.
# SELINUX = kan tage en af ​​disse tre værdier:
#enforcing - SELinux sikkerhedspolitik håndhæves.
#permissive - SELinux udskriver advarsler i stedet for at håndhæve.
#deaktiveret - Ingen SELinux-politik er indlæst.
SELINUX = håndhævelse
# SELINUXTYPE = kan tage en af ​​disse tre værdier:
# målrettet - Målrettede processer er beskyttet,
# minimum - Ændring af målrettet politik. Kun udvalgte processer er beskyttet.
# mls - Sikkerhedsbeskyttelse på flere niveauer.
SELINUXTYPE = målrettet

Fra ovenstående output har vi to hoveddirektiver aktiveret. SELINUX-direktivet specificerede den tilstand, hvor SELinux er konfigureret. SELINUXTYPE-direktivet specificerer SELinux-politiksættet. Som standard bruger SELinux en målrettet politik, der giver dig mulighed for at tilpasse tilladelser til adgangskontrol. Den anden politik er sikkerhed på flere niveauer eller MLS.

Du finder muligvis minimumspolitik i nogle versioner.

cd / etc / selinux /
[ls -l
i alt 4
-rw-r - r-- 1 rodrod 548 16. februar 22:40 konfigur
drwxr-xr-x 1 rodrod 4096 16. februar 22:43 ml
-rw-r - r-- 1 rodrod 2425 21. juli 2020 semanage.konf
drwxr-xr-x 1 rodrod 4096 16. februar 22:40 målrettet

Lad os nu se, hvordan du aktiverer SELinux på systemet. Vi anbefaler først at indstille SELINUX-tilstanden til tilladende og ikke håndhæves.

nano / etc / selinux / config

Rediger nu SELINUX-direktivet som:

SELINUX = tilladelig

Når du har gemt filen, skal du udstede en systemgenstart.

genstart

BEMÆRK: Vi anbefaler stærkt at indstille SELINUX-direktivet til tilladeligt, før SELinux håndhæves.

Når du har genstartet systemet, skal du kontrollere, om der er rapporteret af SELinux i / var / log / meddelelser.

Dernæst skal du sikre dig, at du ikke har nogen fejl, og håndhæve SELinux ved at indstille direktivet til at håndhæve i / etc / selinux / config

Endelig kan du se SELinux-status ved hjælp af sestatus-kommandoen:

SELinux-status: aktiveret
SELinuxfs mount: / sys / fs / selinux
SELinux rodmappe: / etc / selinux
Indlæst politiknavn: målrettet
Aktuel tilstand: håndhævelse
Tilstand fra konfigurationsfil: fejl (succes)
Politik MLS-status: aktiveret
Politik beny_unknown status: tilladt
Hukommelsesbeskyttelseskontrol: faktisk (sikker)
Max kernepolitisk version: 31

Du kan også bruge kommandoen setenforce til at skifte mellem forskellige SELinux-tilstande. For eksempel for at indstille tilstanden til tilladende skal du bruge kommandoen:

setenforce tilladelig

Denne tilstand er midlertidig og gendannes til en i konfigurationsfilen efter en genstart.

sestatus SELinux-status: aktiveret
SELinuxfs mount: / sys / fs / selinux
SELinux rodmappe: / etc / selinux
Indlæst politiknavn: målrettet
Aktuel tilstand: tilladelig
Tilstand fra konfigurationsfil: håndhævelse
Politik MLS-status: aktiveret
Politik beny_unknown status: tilladt
Hukommelsesbeskyttelseskontrol: faktisk (sikker)
Max kernepolitik version: 31

SELinux-politik og kontekst

For at undgå forvirring for SELinux-begyndere dykker vi ikke dybt ned i, hvordan SELinux-politikker implementeres, men berører blot det for at give dig en idé.

SELinux fungerer ved at implementere sikkerhedspolitikker. En SELinux-politik henviser til en regel, der bruges til at definere adgangsrettigheder for hvert objekt i systemet. Objekter refererer til brugere, processer, filer og roller.

Hver kontekst er defineret i form af brugeren: rolle: type: niveau.

For eksempel skal du oprette en mappe i din hjemmekatalog og se dens SELinux sikkerhedskontekst som vist i kommandoerne nedenfor:

mkdir ~ / linuxhint_dir
ls -Z ~ / | grep linuxhint

Dette viser output som vist nedenfor:

unconfined_u: object_r: user_home_t: s0 linuxhint_dir

Du kan også finde andre mapper med sikkerhedskontekster som:

system: _u: object_r: user_home_t: s0

Du kan indse, at ovenstående output følger brugerens syntaks: rolle: type: niveau.

Konklusion

Det var en begyndervejledning til SELinux ved hjælp af CentOS 8. Selvom vejledningen er designet til begyndere, er det mere end nok at få dine fødder i gang i SELinux og fjerne SELinuxs skræmmende natur.

Tak fordi du læste.

Mus Microsoft Sculpt Touch Wireless Mouse Review
Microsoft Sculpt Touch Wireless Mouse Review
Jeg har for nylig læst om Microsoft Sculpt Touch trådløs mus og besluttede at købe den. Efter at have brugt det et stykke tid besluttede jeg at dele m...
Mus AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
AppyMouse pegefelt på skærmen og musemarkør til Windows-tablets
Tabletbrugere savner ofte musemarkøren, især når de er vante til at bruge bærbare computere. Touchscreen-smartphones og tablets har mange fordele, og ...
Mus Midterste museknap fungerer ikke i Windows 10
Midterste museknap fungerer ikke i Windows 10
Det midterste museknap hjælper dig med at rulle gennem lange websider og skærme med en masse data. Hvis det stopper, vil du ende med at bruge tastatur...