SELinux cheat sheet pou administratè sistèm: 42 repons pou kesyon enpòtan yo
Tradiksyon atik la te prepare espesyalman pou elèv yo nan kou a "Administratè Linux".
La a ou pral jwenn repons a kesyon enpòtan sou lavi, linivè a ak tout bagay nan Linux ak sekirite amelyore.
"Verite enpòtan ke bagay yo pa toujou sa yo sanble se konesans komen ..."
-Douglas Adams, Gid otostòp pou galaksi an
Sekirite. Ogmantasyon fyab. Korespondans. Règleman. Kat kavalye nan sysadmin Apocalypse la. Anplis travay chak jou nou yo - siveyans, backup, aplikasyon, konfigirasyon, aktyalizasyon, elatriye - nou responsab tou pou sekirite sistèm nou yo. Menm sistèm sa yo kote founisè twazyèm pati a rekòmande pou nou enfim sekirite amelyore. Li santi tankou travay Etan Hunt soti nan "Misyon: Enposib."
Fè fas ak dilèm sa a, kèk administratè sistèm deside pran grenn ble, paske yo panse yo pap janm konnen repons pou gwo kesyon lavi a, linivè ak tout sa. E jan nou tout konnen, repons sa a se 42.
Nan lespri Gid Otostòp Galaksi a, isit la gen 42 repons pou kesyon enpòtan sou kontwòl ak itilizasyon. SELinux sou sistèm ou yo.
1. SELinux se yon sistèm kontwòl aksè fòse, ki vle di ke chak pwosesis gen yon etikèt. Chak fichye, anyè ak objè sistèm tou gen etikèt. Règleman yo kontwole aksè ant pwosesis tag ak objè yo. Kernel la fè respekte règ sa yo.
2. De konsèp ki pi enpòtan yo se: Etikèt — mak (fichye, pwosesis, pò, elatriye) ak Kalite ranfòsman (ki izole pwosesis youn ak lòt ki baze sou kalite).
4. Objektif pou bay sekirite milti-nivo (Sekirite milti-nivo - MLS) se jere pwosesis (domèn) ki baze sou nivo sekirite done yo pral itilize yo. Pou egzanp, yon pwosesis sekrè pa ka li done top sekrè.
5. Asire sekirite milti kategori (Sekirite milti-kategori - MCS) pwoteje pwosesis ki sanble youn ak lòt (pa egzanp, machin vityèl, motè OpenShift, bwat sab SELinux, resipyan, elatriye).
6. Opsyon Kernel pou chanje mòd SELinux nan bòt:
autorelabel=1 → lakòz sistèm lan kouri re-etikèt
selinux=0 → Kernel la pa chaje enfrastrikti SELinux la
enforcing=0 → chaje nan mòd tolerans
7. Si ou bezwen remarke tout sistèm nan:
# touch /.autorelabel
#reboot
Si maketing sistèm nan gen yon gwo kantite erè, ou ka bezwen bòt nan mòd toleran pou remak yo reyisi.
8. Pou tcheke si SELinux aktive: # getenforce
9. Pou tanporèman aktive/enfim SELinux: # setenforce [1|0]
10. Tcheke estati SELinux: # sestatus
11. Fichye konfigirasyon: /etc/selinux/config
12. Ki jan SELinux travay? Men yon egzanp make pou sèvè wèb Apache la:
Pwosesis kouri nan yon kontèks httpd_t, ka kominike avèk yon objè ki make httpd_something_t.
13. Anpil kòmandman aksepte yon agiman -Z pou wè, kreye ak chanje kontèks:
ls -Z
id -Z
ps -Z
netstat -Z
cp -Z
mkdir -Z
Kontèks yo etabli lè yo kreye dosye ki baze sou kontèks anyè paran yo (ak kèk eksepsyon). RPM yo ka etabli kontèks tankou pandan enstalasyon.
14. Gen kat kòz prensipal erè SELinux, ki dekri an plis detay nan pwen 15-21 anba a:
Pwoblèm etikèt
Paske nan yon bagay ke SELinux bezwen konnen
Erè nan politik/aplikasyon SELinux
Enfòmasyon ou yo ka konpwomèt
15.Pwoblèm etikèt: si dosye ou yo nan /srv/myweb yo make mal, aksè yo ka refize. Men kèk fason pou ranje sa a:
Si w konnen etikèt la: # semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
Si w konnen yon fichye ki gen mak ekivalan: # semanage fcontext -a -e /srv/myweb /var/www
Retabli kontèks la (pou tou de ka): # restorecon -vR /srv/myweb
16.Pwoblèm etikèt: si w deplase fichye a olye w kopye li, fichye a ap kenbe kontèks orijinal li. Pou rezoud pwoblèm sa a:
Chanje lòd kontèks la ak etikèt la: # chcon -t httpd_system_content_t /var/www/html/index.html
Chanje lòd kontèks la ak etikèt lyen an: # chcon --reference /var/www/html/ /var/www/html/index.html
Retabli kontèks la (pou tou de ka): # restorecon -vR /var/www/html/
17. Si SELinux ou bezwen konnenke HTTPD ap koute sou pò 8585, di SELinux:
# semanage port -a -t http_port_t -p tcp 8585
18.SELinux ou bezwen konnen Valè Boolean ki pèmèt pati nan politik SELinux yo dwe chanje nan kouri san yo pa konnen politik SELinux yo te ranplase. Pou egzanp, si ou vle httpd voye imèl, antre: # setsebool -P httpd_can_sendmail 1
19.SELinux ou bezwen konnen valè lojik pou aktive / enfim anviwònman SELinux:
Pou wè tout valè booleyen yo: # getsebool -a
Pou wè yon deskripsyon chak: # semanage boolean -l
Pou mete yon valè booleyen: # setsebool [_boolean_] [1|0]
Pou yon enstalasyon pèmanan, ajoute -P. Pa egzanp: # setsebool httpd_enable_ftp_server 1 -P
20. Règleman/aplikasyon SELinux yo ka genyen erè, tankou:
Chemen kòd etranj
Konfigirasyon
Redireksyon stdout
Fichye deskriptè koule
memwa ègzekutabl
Bibliyotèk mal konstwi
Louvri tikè (pa soumèt yon rapò bay Bugzilla; Bugzilla pa gen okenn SLA).
21.Enfòmasyon ou yo ka konpwomètsi ou gen domèn restriksyon ap eseye:
25. Si yon erè SELinux rive, sèvi ak boutèy la setroubleshoot ofri plizyè solisyon posib.
Pou egzanp, soti nan 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. Anrejistre: SELinux anrejistre enfòmasyon nan anpil kote: