SELinux

SELinux iesācējiem, izmantojot CentOS

SELinux iesācējiem, izmantojot CentOS
NSA izstrādāts, lai novērstu ļaunprātīgu piekļuvi un iejaukšanos, ar drošību uzlabota Linux vai SELinux ir uzlabota piekļuves kontroles funkcija, kas tiek piegādāta ar vismodernākajām Linux distros. SELinux ir definēta kā obligātās piekļuves kontroles (MAC) sistēma, kas izstrādāta kā diskrecionārās piekļuves kontroles sistēmas (DAC) aizstājēja.

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:

  1. setools - šo pakotni izmanto žurnālu uzraudzībai, vaicājumu politikas un konteksta failu pārvaldībai.
  2. policycoreutils-python - nodrošina pitona pamata utilītprogrammas SELinux pārvaldībai
  3. policycoreutils - šī pakete nodrošina arī utilītprogrammas SELinux pārvaldībai.
  4. mcstrans - mcstrans nodrošina SELinux tulkošanas dēmonu, kas dažādus līmeņus tulko viegli saprotamos formātos, kurus var viegli saprast.
  5. setools-console - līdzīgs setools.
  6. Selinux-policy - tā sniedz atsauci uz SELinux politikas konfigurēšanu
  7. Atlasīta uz politiku - mērķtiecīga - līdzīga SELinux politikai
  8. Libselinux-utils - SELinux libselinux utilītas, kas palīdz pārvaldīt SELinux
  9. 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 selinux
libselinux-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 mcstrans

SELinux 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:

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:

getenforce
Atspē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:

sestatus
SELinux 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 / config

Tagad rediģējiet SELINUX direktīvu kā:

SELINUX = visatļautība

Kad esat saglabājis failu, izsniedziet sistēmas atsāknēšanu.

atsāknēšana

PIEZĪ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ējots
SELinuxfs 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ējots
SELinuxfs 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_dir
ls -Z ~ / | grep linuxhint

Tas parādīs izvadi, kā parādīts zemāk:

unconfined_u: object_r: user_home_t: s0 linuxhint_dir

Varat atrast arī citus direktorijus ar drošības kontekstu:

sistēma: _u: objekta_r: lietotāja_mājas_t: s0

Jū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.

Pievienojiet peles žestus operētājsistēmai Windows 10, izmantojot šos bezmaksas rīkus
Pēdējos gados datori un operētājsistēmas ir ievērojami attīstījušās. Bija laiks, kad lietotājiem bija jāizmanto komandas, lai pārvietotos pa failu pār...
Kontrolējiet un pārvaldiet peles kustību starp vairākiem monitoriem sistēmā Windows 10
Dual Display Mouse Manager ļauj kontrolēt un konfigurēt peles kustību starp vairākiem monitoriem, palēninot tās kustību robežas tuvumā. Windows 10/8 ļ...
WinMouse ļauj jums pielāgot un uzlabot peles rādītāja kustību Windows datorā
Ja vēlaties uzlabot peles rādītāja noklusējuma funkcijas, izmantojiet bezmaksas programmatūru WinMouse. Tas pievieno vairāk funkciju, kas palīdzēs jum...