SELinux

SELinux algajatele, kes kasutavad CentOS-i

SELinux algajatele, kes kasutavad CentOS-i
NSA on välja töötanud pahatahtliku juurdepääsu ja sissetungide vältimiseks. Turvalisusega täiustatud Linux või SELinux on täiustatud juurdepääsukontrolli funktsioon, mida tarnitakse kõige kaasaegsemate Linuxi distrodega. SELinux on määratletud kui kohustusliku juurdepääsukontrolli (MAC) süsteem, mis on välja töötatud diskreetse juurdepääsu kontrollisüsteemi (DAC) asendajana.

SELinux võib tunduda hirmutav ja seda on enamikus kaasaegsetes süsteemides väga raske rakendada. Kuid SELinuksi seadistamisel on tohutuid eeliseid nii turvalisuse jõustamisel kui ka tõrkeotsingul.

Selles õpetuses käsitletakse erinevaid SELinuksi rakendatud mõisteid ja uuritakse erinevaid praktilisi meetodeid SELinuksi juurutamiseks.

MÄRKUS. Enne alustamist on hea kasutada selles õpetuses olevaid käske root- või sudoers-rühma kasutajana.

Installige SELinuxi paketid

Paigaldagem erinevaid SELinuksi pakette, mis omakorda aitavad SELinuksi poliitikatega töötada.

Enne SELinuksi pakettide installimist on hea kontrollida, millised on praegusele süsteemile installitud.

Enamikus REHLi distributsioonide installides on mõned paketid vaikimisi installitud. Need paketid sisaldavad:

  1. setools - seda paketti kasutatakse logide jälgimiseks, poliitikate päringuteks ja kontekstifailide haldamiseks.
  2. policycoreutils-python - pakub pythoni põhiutiliite SELinuksi haldamiseks
  3. policycoreutils - see pakett pakub ka utiliite SELinuksi haldamiseks.
  4. mcstrans - mcstrans pakub SELinuksi tõlkedemonit, mis tõlgib erinevad tasemed hõlpsasti mõistetavatesse vormingutesse.
  5. setools-console - sarnane setoolsiga.
  6. Selinux-policy - see annab viite SELinuksi poliitika konfigureerimiseks
  7. Selinux-poliitika suunatud - sarnane SELinux-poliitikaga
  8. Libselinux-utils - SELinuxi libselinuksi utiliidid, mis aitavad SELinuksi hallata
  9. Setroubleshoot-server - tööriistad SELinuksi tõrkeotsinguks

Teie süsteemi juba installitud pakettide kontrollimiseks võite kasutada käsku rpm -qa ja sisestada tulemuse SELinuksi jaoks grep:

p / min -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.noarh
python3-libselinux-2.9-4.el8_3.x86_64
selinux-policy-3.14.3-54.el8_3.2.noarh
libselinux-2.9-4.el8_3.x86_64

See peaks andma teile kõigi SELinuksi toe jaoks installitud pakettide väljundi

Kui kõiki SELinuksi pakette pole teie süsteemi installitud, kasutage nende installimiseks yumi, nagu on näidatud allolevas käsus:

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

SELinuksi režiimid ja olekud

Alustame nüüd mängimist SELinuxiga, täpsemalt SELinuxi režiimidega.

SELinuxi režiimid

SELinuxi lubamisel võib olla kolm võimalikku režiimi:

Täitmisrežiim

Kui SELinuxi režiimi jõustada, tagab see, et ühegi kasutaja ega protsessi volitamata juurdepääsu süsteemile ei keelata. Täitmisrežiim hoiab logisid ka kõigist volitamata juurdepääsu katsetest.

Lubav režiim

Permissiivne režiim toimib nagu osaliselt lubatud SELinuksi olek. Selles režiimis ei keelata juurdepääsu, kuna SELinux ei jõusta selles režiimis oma reegleid. Lubav režiim peab siiski logi eeskirjade rikkumise katsetest. Enne režiimi täielikku lubamist on see režiim testimiseks väga tõhus, kuna kasutajad ja komponendid saavad siiski süsteemiga suhelda, kuid siiski logisid koguda. See võimaldab teil oma süsteemi sobivaks muuta.

Keelatud režiim

Keelatud režiimi võib vaadelda ka puudega olekuna, kus SELinux on keelatud ega paku mingit turvalisust.

SELinuxi olekud

Kui SELinux on süsteemi installitud. Sellel võivad olla binaarsed olekud: lubatud ja keelatud. SELinuksi oleku kuvamiseks kasutage käsku:

getenforce
Keelatud

Ülaltoodud väljund näitab, et SELinux on praegu keelatud.

Võite kasutada ka käsku sestatus, nagu allpool näidatud:

sestatus
SELinuxi olek: keelatud

SELinuxi lubamine ja keelamine

SELinuksi olekuid ja konfigureerimist haldab konfiguratsioonifail, mis asub / etc / selinux / config. Selle sisu vaatamiseks võite kasutada kassi käsku.

kass / etc / selinux / config
# See fail kontrollib SELinuksi olekut süsteemis.
# SELINUX = võib võtta ühe neist kolmest väärtusest:
#enforcing - rakendatakse SELinuksi turbepoliitikat.
# lubatav - SELinux prindib jõustamise asemel hoiatused.
#disabled - SELinuksi reegleid pole laaditud.
SELINUX = jõustamine
# SELINUXTYPE = võib võtta ühe neist kolmest väärtusest:
# suunatud - sihitud protsessid on kaitstud,
# miinimum - sihitud poliitika muutmine. Ainult valitud protsessid on kaitstud.
# mls - mitmetasandiline turvakaitse.
SELINUXTYPE = sihitud

Ülaltoodud väljundi põhjal on meil lubatud kaks peamist direktiivi. SELINUX-direktiiv määras režiimi, milles SELinux on konfigureeritud. SELINUXTYPE-direktiiv määrab poliitika SELinuksi. Vaikimisi kasutab SELinux sihitud poliitikat, mis võimaldab teil kohandada juurdepääsu kontrollimise õigusi. Teine poliitika on mitmetasandiline turvalisus või MLS.

Mõnes versioonis võite leida minimaalse poliitika.

cd / etc / selinux /
[ls -1
kokku 4
-rw-r - r-- 1 juurjuur 548 16. veebruar 22:40 konfig
drwxr-xr-x 1 juurjuur 4096 16. veebruar 22:43 mls
-rw-r - r-- 1 juurjuur 2425 21. juuli 2020 semanage.konf
drwxr-xr-x 1 juurjuur 4096 16. veebruar 22:40 sihitud

Vaatame nüüd, kuidas SELinuxi süsteemis lubada. Soovitame kõigepealt seadistada SELINUX-režiimi lubavaks ja mitte sundimiseks.

nano / etc / selinux / config

Nüüd muutke SELINUX-i direktiivi järgmiselt:

SELINUX = lubav

Kui olete faili salvestanud, väljastage süsteem taaskäivitamine.

taaskäivitage

MÄRKUS. Enne SELinuksi rakendamist soovitame tungivalt seada SELINUX-i direktiiv lubavaks.

Kui olete süsteemi taaskäivitanud, kontrollige, kas SELinuksi kataloogis / var / log / messages pole logisid.

Järgmisena veenduge, et teil pole tõrkeid, ja jõustage SELinuksi, seadistades käsku käsu / etc / selinux / config rakendamiseks

Lõpuks saate käsku sestatus vaadata SELinuksi olekut:

SELinuxi olek: lubatud
SELinuxfs mount: / sys / fs / selinux
SELinuksi juurkataloog: / etc / selinux
Laaditud poliitika nimi: sihitud
Praegune režiim: jõustamine
Režiim konfiguratsioonifailist: tõrge (õnnestus)
Reeglite MLS-i olek: lubatud
Reeglite deny_unknown olek: lubatud
Mälukaitse kontroll: tegelik (turvaline)
Maksimaalse tuuma poliitika versioon: 31

Erinevate SELinuksi režiimide vahetamiseks võite kasutada ka käsku setenforce. Näiteks režiimi lubavaks määramiseks kasutage käsku:

setenforce lubav

See režiim on ajutine ja pärast taaskäivitamist taastatakse see konfiguratsioonifailis.

sestatus SELinuxi olek: lubatud
SELinuxfs mount: / sys / fs / selinux
SELinuksi juurkataloog: / etc / selinux
Laaditud poliitika nimi: sihitud
Praegune režiim: lubav
Režiim konfiguratsioonifailist: jõustamine
Reeglite MLS-i olek: lubatud
Reeglite deny_unknown olek: lubatud
Mälukaitse kontroll: tegelik (turvaline)
Maksimaalse tuuma poliitika versioon: 31

SELinuksi poliitika ja kontekst

SELinuksi algajate segaduse vältimiseks ei süveneta SELinuksi poliitikate rakendamisse, vaid lihtsalt puudutame seda, et anda teile idee.

SELinux töötab turvapoliitikate rakendamise kaudu. SELinuksi reegel viitab reeglile, mida kasutatakse süsteemi kõigi objektide juurdepääsuõiguste määratlemiseks. Objektid viitavad kasutajatele, protsessidele, failidele ja rollidele.

Iga kontekst määratletakse kasutaja kujul: roll: tüüp: tase.

Näiteks looge oma kodukataloogis kataloog ja vaadake selle SELinuksi turvakonteksti, nagu on näidatud allolevates käskudes:

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

See kuvab väljundi, nagu allpool näidatud:

unconfined_u: object_r: user_home_t: s0 linuxhint_dir

Võite leida ka muid turvakontekstiga katalooge:

süsteem: _u: objekti_r: kasutaja_kodu_t: s0

Võite mõista, et ülaltoodud väljund järgib kasutaja süntaksit: roll: tüüp: tase.

Järeldus

See oli SELinuxi juhendaja CentOS 8 abil. Kuigi õpetus on mõeldud algajatele, on see rohkem kui piisav, et panna oma jalad SELinuxis käima ja eemaldada SELinuksi hirmutav olemus.

Täname lugemast.

Installige uusim OpenRA strateegiamäng Ubuntu Linuxi
OpenRA on tasuta / tasuta reaalajas strateegiamängumootor, mis loob uuesti Westwoodi varased mängud nagu klassikaline Command & Conquer: Red Alert. Ja...
Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...
Kuidas kasutada GameConquerori petumootorit Linuxis
Artikkel sisaldab juhendit GameConquerori petumootori kasutamise kohta Linuxis. Paljud kasutajad, kes mängivad Windowsis mänge, kasutavad rakendust „C...