O se taʻiala mo le amataga ile SELinux

O se taʻiala mo le amataga ile SELinux

Faaliliuga o le tusiga ua saunia mo tamaiti aoga "Saogalemu Linux"

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:

  1. Fa'amalosia - fa'afiti avanoa e fa'atatau i tulafono fa'avae.
  2. 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.
  3. 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/htmlona 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

Faaopoopo i ai se faamatalaga