SELinux var šķist biedējošs un ļoti grūti īstenojams lielākajā daļā mūsdienu sistēmu. Tomēr SELinux konfigurēšanai ir milzīgas priekšrocības gan drošības nodrošināšanā, gan problēmu novēršanā.
Šajā apmācībā tiks apspriesti dažādi SELinux ieviestie jēdzieni un izpētītas dažādas praktiskas SELinux ieviešanas metodes.
PIEZĪME. Pirms mēs sākam, ir labi izmantot šīs apmācības komandas kā root lietotāju vai sudoers grupas lietotāju.
Instalējiet SELinux pakotnes
Instalēsim dažādas SELinux pakotnes, kas savukārt palīdzēs strādāt ar SELinux politikām.
Pirms turpināt SELinux pakotņu instalēšanu, ir labi pārbaudīt, kuras ir instalētas pašreizējā sistēmā.
Lielākajā daļā REHL izplatīšanas instalāciju dažas paketes tiek instalētas pēc noklusējuma. Šīs paketes ietver:
- setools - šo pakotni izmanto žurnālu uzraudzībai, vaicājumu politikas un konteksta failu pārvaldībai.
- policycoreutils-python - nodrošina pitona pamata utilītprogrammas SELinux pārvaldībai
- policycoreutils - šī pakete nodrošina arī utilītprogrammas SELinux pārvaldībai.
- mcstrans - mcstrans nodrošina SELinux tulkošanas dēmonu, kas dažādus līmeņus tulko viegli saprotamos formātos, kurus var viegli saprast.
- setools-console - līdzīgs setools.
- Selinux-policy - tā sniedz atsauci uz SELinux politikas konfigurēšanu
- Atlasīta uz politiku - mērķtiecīga - līdzīga SELinux politikai
- Libselinux-utils - SELinux libselinux utilītas, kas palīdz pārvaldīt SELinux
- Setroubleshoot-server - rīki SELinux problēmu novēršanai
Lai pārbaudītu, kuras paketes jau ir instalētas jūsu sistēmā, varat izmantot komandu rpm -qa un ievadīt rezultātu, lai grepētu SELinux kā:
apgriezieni -qa | grep selinuxlibselinux-utils-2.9-4.el8_3.x86_64
rpm-plugin-selinux-4.14.3-4.el8.x86_64
selinux-policy-suunatud-3.14.3-54.el8_3.2.noarhs
python3-libselinux-2.9-4.el8_3.x86_64
selinux-policy-3.14.3-54.el8_3.2.noarhs
libselinux-2.9-4.el8_3.x86_64
Tam vajadzētu iegūt visu SELinux atbalstam instalēto pakotņu izvadi
Ja jūsu sistēmā nav instalētas visas SELinux pakotnes, izmantojiet yum, lai tās instalētu, kā parādīts zemāk esošajā komandā:
yum instalēt policycoreutils policycoreutils-python-utils selinux-policy selinux-policy-kohdistīts libselinux-utils setroubleshoot-server setools setools-console mcstransSELinux režīmi un stāvokļi
Tagad sāksim spēlēt ar SELinux, īpaši ar SELinux režīmiem.
SELinux režīmi
Ja tas ir iespējots, SELinux var būt trīs iespējamie režīmi:
- Izpilde
- Visatļautība
- Atspējots
Izpildes režīms
Ja ieviest SELinux režīmu, tas nodrošinās, ka netiek liegta neviena lietotāja vai procesa nesankcionēta piekļuve sistēmai. Izpildes režīms arī glabā žurnālus par visiem nesankcionētas piekļuves mēģinājumiem.
Visatļautības režīms
Permisīvais režīms darbojas kā daļēji iespējots SELinux stāvoklis. Šajā režīmā piekļuve netiek liegta, jo SELinux neievieš savas politikas šajā režīmā. Tomēr visatļautības režīmā tiek reģistrēti visi politikas pārkāpumu mēģinājumi. Šis režīms ir ļoti efektīvs testēšanai, pirms tas tiek pilnībā iespējots, jo lietotāji un komponenti joprojām var mijiedarboties ar sistēmu, bet joprojām apkopo žurnālus. Tas ļauj precīzi noregulēt sistēmu pēc jūsu ieskatiem.
Atspējots režīms
Invalīdu režīmu var uzskatīt arī par invalīdu stāvokli, kurā SELinux ir atspējots un nepiedāvā nekādu drošību.
SELinux valstis
Kad SELinux ir instalēts sistēmā. Tam var būt bināri stāvokļi: iespējoti un atspējoti. Lai skatītu SELinux stāvokli, izmantojiet komandu:
getenforceAtspējots
Iepriekš minētā izeja norāda, ka SELinux pašlaik ir atspējota.
Varat arī izmantot komandu sestatus, kā parādīts zemāk:
sestatusSELinux statuss: atspējots
Iespējot un atspējot SELinux
SELinux stāvokļus un konfigurāciju apstrādā konfigurācijas fails, kas atrodas mapē / etc / selinux / config. Lai skatītu tā saturu, varat izmantot komandu cat.
cat / etc / selinux / config# Šis fails kontrolē SELinux stāvokli sistēmā.
# SELINUX = var izmantot vienu no šīm trim vērtībām:
#enforcing - tiek ieviesta SELinux drošības politika.
#permissive - SELinux izdrukā brīdinājumus, nevis izpilda.
#disabled - nav ielādēta SELinux politika.
SELINUX = izpilde
# SELINUXTYPE = var izmantot vienu no šīm trim vērtībām:
# target - mērķtiecīgi procesi ir aizsargāti,
# minimums - mērķtiecīgas politikas pārveidošana. Tikai izvēlētie procesi ir aizsargāti.
# mls - daudzlīmeņu drošības aizsardzība.
SELINUXTYPE = mērķēts
No iepriekš minētā rezultāta mums ir iespējotas divas galvenās direktīvas. SELINUX direktīva noteica režīmu, kādā tiek konfigurēts SELinux. SELINUXTYPE direktīva norāda SELinux politikas kopu. Pēc noklusējuma SELinux izmanto mērķtiecīgu politiku, kas ļauj pielāgot piekļuves kontroles atļaujas. Otra politika ir daudzlīmeņu drošība jeb MLS.
Dažās versijās jūs varat atrast minimālo politiku.
cd / etc / selinux /[ls -l
kopā 4
-rw-r - r-- 1 saknes sakne 548 16. februāris 22:40 konfigur
drwxr-xr-x 1 saknes sakne 4096 16. februāris 22:43 mls
-rw-r - r-- 1 saknes sakne 2425. gada 21. jūlijs 2020 semanage.konf
drwxr-xr-x 1 saknes sakne 4096 16. februāris 22:40 mērķauditorija
Ļaujiet mums tagad uzzināt, kā sistēmā iespējot SELinux. Mēs iesakām vispirms iestatīt SELINUX režīmu uz visatļautību un nepiemērot.
nano / etc / selinux / configTagad rediģējiet SELINUX direktīvu kā:
SELINUX = visatļautībaKad esat saglabājis failu, izsniedziet sistēmas atsāknēšanu.
atsāknēšanaPIEZĪME. Pirms SELinux ieviešanas mēs ļoti iesakām iestatīt SELINUX direktīvu kā visatļautību.
Kad esat restartējis sistēmu, pārbaudiet, vai SELinux nav reģistrējis žurnālus mapē / var / log / messages.
Pēc tam pārliecinieties, ka jums nav kļūdu, un izpildiet SELinux, iestatot direktīvu, lai tā tiktu ieviesta mapē / etc / selinux / config
Visbeidzot, jūs varat apskatīt SELinux statusu, izmantojot komandu sestatus:
SELinux statuss: iespējotsSELinuxfs mount: / sys / fs / selinux
SELinux saknes direktorijs: / etc / selinux
Ielādēts politikas nosaukums: mērķēts
Pašreizējais režīms: izpilde
Režīms no konfigurācijas faila: kļūda (veiksmīgi)
Politikas MLS statuss: iespējots
Politikas deny_unknown statuss: atļauts
Atmiņas aizsardzības pārbaude: faktiska (droša)
Maks. Kodola politikas versija: 31
Varat arī izmantot komandu setenforce, lai pārslēgtos starp dažādiem SELinux režīmiem. Piemēram, lai režīmu iestatītu uz visatļautību, izmantojiet komandu:
setenforce visatļautībaŠis režīms ir īslaicīgs, un pēc restartēšanas tas tiks atjaunots vienā konfigurācijas failā.
sestatus SELinux statuss: iespējotsSELinuxfs mount: / sys / fs / selinux
SELinux saknes direktorijs: / etc / selinux
Ielādēts politikas nosaukums: mērķēts
Pašreizējais režīms: visatļautība
Režīms no konfigurācijas faila: izpildīšana
Politikas MLS statuss: iespējots
Politikas deny_unknown statuss: atļauts
Atmiņas aizsardzības pārbaude: faktiska (droša)
Maks. Kodola politikas versija: 31
SELinux politika un konteksts
Lai izvairītos no neskaidrībām SELinux iesācējiem, mēs neiedziļināsimies, kā tiek ieviesta SELinux politika, bet vienkārši pieskaramies tai, lai sniegtu ideju.
SELinux darbojas, ieviešot drošības politikas. SELinux politika attiecas uz kārtulu, kas tiek izmantota, lai definētu piekļuves tiesības katram sistēmas objektam. Objekti attiecas uz lietotājiem, procesiem, failiem un lomām.
Katrs konteksts tiek definēts kā lietotājs: loma: tips: līmenis.
Piemēram, izveidojiet direktoriju mājas direktorijā un skatiet tā SELinux drošības kontekstu, kā parādīts zemāk esošajās komandās:
mkdir ~ / linuxhint_dirls -Z ~ / | grep linuxhint
Tas parādīs izvadi, kā parādīts zemāk:
unconfined_u: object_r: user_home_t: s0 linuxhint_dirVarat atrast arī citus direktorijus ar drošības kontekstu:
sistēma: _u: objekta_r: lietotāja_mājas_t: s0Jūs varat saprast, ka iepriekšminētā izeja seko lietotāja sintaksei: loma: tips: līmenis.
Secinājums
Tā bija SELinux iesācēju apmācība, izmantojot CentOS 8. Kaut arī apmācība ir paredzēta iesācējiem, tas ir vairāk nekā pietiekami, lai jūsu kājas darbotos SELinux un novērstu SELinux biedējošo raksturu.
Paldies par lasīšanu.