Čia gausite atsakymus į svarbius klausimus apie gyvenimą, visatą ir viską Linux su patobulinta sauga.
„Svarbi tiesa, kad viskas ne visada yra taip, kaip atrodo, yra visiems žinoma...“
-Douglasas Adamsas, Autostopu vadovas po galaktiką
Saugumas. Padidėjęs patikimumas. Susirašinėjimas. politika. Keturi Apokalipsės raiteliai sysadmin. Be kasdienių užduočių – stebėjimo, atsarginių kopijų kūrimo, diegimo, konfigūravimo, atnaujinimo ir kt. – esame atsakingi ir už savo sistemų saugumą. Net tose sistemose, kuriose trečiosios šalies teikėjas rekomenduoja išjungti padidintą apsaugą. Jaučiasi kaip darbas Etanas Hantas iš „Misija: neįmanoma“.
Susidūrę su šia dilema, kai kurie sistemos administratoriai nusprendžia imtis mėlyna tabletė, nes jie mano, kad niekada nesužinos atsakymo į didelį gyvenimo, visatos ir viso to klausimą. Ir kaip mes visi žinome, atsakymas yra 42.
Pagal „Galaktikos autostopo vadovo“ dvasią pateikiame 42 atsakymus į svarbius klausimus apie valdymą ir naudojimą. Selinux jūsų sistemose.
1. SELinux yra priverstinės prieigos kontrolės sistema, o tai reiškia, kad kiekvienas procesas turi etiketę. Kiekvienas failas, katalogas ir sistemos objektas taip pat turi etiketes. Politikos taisyklės kontroliuoja prieigą tarp pažymėtų procesų ir objektų. Branduolys vykdo šias taisykles.
2. Dvi svarbiausios sąvokos yra šios: Ženklinimas — žymėjimai (failai, procesai, prievadai ir kt.) ir Tipo vykdymas (kuris išskiria procesus vienas nuo kito pagal tipus).
4. Kelių lygių saugumo užtikrinimo tikslas (Kelių lygių apsauga – MLS) yra valdyti procesus (domenus) pagal duomenų, kuriuos jie naudos, saugumo lygį. Pavyzdžiui, slaptas procesas negali nuskaityti itin slaptų duomenų.
5. Kelių kategorijų saugumo užtikrinimas (Kelių kategorijų apsauga – MCS) apsaugo panašius procesus vienas nuo kito (pavyzdžiui, virtualios mašinos, OpenShift varikliai, SELinux smėlio dėžės, konteineriai ir kt.).
Procesas vyksta kontekste httpd_t, gali sąveikauti su pažymėtu objektu httpd_something_t.
13. Daugelis komandų priima argumentą -Z peržiūrėti, kurti ir keisti kontekstą:
ls -Z
id -Z
ps -Z
netstat -Z
cp -Z
mkdir -Z
Kontekstai nustatomi, kai failai sukuriami remiantis pirminio katalogo kontekstu (su kai kuriomis išimtimis). RPM gali nustatyti kontekstą, kaip ir diegimo metu.
14. Yra keturios pagrindinės SELinux klaidų priežastys, kurios išsamiau aprašytos toliau pateiktuose 15–21 punktuose:
Ženklinimo problemos
Dėl to, ką SELinux turi žinoti
Klaida SELinux politikoje / programoje
Jūsų informacija gali būti pažeista
15.Ženklinimo problema: jei jūsų failai yra /srv/myweb yra pažymėtos neteisingai, prieiga gali būti uždrausta. Štai keletas būdų, kaip tai išspręsti:
Jei žinote etiketę: # semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
Jei žinote failą su lygiaverčiais ženklais: # semanage fcontext -a -e /srv/myweb /var/www
17. jei SELinux, kurį reikia žinotikad HTTPD klausosi 8585 prievado, pasakykite SELinux:
# semanage port -a -t http_port_t -p tcp 8585
18.SELinux, kurį reikia žinoti Būlio reikšmės, leidžiančios kai kurias SELinux politikos dalis keisti vykdymo metu, nežinant, kad SELinux politika yra perrašoma. Pavyzdžiui, jei norite, kad httpd išsiųstų el. laišką, įveskite: # setsebool -P httpd_can_sendmail 1
19.SELinux, kurį reikia žinoti SELinux nustatymų įjungimo / išjungimo loginės reikšmės:
Norėdami pamatyti visas logines reikšmes: # getsebool -a
Norėdami pamatyti kiekvieno aprašą: # semanage boolean -l
Norėdami nustatyti loginę reikšmę: # setsebool [_boolean_] [1|0]
25. Jei įvyksta SELinux klaida, naudokite žurnalą setroubleshoot siūlo keletą galimų sprendimų.
Pavyzdžiui, iš 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. Registravimas: SELinux įrašo informaciją daugelyje vietų:
28. Norėdami rasti konkrečios paslaugos SELinux Access Vector Cache (AVC) pranešimus:
# ausearch -m avc -c httpd
29. Naudingumas audit2allow renka informaciją iš draudžiamų operacijų žurnalų ir generuoja SELinux leidimų politikos taisykles. Pavyzdžiui:
Norėdami sukurti žmonėms suprantamą aprašymą, kodėl prieiga uždrausta: # audit2allow -w -a
Norėdami peržiūrėti tipo vykdymo taisyklę, leidžiančią uždrausti prieigą: # audit2allow -a
Norėdami sukurti pasirinktinį modulį: # audit2allow -a -M mypolicy
Variantas -M sukuria tipo vykdymo failą (.te) nurodytu pavadinimu ir sukompiliuoja taisyklę į politikos paketą (.pp): mypolicy.pp mypolicy.te
Norėdami įdiegti pasirinktinį modulį: # semodule -i mypolicy.pp
30. Norėdami sukonfigūruoti atskirą procesą (domeną), kad jis veiktų leistinuoju režimu: # semanage permissive -a httpd_t
31. Jei nebenorite, kad domenas būtų leistinas: # semanage permissive -d httpd_t
32. Norėdami išjungti visus leidžiamus domenus: # semodule -d permissivedomains
33. MLS SELinux politikos įgalinimas: # yum install selinux-policy-mls
в /etc/selinux/config:
SELINUX=permissive
SELINUXTYPE=mls
Įsitikinkite, kad SELinux veikia leistinuoju režimu: # setenforce 0
Naudokite scenarijų fixfilesNorėdami užtikrinti, kad failai būtų perženklinti kitą kartą paleidžiant iš naujo:
# fixfiles -F onboot # reboot
34. Sukurkite vartotoją su konkrečiu MLS diapazonu: # useradd -Z staff_u john
Naudojant komandą useradd, susieti naują vartotoją su esamu SELinux vartotoju (šiuo atveju, staff_u).
35. Norėdami peržiūrėti „SELinux“ ir „Linux“ vartotojų susiejimą: # semanage login -l