
Artikli tĂ”lge on ette valmistatud kursuse ĂŒliĂ”pilaste jaoks
SELinux ehk Security Enhanced Linux on tĂ€iustatud juurdepÀÀsu haldamise mehhanism, mille on vĂ€lja töötanud Ameerika Ăhendriikide Riikliku Julgeoleku Agentuur (NSA), et vĂ€ltida pahatahtlikke sissetunge. See rakendab olemasoleva diskretsioonilise (vĂ”i valikulise) juurdepÀÀsu haldamise mudeli (ingl. k. Discretionary Access Control, DAC) peal sundmudelit (ingl. k. Mandatory Access Control, MAC), mis pĂ”hineb poliitikareeglitel.
SELinuxil on kolm reĆŸiimi:
- Karm â ligipÀÀsu keelamine poliitika reeglite alusel.
- Leebe â tegevuste logimine, mis rikuvad poliitikat, mida karmis reĆŸiimis keelataks.
- Keelatud â SELinuxi tĂ€ielik vĂ€ljalĂŒlitamine.
Vaikimisi seaded on: /etc/selinux/config
SELinuxi reĆŸiimide muutmine
Praeguse reĆŸiimi teada saamiseks kĂ€ivitage
$ getenforceReĆŸiimi muutmiseks leebeks kĂ€ivitage jĂ€rgmine kĂ€sk
$ setenforce 0vĂ”i, et muuta reĆŸiim leebest karmiks . Tundub, et , kĂ€ivitage$ setenforce 1
Kui soovite SELinuxi tĂ€iesti vĂ€lja lĂŒlitada, saab seda teha ainult konfiguratsioonifaili kaudu$ vi /etc/selinux/config
VĂ€ljalĂŒlitamiseks muutke parameetrit SELINUX jĂ€rgmiselt:SELINUX=disabled
SELinuxi seadistamineIga fail ja protsess on mĂ€rgistatud SELinuxi konteksti, mis sisaldab lisainfot, nagu kasutaja, roll, tĂŒĂŒp jne. Kui aktiveerite SELinuxi esmakordselt, tuleb kĂ”igepealt seadistada kontekst ja sildid. Sildistamisprotsess on tuntud kui mĂ€rgistamine. MĂ€rgistamise alustamiseks muudame konfiguratsioonifailis reĆŸiimi jĂ€rgmiste ridadega
$ vi /etc/selinux/config SELINUX=permissive karmiks.
PĂ€rast reĆŸiimi seadistamist, loome juurkaustas tĂŒhja peidetud faili nimega karmiks.autorelabel $ touch /.autorelabel
ja taaskÀivitame arvuti$ init 6
MĂ€rkus: kasutame reĆŸiimi, kuna selle reĆŸiimi kasutamine vĂ”ib sĂŒsteemi taaskĂ€ivitamise ajal kokku kukkuda. karmiks Ărge muretsege, kui laadimine peatub mĂ”nes failis, mĂ€rgistamine vĂ”tab aega. PĂ€rast mĂ€rgistamise ja sĂŒsteemi laadimise lĂ”petamist vĂ”ite minna konfiguratsioonifaili ja seadistada reĆŸiimi , kĂ€ivitage , samuti kĂ€ivitada:
NĂŒĂŒd olete edukalt aktiveerinud SELinuxi oma arvutis. , kĂ€ivitageJĂ€lgime logisid
Kui soovite SELinuxi tĂ€iesti vĂ€lja lĂŒlitada, saab seda teha ainult konfiguratsioonifaili kauduNĂŒĂŒd olete edukalt aktiivseks teinud SELinuxi oma arvutis.
JĂ€lgime logisid
VĂ”ib-olla on teil mingeid vigu sildistamisel vĂ”i sĂŒsteemi töö kĂ€igus. Et kontrollida, kas teie SELinux töötab Ă”igesti ja ei blokeeri juurdepÀÀsu mĂ”nele sadamale, rakendusele jne, tuleb vaadata logisid. SELinuxi logi asub /var/log/audit/audit.log, kuid te ei pea seda tĂ€ielikult lugema, et leida vigu. Vigu otsimiseks saate kasutada tööriista audit2why. KĂ€itage jĂ€rgmist kĂ€sku:
$ audit2why < /var/log/audit/audit.logTulemusena saate veateate loendi. Kui logis vigade ei olnud, ei kuvata mingeid teadete.
SELi poliitika seadistamine
SELi poliitika on reeglite kogum, mille alusel toimib SELi turvamehhanism. Poliitika mÀÀrab konkreetse keskkonna jaoks reeglite kogumi. Uurime nĂŒĂŒd, kuidas seadistada poliitikaid, et lubada juurdepÀÀs keelatud teenustele.
1. Loogilised vÀÀrtused (lĂŒlitid)
LĂŒlitid (booleans) vĂ”imaldavad muuta poliitika osi töötamise ajal, ilma et oleks vaja luua uusi poliitikaid. Need vĂ”imaldavad teha muudatusi ilma poliitikate taaskĂ€ivitamise vĂ”i uuesti kompileerimise vajaduseta.
NĂ€ide
Oletame, et soovime anda kasutaja kodukausta FTP kaudu lugemis- ja kirjutamisĂ”igused ja oleme selle juba jaganud, kuid juurdepÀÀsu proovimisel ei nĂ€e me midagi. See on tingitud sellest, et SELi poliitika keelab FTP-serveril lugeda ja kirjutada kasutaja kodukausta. Peame poliitikat muutma, et FTP-server saaks kodukaustadele juurde pÀÀseda. Vaadake, kas selleks on olemas mĂ”ningaid lĂŒliteid, kĂ€itudes
$ semanage boolean -lSee kĂ€sk annab vĂ€lja saadaval olevate lĂŒlitite loendi nende praeguse olekuga (lĂŒlitatud / on vĂ”i vĂ€ljalĂŒlitatud / off) ja kirjeldustega. Otsingu tĂ€psustamiseks saate kasutada grep'i, et leida tulemusi, mis on seotud ainult ftp:ga:
$ semanage boolean -l | grep ftpja leiate jÀrgmise
ftp_home_dir -> off Luba ftp-l lugeda ja kirjutada faile kasutaja kodukaustasSee lĂŒliti on vĂ€ljalĂŒlitatud, seega lĂŒlitame selle sisse, kasutades setsebool $ setsebool ftp_home_dir on
NĂŒĂŒd saab meie ftp-teenus kasutada kasutaja kodukausta.
MĂ€rkus: saate ka saada saadaval olevate lĂŒlitite loendi ilma kirjeldusteta, kĂ€itudes getsebool -a
2. MĂ€rgised ja kontekstid
See on kÔige levinum viis SELi poliitika rakendamiseks. Iga fail, kaust, protsess ja sadam on mÀrgistatud SELi kontekstiga:
- Failide ja kaustade jaoks salvestatakse mĂ€rgid failisĂŒsteemis laiendatud atribuutidena ning neid saab vaadata jĂ€rgmise kĂ€suga:
$ ls -Z /etc/httpd - Protsesside ja portide mÀrgistamist haldab tuum ning neid mÀrke saab vaadata jÀrgmiselt:
protsess
$ ps âauxZ | grep httpdport
$ netstat -anpZ | grep httpdNĂ€ide
KĂ€esolev nĂ€ide aitab meil paremini mĂ”ista mĂ€rgiseid ja konteksti. Oletame, et meil on veebiserveriks, mis on katalooge asendav. /var/www/html/ ĐžŃĐżĐŸĐ»ŃĐ·ŃĐ”Ń /home/dan/html/. SELinux peab seda poliitika rikkumiseks, mistĂ”ttu ei saa te oma veebilehti vaadata. See juhtub, kuna me ei ole seadnud HTML-failidega seotud turvakonteksti. Vaikimisi turvakonteksi vaatamiseks kasutage jĂ€rgmist kĂ€sku:
$ ls âlz /var/www/html
-rw-rârâ. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/Siin saime httpd_sys_content_t HTML-failide kontekstiks. Peame seadma selle turvakonteksti meie praegusele kataloogile, millel on hetkel jĂ€rgmine kontekst:
-rw-rârâ. dan dan system_u:object_r:user_home_t:s0 /home/dan/html/Alternatiivne kĂ€sk faili vĂ”i kausta turvakonteksti kontrollimiseks:
$ semanage fcontext -l | grep '/var/www'Kasutame samuti semanage'i konteksti muutmiseks, kui oleme leidnud Ôige turvakontekti. Katalooge /home/dan/html muutmiseks kÀivitage jÀrgmised kÀsud:
$ semanage fcontext -a -t httpd_sys_content_t '/home/dan/html( /.*)?'
$ semanage fcontext -l | grep '/home/dan/html'
/home/dan/html(/.*)? kÔik failid system_u:object_r:httpd_sys_content_t:s0
$ restorecon -Rv /home/dan/htmlPĂ€rast konteksti muutmist semanage'i abil laadib restorecon vaikimisi turvakonteksti failidele ja kaustadele. Meie veebiserver suudab nĂŒĂŒd lugeda faile kaustast /home/dan/html, kuna selle kausta turvakontekst on muudetud. httpd_sys_content_t.
3. Kohalike poliitikate loomine
VÔib esineda olukordi, kus eelnevad meetodid ei ole teie jaoks kasulikud ning saate audit.log failis vigu (avc/denial). Kui see juhtub, peate looma kohaliku poliitika (Local policy). KÔiki vigu saate leida audit2why abil, nagu eespool mainitud.
Vigade kÔrvaldamiseks on vÔimalik luua kohaliku poliitika. NÀiteks, kui saame vea, mis on seotud httpd (apache) vÔi smbd (samba) ka, grep'ime vead ja loome neile poliitika:
apache
$ grep httpd_t /var/log/audit/audit.log | audit2allow -M http_policy
samba
$ grep smbd_t /var/log/audit/audit.log | audit2allow -M smb_policySiin http_policy ja smb_policy â need on objektid kohalike poliitikate, mille me lĂ”ime. NĂŒĂŒd peame need loodud kohalikud poliitikad laadima praegusesse SELinux poliitikasse. Seda saab teha jĂ€rgmiselt:
$ semodule âI http_policy.pp
$ semodule âI smb_policy.ppMeie kohalikud poliitikad on laaditud ja me ei tohiks enam mingeid avc vĂ”i denial registreerida audit.log'is.
See oli minu katse aidata teil mÔista SELinuxi. Loodan, et pÀrast selle artikli lugemist tunnete end SELinuxiga mugavamalt.
Allikas: habr.com
