Faaliliuga o le tusiga ua saunia mo tamaiti aoga
SELinux poʻo le Puipuiga Faʻaleleia Linux o se faʻaogaina faʻaleleia o le faʻaogaina o auala na fausia e le US National Security Agency (NSA) e puipuia ai faʻalavelave leaga. O lo'o fa'atinoina se fa'ata'ita'iga fa'atonu fa'amalosi (pe fa'atulafonoina) (English Mandatory Access Control, MAC) i luga o le fa'ata'ita'iga fa'atonu (po'o le filifilia) (English Discretionary Access Control, DAC), o lona uiga, fa'atagaga e faitau, tusitusi, fa'atino.
SELinux e tolu auala:
- Fa'amalosia - fa'afiti avanoa e fa'atatau i tulafono fa'avae.
- tuufau - tausia o se faʻamaumauga o gaioiga e solia ai le faiga faʻavae, lea o le a faʻasaina i le faiga faʻamalosia.
- tagata gase - fa'agata uma le SELinux.
E ala i le fa'aletonu o lo'o i totonu /etc/selinux/config
Suia faiga SELinux
Ina ia iloa le faiga o iai nei, tamo'e
$ getenforce
Ina ia suia le faiga i le faatagaga, tamomoe le poloaiga lenei
$ setenforce 0
po'o le sui tulaga mai loto malie i faamalosia, faʻatino
$ setenforce 1
Afai e te manaʻomia le faʻamalo atoatoa SELinux, ona mafai lea ona faia e ala i le faila faila
$ vi /etc/selinux/config
Ina ia faʻamalo, sui le SELINUX parameter e pei ona taua i lalo:
SELINUX=disabled
Seti SELinux
O faila taʻitasi ma faʻagasologa e faʻailogaina i se SELinux context, lea e aofia ai faʻamatalaga faaopoopo e pei o le tagata faʻaoga, matafaioi, ituaiga, ma isi. Afai o lau taimi muamua lea e mafai ai le SELinux, e te manaʻomia muamua le faʻatulagaina o le tala ma igoa. O le fa'agasologa o le tu'uina atu o fa'ailoga ma fa'amatalaga ua ta'ua o le fa'ailoga. Ina ia amata maka, i totonu o le faila faila matou te suia le faiga i loto malie.
$ vi /etc/selinux/config
SELINUX=permissive
Ina ua uma ona seti le faiga loto malie, fatuina se faila natia gaogao i le aʻa ma le igoa autorelabel
$ touch /.autorelabel
ma toe amata le komepiuta
$ init 6
Manatua: Matou te faʻaogaina le faiga loto malie mo le makaina, talu mai le faʻaogaina o le faiga faamalosia e ono mafua ai ona pa'u le faiga i le taimi e toe amata ai.
Aua e te popole pe afai e pipii le download i luga o se faila, e umi se taimi o le makaina. A maeʻa le makaina ma faʻapipiʻiina lau polokalama, e mafai ona e alu i le faila faʻatulagaina ma seti le faiga faamalosiama tamoe foi:
$ setenforce 1
Ua e fa'amalieina SELinux i lau komepiuta.
Mata'ituina ogalaau
Atonu na e fetaiaʻi ma ni mea sese i le taimi o le makaina poʻo aʻo faʻagasolo le faiga. Ina ia siaki pe o loʻo galue saʻo lau SELinux ma afai e le o poloka le avanoa i soʻo se taulaga, talosaga, ma isi mea, e tatau ona e vaʻai i ogalaau. O loʻo iai le log SELinux i totonu /var/log/audit/audit.log
, ae e te le tau faitauina le mea atoa e su'e ai mea sese. E mafai ona e fa'aogaina le su'ega audit2why e su'e ai mea sese. Fa'atonu le poloaiga lenei:
$ audit2why < /var/log/audit/audit.log
O se taunuuga, o le ae mauaina se lisi o mea sese. Afai e leai ni mea sese i totonu o le ogalaau, ona leai lea o ni savali e faʻaalia.
Fa'atulagaina le SELinux Policy
O se faiga fa'avae SELinux o se seti o tulafono e pulea ai le SELinux security mechanism. O se faiga fa'avae e fa'amatala ai se seti o tulafono mo se siosiomaga fa'apitoa. O lea o le a tatou aʻoaʻoina pe faʻafefea ona faʻatulagaina faiga faʻavae e faʻatagaina ai le avanoa i auaunaga faʻasaina.
1. Fa'atatau talafeagai (sui)
Suiga (booleans) fa'atagaina oe e sui vaega o se faiga fa'avae i le taimi fa'agasolo, e aunoa ma le faia o ni faiga fa'avae fou. Latou te faʻatagaina oe e fai suiga e aunoa ma le toe faʻafouina poʻo le toe tuʻufaʻatasia o faiga faʻavae SELinux.
Faataitaiga:
Fa'apea tatou te manana'o e fa'asoa le fa'asinomaga a le tagata fa'aoga ile FTP faitau/tusi, ma ua uma ona tatou fa'asoa, ae a tatou taumafai e fa'aoga, e leai se mea tatou te iloa. E mafua ona o le SELinux policy e taofia ai le FTP server mai le faitau ma le tusitusi i le lisi o fale a le tagata faʻaoga. Matou te manaʻomia le suia o le faiga faʻavae ina ia mafai ai e le FTP server ona faʻaogaina faletusi fale. Se'i va'ai pe i ai ni suiga mo lenei mea e ala i le faia
$ semanage boolean -l
O lenei poloaiga o le a lisiina ai suiga o loʻo avanoa ma latou tulaga o loʻo iai nei (i luga pe tape) ma faʻamatalaga. E mafai ona e faʻaleleia lau suʻesuʻega e ala i le faʻaopoopoina o le grep e suʻe ai ftp-naʻo iuga:
$ semanage boolean -l | grep ftp
ma o le ae mauaina mea nei
ftp_home_dir -> off Allow ftp to read & write file in user home directory
O lenei ki ua le atoatoa, o lea e mafai ai ona matou faʻaogaina setsebool $ setsebool ftp_home_dir on
O lea la o le a mafai e le matou ftp daemon ona maua le lisi o fale o le tagata faʻaoga.
Manatua: E mafai foi ona e mauaina se lisi o suiga avanoa e aunoa ma se faʻamatalaga e ala i le faia getsebool -a
2. Fa'ailoga ma fa'amatalaga
Ole auala sili lea ona masani e faʻatino ai faiga faʻavae SELinux. O faila uma, faila, faʻagasologa ma le taulaga e faʻailogaina i le SELinux context:
- Mo faila ma faila, o igoa o loʻo teuina o ni uiga faʻalautele i luga o le faila faila ma e mafai ona vaʻaia i le poloaiga lenei:
$ ls -Z /etc/httpd
- Mo faʻagasologa ma ports, o le faʻailoga e pulea e le fatu, ma e mafai ona e vaʻai i igoa nei:
faʻagasologa
$ ps –auxZ | grep httpd
uafu
$ netstat -anpZ | grep httpd
Faataitaiga:
Se'i o tatou va'ai i se fa'ata'ita'iga e malamalama atili ai i fa'ailoga ma fa'amatalaga. Fa'apea o lo'o i ai sau 'upega tafa'ilagi, nai lo le fa'atonuga /var/www/html/ использует /home/dan/html/
. SELinux o le a manatu lenei mea o se soliga o faiga faʻavae ma o le a le mafai ona e vaʻai i au itulau web. E mafua ona matou te leʻi setiina le tulaga saogalemu e fesoʻotaʻi ma faila HTML. Ina ia vaʻai i le tulaga le saogalemu o le saogalemu, faʻaaoga le poloaiga lenei:
$ ls –lz /var/www/html
-rw-r—r—. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/
O lea ua tatou maua httpd_sys_content_t
e fai ma fa'amatalaga mo faila html. Matou te manaʻomia le setiina o lenei tulaga saogalemu mo la matou lisi o loʻo i ai nei, lea o loʻo i ai nei le faʻamatalaga:
-rw-r—r—. dan dan system_u:object_r:user_home_t:s0 /home/dan/html/
O se isi poloaiga e siaki ai le tulaga saogalemu o se faila poʻo se lisi:
$ semanage fcontext -l | grep '/var/www'
O le a matou faʻaogaina foi le semanage e sui ai le faʻamatalaga pe a matou mauaina le faʻaoga saʻo saogalemu. Ina ia suia le tala o le /home/dan/html, taʻavale tulafono nei:
$ semanage fcontext -a -t httpd_sys_content_t ‘/home/dan/html(/.*)?’
$ semanage fcontext -l | grep ‘/home/dan/html’
/home/dan/html(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
$ restorecon -Rv /home/dan/html
A maeʻa ona suia le tala e faʻaaoga ai le semanage, o le restorecon command o le a faʻapipiʻiina le faʻaogaina o faʻamatalaga mo faila ma directories. O le a mafai nei e la matou 'upega tafaʻilagi ona faitau faila mai le faila /home/dan/html
ona o le tulaga saogalemu mo lenei faila ua suia i httpd_sys_content_t
.
3. Fausia faiga fa'alotoifale
Atonu e i ai tulaga e le aoga ia te oe auala o loʻo i luga ma e te maua ni mea sese (avc/denial) ile audit.log. A tupu lenei mea, e tatau ona e faia se faiga faʻalotoifale. E mafai ona e mauaina mea sese uma e faʻaaoga ai le audit2why, e pei ona faʻamatalaina i luga.
E mafai ona e faia se faiga fa'alotoifale e foia ai mea sese. Mo se faʻataʻitaʻiga, matou te maua se mea sese e fesoʻotaʻi ma le httpd (apache) poʻo le smbd (samba), matou te grep mea sese ma faia se faiga faʻavae mo i latou:
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_policy
o http_policy
и smb_policy
o igoa ia o faiga fa'alotoifale na matou faia. Ole taimi nei e manaʻomia le utaina o nei faiga faʻapitonuʻu i totonu ole faiga faʻavae SELinux. E mafai ona faia lenei mea e pei ona taua i lalo:
$ semodule –I http_policy.pp
$ semodule –I smb_policy.pp
Ua uma ona la'u mai a matou faiga fa'alotoifale ma e le tatau ona toe maua se avc po'o se denail i le audit.log.
O laʻu taumafaiga lenei e fesoasoani ia te oe ia malamalama i le SELinux. Ou te faʻamoemoe pe a uma ona e faitauina lenei tusiga o le a sili atu lou toʻa i le SELinux.
puna: www.habr.com