SELinux

SELinux kezdőknek a CentOS használatával

SELinux kezdőknek a CentOS használatával
Az NSA által a rosszindulatú hozzáférés és behatolások megakadályozása érdekében fejlesztette ki a Security-Enhanced Linux vagy a SELinux egy fejlett hozzáférés-vezérlő szolgáltatás, amelyet a legmodernebb Linux disztrókkal szállítanak. A SELinux a kötelező beléptető rendszer (MAC), amelyet a diszkrecionális beléptető rendszer (DAC) helyettesítésére fejlesztettek ki.

A SELinux ijesztőnek és nagyon nehezen megvalósíthatónak tűnik a legtöbb modern rendszerben. A SELinux konfigurálásának azonban hatalmas előnyei vannak mind a biztonság, mind a hibaelhárítás terén.

Ez az oktatóanyag a SELinux által alkalmazott különféle fogalmakat tárgyalja, és a SELinux megvalósításának különböző gyakorlati módszereit tárja fel.

MEGJEGYZÉS: Mielőtt elkezdenénk, jó, ha az oktatóanyagban szereplő parancsokat használjuk root felhasználóként vagy a sudoers csoport felhasználóiként.

Telepítse a SELinux csomagokat

Telepítsünk különféle SELinux csomagokat, amelyek viszont segítenek a SELinux házirendekkel való munkában.

Mielőtt folytatnánk a SELinux csomagok telepítését, jó, ha ellenőrizzük, hogy melyek telepítve vannak az aktuális rendszerre.

A REHL disztribúciók legtöbb telepítésénél egyes csomagok alapértelmezés szerint vannak telepítve. Ezek a csomagok a következőket tartalmazzák:

  1. setools - ez a csomag naplók megfigyelésére, házirendek lekérdezésére és a kontextusfájlok kezelésére szolgál.
  2. policycoreutils-python - python alapvető segédprogramokat biztosít a SELinux kezeléséhez
  3. policycoreutils - ez a csomag segédprogramokat is biztosít a SELinux kezeléséhez.
  4. mcstrans - Az mcstrans a SELinux fordítási démonot biztosítja, amely a különféle szinteket könnyen áttekinthető formátumokra fordítja.
  5. setools-console - hasonló a setools-hoz.
  6. Selinux-policy - referenciát nyújt a SELinux házirend konfigurálásához
  7. Selinux-házirend-célzott - hasonló a SELinux-házirendhez
  8. Libselinux-utils - SELinux libselinux segédprogramok, amelyek segítenek a SELinux kezelésében
  9. Setroubleshoot-server - eszközök a SELinux hibaelhárításához

Annak ellenőrzéséhez, hogy mely csomagok vannak már telepítve a rendszerén, használhatja az rpm -qa parancsot, és az eredményt átküldve grepelheti a SELinux számára:

rpm -qa | grep selinux
libselinux-utils-2.9-4.el8_3.x86_64
rpm-plugin-selinux-4.14.3-4.el8.x86_64
selinux-irányelv-célzott-3.14.3-54.el8_3.2.noarch
python3-libselinux-2.9-4.el8_3.x86_64
selinux-policy-3.14.3-54.el8_3.2.noarch
libselinux-2.9-4.el8_3.x86_64

Ez megadja a SELinux támogatáshoz telepített összes csomag kimenetét

Ha nem minden SELinux csomag van telepítve a rendszerére, akkor használja a yum alkalmazást az alábbi parancs szerint:

yum install policycoreutils policycoreutils-python-utils selinux-policy selinux-policy-suunatud libselinux-utils setroubleshoot-server setools setools-console mcstrans

SELinux módok és állapotok

Most kezdjünk el játszani a SELinux-szal, pontosabban a SELinux módokkal.

SELinux módok

Ha engedélyezve van, a SELinux három lehetséges mód lehet:

Végrehajtási mód

Ha kényszeríteni kell a SELinux módot, akkor az biztosítja, hogy egyetlen felhasználó vagy folyamat sem jogosulatlanul hozzáférjen a rendszerhez. A kényszerítési mód naplót vezet minden illetéktelen hozzáférési kísérletről.

Megengedő mód

A permisszív mód részben engedélyezett SELinux állapotként működik. Ebben a módban a hozzáférést nem tagadják meg, mivel a SELinux nem érvényesíti házirendjét ebben a módban. A megengedő mód azonban naplót vezet minden irányelvsértési kísérletről. Ez a mód nagyon hatékony a teszteléshez, mielőtt teljes mértékben engedélyezné, mivel a felhasználók és az összetevők továbbra is képesek interakcióba lépni a rendszerrel, de továbbra is naplókat gyűjtenek. Ez lehetővé teszi a rendszer finomhangolását az Ön számára megfelelő módon.

Letiltott mód

A letiltott mód letiltott állapotnak is tekinthető, amelyben a SELinux le van tiltva, és nem nyújt semmilyen biztonságot.

SELinux állapotok

Miután a SELinux telepítve van egy rendszerre. Bináris állapotai lehetnek: engedélyezve és letiltva. A SELinux állapotának megtekintéséhez használja a következő parancsot:

getenforce
Tiltva

A fenti kimenet azt jelzi, hogy a SELinux jelenleg le van tiltva.

Használhatja a sestatus parancsot is az alábbiak szerint:

sestatus
SELinux állapot: letiltva

A SELinux engedélyezése és letiltása

Az állapotokat és a SELinux konfigurálását az / etc / selinux / config könyvtárban található konfigurációs fájl kezeli. A cat paranccsal megtekintheti annak tartalmát.

cat / etc / selinux / config
#Ez a fájl szabályozza a rendszer SELinux állapotát.
# SELINUX = a következő három érték egyikét veheti fel:
#enforcing - A SELinux biztonsági házirendjét betartatják.
#permissive - A SELinux figyelmeztetéseket nyomtat végrehajtás helyett.
#disabled - Nincs betöltve SELinux házirend.
SELINUX = érvényesítés
# SELINUXTYPE = a következő három érték egyikét veheti fel:
# célzott - A célzott folyamatok védettek,
# minimum - A célzott irányelv módosítása. Csak a kiválasztott folyamatok vannak védve.
# mls - Többszintű biztonsági védelem.
SELINUXTYPE = célzott

A fenti kimenetből két fő irányelv van engedélyezve. A SELINUX irányelv meghatározta a SELinux konfigurálásának módját. A SELINUXTYPE irányelv meghatározza a SELinux házirend-készletet. Alapértelmezés szerint a SELinux egy célzott házirendet használ, amely lehetővé teszi a hozzáférés-felügyeleti engedélyek testreszabását. A másik irányelv a többszintű biztonság vagy az MLS.

Egyes verziókban megtalálhatja a minimális házirendet.

cd / etc / selinux /
[ls -l
összesen 4
-rw-r - r-- 1 gyökérgyökér 548 február 16 22:40 konfigur
drwxr-xr-x 1 gyökérgyökér 4096 február 16. 22:43 mls
-rw-r - r-- 1 gyökérgyökér 2425. július 21, 2020 semanage.konf
drwxr-xr-x 1 gyökérgyökér 4096 február 16. 22:40 megcélozva

Most nézzük meg, hogyan lehet engedélyezni a SELinuxot a rendszeren. Javasoljuk, hogy először állítsa a SELINUX módot megengedőre, és ne érvényesítse.

nano / etc / selinux / config

Most szerkessze a SELINUX irányelvet:

SELINUX = megengedő

A fájl mentése után indítsa újra a rendszert.

indítsa újra

MEGJEGYZÉS: Javasoljuk a SELINUX irányelv megengedő beállítását a SELinux végrehajtása előtt.

Miután újraindította a rendszert, ellenőrizze, hogy vannak-e a SELinux által a / var / log / messages könyvtárban jelentett naplók.

Ezután győződjön meg arról, hogy nincs hibája, és kényszerítse ki a SELinux alkalmazást azáltal, hogy az irányelvet az / etc / selinux / config fájlban érvényesíti

Végül megtekintheti a SELinux állapotot a sestatus paranccsal:

SELinux állapot: engedélyezve
SELinuxfs mount: / sys / fs / selinux
SELinux gyökérkönyvtár: / etc / selinux
Betöltött házirend neve: megcélzott
Jelenlegi mód: érvényesítés
Mód a konfigurációs fájlból: hiba (siker)
Házirend MLS állapota: engedélyezve
Házirend deny_unknown állapota: engedélyezett
Memória védelem ellenőrzése: tényleges (biztonságos)
Maximális kernel házirend-verzió: 31

Használhatja a setenforce parancsot a különböző SELinux módok közötti váltásra is. Például a megengedő mód beállításához használja a következő parancsot:

setenforce megengedő

Ez az üzemmód ideiglenes, és az újraindítás után visszaáll az egyikre a konfigurációs fájlban.

sestatus SELinux állapot: engedélyezve
SELinuxfs mount: / sys / fs / selinux
SELinux gyökérkönyvtár: / etc / selinux
Betöltött házirend neve: megcélzott
Aktuális mód: megengedő
Mód a config fájlból: kényszerítés
Házirend MLS állapota: engedélyezve
Házirend deny_unknown állapota: engedélyezett
Memória védelem ellenőrzése: tényleges (biztonságos)
Maximális kernel házirend-verzió: 31

SELinux házirend és kontextus

Annak elkerülése érdekében, hogy a SELinux kezdők számára zavart okozzon, nem merülünk el a SELinux házirendek megvalósításának mélységében, hanem egyszerűen csak megérintjük, hogy képet kapjunk róla.

A SELinux a biztonsági irányelvek végrehajtásával működik. A SELinux házirend egy olyan szabályra utal, amelyet a rendszer minden objektumának hozzáférési jogainak meghatározására használnak. Az objektumok a felhasználókra, folyamatokra, fájlokra és szerepekre vonatkoznak.

Minden kontextust a felhasználó: szerep: típus: szint formájában határozunk meg.

Például hozzon létre egy könyvtárat a saját könyvtárában, és tekintse meg annak SELinux biztonsági környezetét az alábbi parancsok szerint:

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

Ez a kimenetet az alábbiak szerint jeleníti meg:

unconfined_u: object_r: user_home_t: s0 linuxhint_dir

Találhat más, a biztonsági kontextusú könyvtárakat is:

system: _u: object_r: user_home_t: s0

Rájöhet, hogy a fenti kimenet a felhasználó: szerep: típus: szint szintaktikáját követi.

Következtetés

Ez egy kezdő oktatóanyag volt a SELinux számára a CentOS 8 használatával. Bár az oktatóanyag kezdőknek készült, több mint elég ahhoz, hogy a lábad SELinux alatt futhasson, és eltávolítsd a SELinux megfélemlítő jellegét.

Köszönöm, hogy elolvasta.

A legjobb Gamepad Mapping alkalmazások Linuxhoz
Ha egy tipikus billentyűzet és egér beviteli rendszer helyett szeretnél játékokat játszani Linuxon egy játékvezérlővel, van néhány hasznos alkalmazás ...
Hasznos eszközök Linux játékosok számára
Ha szeretsz Linuxon játszani, akkor valószínű, hogy olyan alkalmazásokat és segédprogramokat használtál, mint a Wine, a Lutris és az OBS Studio a játé...
HD Remastered Games for Linux, amelyeknek soha nem volt korábban Linux kiadásuk
Számos játékfejlesztő és kiadó a régi játékok HD remasterjével áll elő a franchise élettartamának meghosszabbítása érdekében. Kérjük, hogy a rajongók ...