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:
- setools - ez a csomag naplók megfigyelésére, házirendek lekérdezésére és a kontextusfájlok kezelésére szolgál.
- policycoreutils-python - python alapvető segédprogramokat biztosít a SELinux kezeléséhez
- policycoreutils - ez a csomag segédprogramokat is biztosít a SELinux kezeléséhez.
- 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.
- setools-console - hasonló a setools-hoz.
- Selinux-policy - referenciát nyújt a SELinux házirend konfigurálásához
- Selinux-házirend-célzott - hasonló a SELinux-házirendhez
- Libselinux-utils - SELinux libselinux segédprogramok, amelyek segítenek a SELinux kezelésében
- 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 selinuxlibselinux-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 mcstransSELinux 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ás
- Megengedő
- Tiltva
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:
getenforceTiltva
A fenti kimenet azt jelzi, hogy a SELinux jelenleg le van tiltva.
Használhatja a sestatus parancsot is az alábbiak szerint:
sestatusSELinux á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 / configMost szerkessze a SELINUX irányelvet:
SELINUX = megengedőA fájl mentése után indítsa újra a rendszert.
indítsa újraMEGJEGYZÉ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élyezveSELinuxfs 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élyezveSELinuxfs 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_dirls -Z ~ / | grep linuxhint
Ez a kimenetet az alábbiak szerint jeleníti meg:
unconfined_u: object_r: user_home_t: s0 linuxhint_dirTalálhat más, a biztonsági kontextusú könyvtárakat is:
system: _u: object_r: user_home_t: s0Rá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.