ProHoster > Blog > Stjórnsýsla > SELinux svindlblað fyrir kerfisstjóra: 42 svör við mikilvægum spurningum
SELinux svindlblað fyrir kerfisstjóra: 42 svör við mikilvægum spurningum
Þýðing greinarinnar var unnin sérstaklega fyrir nemendur námskeiðsins "Linux stjórnandi".
Hér færðu svör við mikilvægum spurningum um lífið, alheiminn og allt í Linux með bættu öryggi.
«Важная истина, что вещи не всегда являются тем, чем кажутся, общеизвестна…»
-Douglas Adams, The Hitchhiker's Guide to the Galaxy
Öryggi. Aukinn áreiðanleiki. Bréfaskipti. Stefna. Four Horsemen of the Apocalypse sysadmin. Auk daglegra verkefna okkar - eftirlit, öryggisafrit, innleiðing, stillingar, uppfærslur o.s.frv. - berum við einnig ábyrgð á öryggi kerfa okkar. Jafnvel þau kerfi þar sem þriðji aðili mælir með því að við slökkva á auknu öryggi. Það líður eins og vinna Ethan Hunt úr "Mission: Impossible."
Frammi fyrir þessu vandamáli ákveða sumir kerfisstjórar að taka bláa pilla, vegna þess að þeir halda að þeir muni aldrei vita svarið við stóru spurningunni um lífið, alheiminn og allt það. Og eins og við vitum öll er svarið 42.
Í anda The Hitchhiker's Guide to the Galaxy eru hér 42 svör við mikilvægum spurningum um stjórn og notkun. SELinux á kerfum þínum.
1. SELinux er þvingað aðgangsstýringarkerfi, sem þýðir að hvert ferli hefur merki. Hver skrá, skrá og kerfishlutur hefur einnig merki. Stefnureglur stjórna aðgangi milli merktra ferla og hluta. Kjarninn framfylgir þessum reglum.
2. Двумя наиболее важными концепциями являются: Merkingar — merkingar (skrár, ferlar, hafnir osfrv.) og Tegund fullnustu (sem einangrar ferla hvert frá öðru út frá gerðum).
3. Rétt merkimiðasnið user:role:type:level (valfrjálst).
4. Tilgangurinn með því að veita fjölþrepa öryggi (Öryggi á mörgum stigum - MLS) er að stjórna ferlum (lénum) út frá öryggisstigi gagna sem þau munu nota. Til dæmis getur leynilegt ferli ekki lesið leynileg gögn.
5. Tryggja fjölflokka öryggi (Öryggi í mörgum flokkum - MCS) verndar svipuð ferla hvert frá öðru (til dæmis sýndarvélar, OpenShift vélar, SELinux sandkassa, gáma osfrv.).
6. Kjarnavalkostir til að breyta SELinux stillingum við ræsingu:
autorelabel=1 → veldur því að kerfið keyrir endurmerkingu
selinux=0 → kjarninn hleður ekki SELinux innviði
enforcing=0 → hleðsla í leyfilegri ham
7. Ef þú þarft að endurmerkja allt kerfið:
# touch /.autorelabel
#reboot
Ef kerfismerkingin inniheldur mikinn fjölda villna gætir þú þurft að ræsa þig í leyfilegum ham til að athugasemdir nái árangri.
8. Til að athuga hvort SELinux sé virkt: # getenforce
9. Til að virkja/slökkva tímabundið á SELinux: # setenforce [1|0]
10. Проверка статуса SELinux: # sestatus
11. Stillingarskrá: /etc/selinux/config
12. Hvernig virkar SELinux? Hér er dæmi um merkingu fyrir Apache vefþjóninn:
Ferli í gangi í samhengi httpd_t, getur haft samskipti við merktan hlut httpd_something_t.
13. Margar skipanir samþykkja rök -Z для просмотра, создания и изменения контекста:
ls -Z
id -Z
ps -Z
netstat -Z
cp -Z
mkdir -Z
Samhengi er komið á þegar skrár eru búnar til byggt á samhengi yfirmöppu þeirra (með nokkrum undantekningum). RPM getur komið á samhengi eins og við uppsetningu.
14. Það eru fjórar meginorsakir SELinux villna, sem lýst er nánar í liðum 15-21 hér að neðan:
Merkingamál
Vegna einhvers sem SELinux þarf að vita
Villa í stefnu/forriti SELinux
Upplýsingunum þínum gæti verið í hættu
15.Merkingarvandamál: ef skrárnar þínar eru í /srv/myweb eru rangt merktir, gæti aðgangi verið hafnað. Hér eru nokkrar leiðir til að laga þetta:
Если вы знаете метку: # semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
Ef þú þekkir skrá með samsvarandi merkingum: # semanage fcontext -a -e /srv/myweb /var/www
Að endurheimta samhengið (í báðum tilvikum): # restorecon -vR /srv/myweb
16.Merkingarvandamál: ef þú færir skrána í stað þess að afrita hana mun hún halda upprunalegu samhengi sínu. Til að laga þetta vandamál:
Breyttu samhengisskipuninni með merkimiðanum: # chcon -t httpd_system_content_t /var/www/html/index.html
Breyttu samhengisskipuninni með tenglamerkinu: # chcon --reference /var/www/html/ /var/www/html/index.html
17. Ef SELinux sem þú þarft að vitaað HTTPD sé að hlusta á port 8585, segðu SELinux:
# semanage port -a -t http_port_t -p tcp 8585
18.SELinux sem þú þarft að vita Boolean gildi sem gera kleift að breyta hlutum SELinux stefnunnar á keyrslutíma án þess að vitneskja um SELinux stefnuna sé yfirskrifuð. Til dæmis, ef þú vilt að httpd sendi tölvupóst skaltu slá inn: # setsebool -P httpd_can_sendmail 1
19.SELinux sem þú þarft að vita rökrétt gildi til að virkja/slökkva á SELinux stillingum:
Til að sjá öll boolean gildi: # getsebool -a
Til að sjá lýsingu á hverju: # semanage boolean -l
Til að stilla Boolean gildi: # setsebool [_boolean_] [1|0]
Fyrir varanlega uppsetningu, bætið við -P. Til dæmis: # setsebool httpd_enable_ftp_server 1 -P
20. SELinux reglur/forrit geta innihaldið villur, þar á meðal:
Óvenjulegar kóðaleiðir
Stillingar
Beinir stdout
Skráarlýsing lekur
Keyranlegt minni
Плохо построенные библиотеки
Opnaðu miða (ekki senda skýrslu til Bugzilla; Bugzilla hefur ekkert SLA).
21.Upplýsingunum þínum gæti verið í hættuef þú ert með takmörkuð lén að reyna að:
25. Ef SELinux villa kemur upp skaltu nota annálinn setroubleshoot bjóða upp á nokkrar mögulegar lausnir.
Til dæmis frá journalctl:
Jun 14 19:41:07 web1 setroubleshoot: SELinux is preventing httpd from getattr access on the file /var/www/html/index.html. For complete message run: sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
# sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
SELinux is preventing httpd from getattr access on the file /var/www/html/index.html.
***** Plugin restorecon (99.5 confidence) suggests ************************
If you want to fix the label,
/var/www/html/index.html default label should be httpd_syscontent_t.
Then you can restorecon.
Do
# /sbin/restorecon -v /var/www/html/index.html
26. Skráning: SELinux skráir upplýsingar á mörgum stöðum:
Gakktu úr skugga um að SELinux sé í gangi í leyfilegum ham: # setenforce 0
Notaðu handrit fixfilestil að tryggja að skrárnar séu endurmerktar við næstu endurræsingu:
# fixfiles -F onboot # reboot
34. Búðu til notanda með tiltekið MLS svið: # useradd -Z staff_u john
Að nota skipunina useradd, kortleggðu nýja notandann yfir á núverandi SELinux notanda (í þessu tilfelli, staff_u).
35. Til að skoða kortlagningu milli SELinux og Linux notenda: # semanage login -l
36. Skilgreindu ákveðið svið fyrir notandann: # semanage login --modify --range s2:c100 john
37. Til að leiðrétta merki heimaskrár notanda (ef nauðsyn krefur): # chcon -R -l s2:c100 /home/john
38. Til að skoða núverandi flokka: # chcat -L
39. Til að breyta flokkum eða byrja að búa til þína eigin skaltu breyta skránni sem hér segir:
/etc/selinux/_<selinuxtype>_/setrans.conf
40. Til að keyra skipun eða skriftu í tiltekinni skrá, hlutverki og notendasamhengi: