Root kwenye terminal, imekataliwa chini ya SELinux: kwa nini hook inashindwa
Hook inayofanya kazi kikamilifu kwa mkono inaweza kukataliwa ndani ya huduma. Linganisha kikoa cha mchakato, lebo ya faili na ruhusa iliyokataliwa kabla ya kuhariri.
Unaendesha script ya up kama root, inakamilika, na script hiyo hiyo inashindwa huduma inapoiita. Hakuna kilichobadilika katika ruhusa za faili, kwa hivyo hatua inayofuata ya kawaida ni kuzilegeza tena, jambo ambalo halirekebishi chochote. Kwenye mwenyeji wa SELinux sababu ya kuamua mara nyingi si mchakato ni nani, bali ni katika kikoa gani unafanya kazi, na root ndani ya kikoa kilichowekwa bado amezuiwa.
Amri hiyo hiyo, vikoa viwili tofauti vya usalama
Utekelezaji wa aina hutathmini kikoa chanzo, lebo lengwa na operesheni iliyoombwa kwa pamoja. Kipindi chako cha terminal kinafanya kazi katika kikoa kisichowekwa kikomo au cha utawala, na daemon inafanya kazi katika kikoa kilichopewa kitengo chake. Kwa hivyo amri zinazofanana hutoa maamuzi tofauti, na tofauti hiyo ni ya makusudi na si hitilafu katika sera.
Ndiyo sababu kulinganisha utekelezaji huo mbili kuna manufaa tu ikiwa unalinganisha miktadha yao. Endesha amri hiyo hiyo kutoka kwa shell na kutoka kwa hook, na toleo la shell linathibitisha kwamba binari ipo na hoja ni sahihi; halithibitishi chochote kuhusu kama huduma inaruhusiwa kuitekeleza. Iendeshe kwa njia zote mbili na linganisha vikoa, si misimbo ya kutoka tu. Ulinganisho huo ndio unaobadilisha malalamiko yasiyoeleweka kuhusu ruhusa kuwa swali mahususi kuhusu kikoa kimoja na lebo moja.
Umbo la kawaida la hitilafu hii ni msaidizi anayeita chombo cha nje. Hook yenyewe inaweza kuruhusiwa, wakati chombo inachokiita kinabeba lebo ambayo kikoa cha huduma hakiwezi kuitekeleza, au kinaandika kwenye saraka ambayo lebo yake inakataza hilo.
Soma rekodi ya AVC kando ya hitilafu ya hook
Kukataliwa kwa AVC kunataja sehemu zinazoamua kesi: muktadha chanzo wa mchakato, muktadha lengwa wa kitu, darasa la kitu na ruhusa mahususi iliyokataliwa. Soma zote nne kabla ya kuunda nadharia, kwa sababu kukataliwa kwa utekelezaji na kukataliwa kwa uandishi vina marekebisho tofauti kabisa.
ausearch -m AVC,USER_AVC -ts recent
ls -Z /usr/local/sbin/vpn-up.sh
ps -eZ | grep openvpn
Muktadha chanzo unapaswa kuendana na kikoa ambacho huduma inafanya kazi kweli, na muktadha lengwa uendane na lebo ya faili au saraka iliyoguswa na operesheni. Ikiwa moja yao haiendani na hitilafu unayofuatilia, unasoma tukio lingine.
Kando ya rekodi andika toleo la sera na njia kamili ya faili inayotekelezeka. Jina la kikoa linaloonekana katika sera ya usambazaji mmoja ni ushahidi kuhusu usakinishaji huo, si uhakika kwamba ujenzi mwingine unaleta kanuni zilezile. Muktadha huo ndio unaomruhusu mtu mwingine kuzalisha upya hitimisho lako kwenye mwenyeji wake. Bila hiyo, rekodi inasomwa kama hadithi na si ushahidi.
Lebo, usanidi au sera: marekebisho matatu
Rekebisho la kwanza ni lebo isiyoendana na mahali faili iliposakinishwa. Script iliyonakiliwa mahali pake kwa cp au iliyoandikwa na kihariri inaweza kubeba lebo chaguo-msingi ambayo kikoa cha huduma hakiwezi kutumia, na kurejesha muktadha unaotarajiwa hurekebisha hilo bila kugusa sera kabisa.
La pili ni usanidi. Usambazaji unaweza kutoa njia inayotumika ya kuendesha operesheni, saraka iliyoandikwa kwa msaidizi, au kifurushi cha sera kilichosasishwa ambacho tayari kinaruhusu. Kubadilisha mpangilio wako kwenda ule unaotumika ni rahisi zaidi kuliko kuandika sera na huhimili masasisho.
La tatu ni kanuni inayokosekana kweli, na inapaswa kuwa hatua ya mwisho. Tengeneza mtahiniwa kwa zana za ukaguzi, soma inachoruhusu kweli, ibane kwa operesheni na kikoa uliyoziona, na mwombee mtu mwingine kuipitia kabla ya kukaribia uzalishaji.
Kwa nini moduli ya allow ya zamani si jibu
Matokeo ya utafutaji wa hitilafu hii yamejaa moduli zilizotengenezwa tayari, mara nyingi kwa chombo ambacho hook haiiti tena. Kusakinisha moja kunatoa ruhusa ambazo huenda hazina uhusiano wowote na kukataliwa kwako, na kunaacha kutolingana halisi mahali pake huku kikiongeza shimo la kudumu.
Pia huficha kushindwa kunakofuata. Moduli inayoruhusu darasa pana la operesheni itafanya hitilafu hii kutoweka na kubadilisha inayofuata kuwa kitu kigumu zaidi kuhusisha. Kuondoa moduli baadaye pia ni mabadiliko ambayo hakuna anayetaka kupanga, kwa hivyo njia ya mkato huwa ya kudumu.
Ulinganisho wenye nidhamu ni kati ya kukataliwa unachoweza kusoma na mabadiliko unayopendekeza. Mwongozo wa Red Hat wa kutatua matatizo ya SELinux unaweka ukaguzi wa lebo na usanidi mbele ya sera inayozalishwa kwa sababu hii hasa. Ikiwa hakuna kukataliwa sambamba katika rekodi, SELinux pengine si tatizo lako, na masuala ya njia, sandbox au ruhusa bado yako wazi.