Treoir do thosaitheoirí ar SELinux

Treoir do thosaitheoirí ar SELinux

Aistriúchán ar an alt a ullmhaíodh do mhic léinn an chúrsa "Slándáil Linux"

Is meicníocht rialaithe rochtana feabhsaithe é SELinux nó Security Enhanced Linux arna fhorbairt ag Gníomhaireacht Slándála Náisiúnta na SA (NSA) chun cur isteach mailíseach a chosc. Cuireann sé múnla rialaithe rochtana éigean (nó éigeantach) i bhfeidhm (Rialú Rochtana Éigeantach Béarla, MAC) ar bharr na samhla roghnach (nó roghnach) atá ann cheana féin (Rialú Rochtana Lánroghnacha Béarla, DAC), is é sin, ceadanna a léamh, a scríobh, a fhorghníomhú.

Tá trí mhodh ag SELinux:

  1. Forfheidhmiú — rochtain a dhiúltú bunaithe ar rialacha beartais.
  2. ceadaitheach — loga a choimeád de ghníomhaíochtaí a sháraíonn an beartas, a bheadh ​​toirmiscthe sa mhodh forghníomhaithe.
  3. Díchumasaithe — díchumasú iomlán SELinux.

De réir réamhshocraithe tá na socruithe isteach /etc/selinux/config

Modhanna SELinux a athrú

Chun an mód reatha a fháil amach, rith

$ getenforce

Chun an mód a athrú go ceadaitheach rith an t-ordú seo a leanas

$ setenforce 0

nó, modh a athrú ó ceadaithe ar forfheidhmithe, forghníomhú

$ setenforce 1

Más gá duit SELinux a dhíchumasú go hiomlán, ansin ní féidir é seo a dhéanamh ach tríd an gcomhad cumraíochta

$ vi /etc/selinux/config

Chun é a dhíchumasú, athraigh an paraiméadar SELINUX mar a leanas:

SELINUX=disabled

Socrú SELinux

Tá gach comhad agus próiseas marcáilte le comhthéacs SELinux, ina bhfuil faisnéis bhreise mar úsáideoir, ról, cineál, etc. Más é seo do chéad uair ag cumasú SELinux, beidh ort an comhthéacs agus na lipéid a chumrú ar dtús. Clibeáil a thugtar ar an bpróiseas chun lipéid agus comhthéacs a shannadh. Chun tús a chur le marcáil, sa chomhad cumraíochta athraíonn muid an mód go ceadaithe.

$ vi /etc/selinux/config
SELINUX=permissive

Tar éis an modh a shocrú ceadaithe, cruthaigh comhad folamh folaithe sa fhréamh leis an ainm autorelabel

$ touch /.autorelabel

agus atosaigh an ríomhaire

$ init 6

Nóta: Bainimid úsáid as an mód ceadaithe le haghaidh marcáil, ós rud é úsáid an mhodha forfheidhmithe d'fhéadfadh sé a bheith ina chúis le tuairteáil an chórais le linn atosaigh.

Ná bíodh imní ort má théann an íoslódáil i bhfostú ar chomhad éigin, tógann an mharcáil tamall. Nuair a bheidh an mharcáil críochnaithe agus do chóras tosaithe, is féidir leat dul chuig an gcomhad cumraíochta agus an modh a shocrú forfheidhmitheagus rith freisin:

$ setenforce 1

D'éirigh leat SELinux a chumasú ar do ríomhaire anois.

Monatóireacht a dhéanamh ar na logaí

Seans gur tháinig tú trasna ar roinnt earráidí le linn na marcála nó fad a bhí an córas ag rith. Chun a sheiceáil an bhfuil do SELinux ag obair i gceart agus mura bhfuil sé ag cur bac ar rochtain ar aon chalafort, feidhmchlár, etc., ní mór duit breathnú ar na logaí. Tá logáil SELinux suite i /var/log/audit/audit.log, ach ní gá duit an rud ar fad a léamh chun earráidí a aimsiú. Is féidir leat an fóntais audit2why a úsáid chun earráidí a aimsiú. Rith an t-ordú seo a leanas:

$ audit2why < /var/log/audit/audit.log

Mar thoradh air sin, gheobhaidh tú liosta earráidí. Mura raibh aon earráidí sa logáil, ní thaispeánfar aon teachtaireachtaí.

Beartas SELinux a chumrú

Is é atá i mbeartas SELinux ná sraith rialacha a rialaíonn meicníocht slándála SELinux. Sainmhíníonn beartas sraith rialacha do thimpeallacht ar leith. Anois foghlaimfimid conas polasaithe a chumrú chun rochtain ar sheirbhísí toirmiscthe a cheadú.

1. Luachanna loighciúla (lasca)

Ligeann lasca (booleans) duit codanna de pholasaí a athrú ag am rite, gan a bheith ort polasaithe nua a chruthú. Ligeann siad duit athruithe a dhéanamh gan polasaithe SELinux a atosú nó a ath-thiomsú.

Sampla
Ligean le rá gur mhaith linn eolaire baile úsáideora a roinnt trí léamh / scríobh FTP, agus táimid tar éis é a roinnt cheana féin, ach nuair a dhéanaimid iarracht rochtain a fháil air, ní fheicimid rud ar bith. Tá sé seo amhlaidh toisc go gcuireann polasaí SELinux cosc ​​ar an bhfreastalaí FTP ó léamh agus scríobh chuig eolaire baile an úsáideora. Ní mór dúinn an polasaí a athrú ionas gur féidir leis an bhfreastalaí FTP rochtain a fháil ar eolairí baile. A ligean ar a fheiceáil má tá aon lasca le haghaidh seo ag déanamh

$ semanage boolean -l

Liostaeoidh an t-ordú seo na lasca atá ar fáil agus a staid reatha (ar siúl nó as) agus cur síos orthu. Is féidir leat do chuardach a bheachtú trí grep a chur leis chun torthaí ftp-amháin a aimsiú:

$ semanage boolean -l | grep ftp

agus gheobhaidh tú an méid seo a leanas

ftp_home_dir        -> off       Allow ftp to read & write file in user home directory

Tá an lasc seo díchumasaithe, mar sin cumasóimid é setsebool $ setsebool ftp_home_dir on

Anois beidh ár ndeamhan ftp in ann rochtain a fháil ar eolaire baile an úsáideora.
Nóta: Is féidir leat liosta de na lasca atá ar fáil a fháil freisin gan cur síos a dhéanamh getsebool -a

2. Lipéid agus comhthéacs

Is é seo an bealach is coitianta chun beartas SELinux a chur i bhfeidhm. Marcáiltear gach comhad, fillteán, próiseas agus port le comhthéacs SELinux:

  • Maidir le comhaid agus fillteáin, stóráiltear lipéid mar tréithe sínte ar an gcóras comhad agus is féidir iad a fheiceáil leis an ordú seo a leanas:
    $ ls -Z /etc/httpd
  • Maidir le próisis agus poirt, is é an t-eithne a bhainistíonn an lipéadú, agus is féidir leat féachaint ar na lipéid seo mar seo a leanas:

phróiseas

$ ps –auxZ | grep httpd

port

$ netstat -anpZ | grep httpd

Sampla
Anois féachaimis ar shampla chun lipéid agus comhthéacs a thuiscint níos fearr. Ligean le rá go bhfuil freastalaí gréasáin againn, in ionad eolaire /var/www/html/ использует /home/dan/html/. Measfaidh SELinux gur sárú beartais é seo agus ní bheidh tú in ann do leathanaigh ghréasáin a fheiceáil. Tá sé seo amhlaidh toisc nach bhfuil an comhthéacs slándála a bhaineann leis na comhaid HTML socraithe againn. Chun an comhthéacs slándála réamhshocraithe a fheiceáil, bain úsáid as an ordú seo a leanas:

$ ls –lz /var/www/html
 -rw-r—r—. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/

Anseo fuair muid httpd_sys_content_t mar chomhthéacs do chomhaid html. Ní mór dúinn an comhthéacs slándála seo a shocrú dár n-eolaire reatha, a bhfuil an comhthéacs seo a leanas aige faoi láthair:

-rw-r—r—. dan dan system_u:object_r:user_home_t:s0 /home/dan/html/

Ordú eile chun comhthéacs slándála comhaid nó eolaire a sheiceáil:

$ semanage fcontext -l | grep '/var/www'

Úsáidfimid semanage freisin chun an comhthéacs a athrú nuair a bheidh an comhthéacs ceart slándála aimsithe againn. Chun comhthéacs /home/dan/html a athrú, rith na horduithe seo a leanas:

$ 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

Tar éis an comhthéacs a athrú ag baint úsáide as semanage, luchtóidh an t-ordú restorecon an comhthéacs réamhshocraithe le haghaidh comhaid agus eolairí. Beidh ár bhfreastalaí gréasáin in ann comhaid a léamh ón bhfillteán anois /home/dan/htmltoisc gur athraíodh comhthéacs slándála an fhillteáin seo go httpd_sys_content_t.

3. Polasaithe áitiúla a chruthú

D’fhéadfadh cásanna a bheith ann nach bhfuil na modhanna thuas úsáideach duit agus go bhfaigheann tú earráidí (avc/denial) in audit.log. Nuair a tharlaíonn sé seo, ní mór duit polasaí áitiúil a chruthú. Is féidir leat gach earráid a aimsiú ag baint úsáide as audit2why, mar a thuairiscítear thuas.

Is féidir leat polasaí áitiúil a chruthú chun earráidí a réiteach. Mar shampla, faighimid earráid a bhaineann le httpd (apache) nó smbd (samba), déanaimid na hearráidí a ghreamú agus cruthaímid polasaí dóibh:

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

Anseo http_policy и smb_policy is ainmneacha na bpolasaithe áitiúla a chruthaigh muid. Anois caithfimid na beartais chruthaithe áitiúla seo a luchtú isteach i mbeartas reatha SELinux. Is féidir é seo a dhéanamh mar seo a leanas:

$ semodule –I http_policy.pp
$ semodule –I smb_policy.pp

Tá ár mbeartais áitiúla íoslódáilte agus níor cheart go bhfaigheadh ​​muid aon avc nó denail in audit.log a thuilleadh.

Ba é seo mo iarracht cabhrú leat SELinux a thuiscint. Tá súil agam tar éis duit an t-alt seo a léamh go mbraitheann tú níos compordaí le SELinux.

Foinse: will.com

Add a comment