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:
- setools - seda paketti kasutatakse logide jälgimiseks, poliitikate päringuteks ja kontekstifailide haldamiseks.
- policycoreutils-python - pakub pythoni põhiutiliite SELinuksi haldamiseks
- policycoreutils - see pakett pakub ka utiliite SELinuksi haldamiseks.
- mcstrans - mcstrans pakub SELinuksi tõlkedemonit, mis tõlgib erinevad tasemed hõlpsasti mõistetavatesse vormingutesse.
- setools-console - sarnane setoolsiga.
- Selinux-policy - see annab viite SELinuksi poliitika konfigureerimiseks
- Selinux-poliitika suunatud - sarnane SELinux-poliitikaga
- Libselinux-utils - SELinuxi libselinuksi utiliidid, mis aitavad SELinuksi hallata
- 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 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.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 mcstransSELinuksi 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äitmine
- Lubav
- Keelatud
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:
getenforceKeelatud
Ülaltoodud väljund näitab, et SELinux on praegu keelatud.
Võite kasutada ka käsku sestatus, nagu allpool näidatud:
sestatusSELinuxi 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 / configNüüd muutke SELINUX-i direktiivi järgmiselt:
SELINUX = lubavKui olete faili salvestanud, väljastage süsteem taaskäivitamine.
taaskäivitageMÄ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: lubatudSELinuxfs 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 lubavSee režiim on ajutine ja pärast taaskäivitamist taastatakse see konfiguratsioonifailis.
sestatus SELinuxi olek: lubatudSELinuxfs 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_dirls -Z ~ / | grep linuxhint
See kuvab väljundi, nagu allpool näidatud:
unconfined_u: object_r: user_home_t: s0 linuxhint_dirVõite leida ka muid turvakontekstiga katalooge:
süsteem: _u: objekti_r: kasutaja_kodu_t: s0Võ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.