Àkọsílẹ̀ ń pọ̀ sílẹ̀ ṣùgbọ́n a kò lè tún un ṣe: yẹ ACL àpò yẹn wò
Fífikún sí fáìlì kò nílò orúkọ tuntun nínú àpò rẹ̀; ṣíṣe é nílò. Fi ACL ìwọlé wé àwọn iye àìtẹ̀sílẹ̀ tí a jogún kí o tó gbòòrò ohunkóhun.
Àkọsílẹ̀ tí ń pọ̀ sílẹ̀ láìdábọ̀ yóò dá pọ̀sí mọ́ ní àkókò tí ohun kan bá tún un ṣe, àti àṣìṣe náà sọ pé a kọ̀ ìyọ̀nda. Ìparí tí ń tàn ni pé fáìlì àkọsílẹ̀ fúnra rẹ̀ nílò àwọn ìyọ̀nda púpọ̀ sí i, ṣùgbọ́n ó lè jẹ́ pé a ti lè kọ sínú fáìlì náà fún àkọọ́lẹ̀ kan náà. Fífikún sí orúkọ tí ó wà àti ṣíṣe orúkọ tuntun jẹ́ àyẹ̀wò méjì tí ó yàtọ̀, àti èkejì nìkan ni ó béèrè lọ́wọ́ àpò.
Fífikún àti ṣíṣe jẹ́ àyẹ̀wò tí ó yàtọ̀
Ṣíṣí fáìlì tí ó wà fún fífikún nílò àṣẹ kíkọ lórí fáìlì yẹn pẹ̀lú àṣẹ wíwa káàkiri àpò kọ̀ọ̀kan nínú ipa ọ̀nà rẹ̀. Ṣíṣe fáìlì nílò kíkọ àti wíwa nínú àpò tí ó wà nínú rẹ̀, nítorí iṣẹ́ náà ń fi orúkọ kún un. Pípààrọ̀ fáìlì nípasẹ̀ yíyí orúkọ padà tún kan àwọn àpò méjèèjì àti àwọn òfin sticky-bit wọn.
| Operation | What must permit it | Typical failure message |
|---|---|---|
| Append to an existing log | File write access, path traversal | Permission denied on the file |
| Create a missing log | Directory write and search access | Permission denied on the path |
| Rename a replacement into place | Both directories, plus sticky restrictions | Permission denied or operation not permitted |
Àpèjúwe tí ó ti ṣí sílẹ̀ tẹ́lẹ̀ ń fi ipò kẹrin kún un. Ìlànà kan lè di ọwọ́ kíkọ tí a ṣí kí ó tó kọ̀ àwọn àǹfààní sílẹ̀, kí ó sì ṣì kùnà láti tún ipa ọ̀nà yẹn ṣí lábẹ́ ìdánimọ̀ rẹ̀ tí ó tẹ̀lé. Àwọn fífikún tí ó ṣàṣeyọrí àti ṣíṣe tí ó kùnà lè jẹ́ òtítọ́ méjèèjì, ní àkókò kan náà, fún ìlànà kan náà.
ACL àìtẹ̀sílẹ̀ ni a jogún, wọn kò fúnni
Ìkọsílẹ̀ tí ó bẹ̀rẹ̀ pẹ̀lú ìpilẹ̀ àìtẹ̀sílẹ̀ ń ṣàpèjúwe ohun tí àwọn ohun tuntun jogún láti àpò. Kò fún àpò fúnra rẹ̀ ní ohunkóhun, kò sì tún ACL fáìlì tí ó ti wà ṣe.
namei -l /var/log/openvpn/server.log
getfacl -p /var/log/openvpn
getfacl -p /var/log/openvpn/server.log
Ka àwọn ìkọsílẹ̀ ìwọlé lọ́tọ̀ kúrò nínú àwọn àìtẹ̀sílẹ̀, kí o sì ka iboju náà. Ìkọsílẹ̀ onílórúkọ tí ó ṣe àkójọ àwọn ẹ̀tọ́ kíkún ṣì lè jẹ́ ààlà nípasẹ̀ iboju, ìdí nìyẹn tí àkọsílẹ̀ tí ó wúlò ṣe pàtàkì ju àwọn lẹ́tà ní ìlà àkọ́kọ́ lọ.
Lo ipa ọ̀nà tí a ti yanjú dípò ipa ọ̀nà inú ìṣètò. Ọ̀nà àpèjúwe, ibi ìsopọ̀ tàbí àpò tí a yí padà lè gbé fáìlì gidi sí ibi tí ìyọ̀nda tí o fún kò ti dé rí. Kọ́kọ́ rìn ipa ọ̀nà pẹ̀lú irinṣẹ́ orúkọ, lẹ́yìn náà fi ìpele kọ̀ọ̀kan wé àkọọ́lẹ̀ tí ó kan. Sísa àpò ìpele gíga jùlọ ni ọ̀nà tí àtúnṣe fi ń balẹ̀ ní ìpele kan tí ó ga jù.
Dámọ̀ ẹni tí ń kọ ní àkókò yẹn
Yẹ ẹ̀ka iṣẹ́, àwọn drop-in rẹ̀ àti àwọn ìṣètò àkọọ́lẹ̀ ti daemon fúnra rẹ̀ wò kí o tó yí ohunkóhun padà. Ìlànà tí ń fíkún àti ìlànà tí ń tún ṣe lè yàtọ̀: olùrànlọ́wọ́ yíyí, akọ̀wé ipò àti olùkàwé wẹ́ẹ̀bù kì í fi ìdánimọ̀ kan pín.
Ìdánwò tí a ṣe láti shell root kò tún iṣẹ́ tí a háàlà ṣe, yóò sì ṣàṣeyọrí nígbà tí iṣẹ́ náà ń kùnà lọ. Tún iṣẹ́ tí ó kùnà ṣe lábẹ́ ẹ̀ka kan náà, pẹ̀lú àkọọ́lẹ̀ kan náà àti àwọn ìṣètò sandbox kan náà. Tí o kò bá lè ṣe é, bẹ̀rẹ̀ ẹ̀ka náà pẹ̀lú shell ìgbà díẹ̀ kí o sì yẹ ìdánimọ̀ tí ó ń sọ wò. Ohunkóhun mìíràn ń díwọ̀n terminal rẹ, kì í ṣe iṣẹ́ náà.
Tí ṣíṣe bá jẹ́ pàtàkì gan, fún akọ̀wé ní àṣẹ sí àpò àkọsílẹ̀ àkànṣe kí o sì pa àṣẹ kíkà fún àwọn olùlò mọ́ lọ́tọ̀. Sísọ àkọọ́lẹ̀ tí a pín tàbí gbogbo igi ohun èlò di ohun tí a lè kọ sí láti tẹ́ ẹ̀bẹ̀ ìpè àkọsílẹ̀ kan ṣe ń pààrọ̀ ìṣòro kékeré fún ẹni ńlá.
Yí padà láì tún un mú wá
Ẹni tí ó tún fáìlì ṣe ni ó ń pinnu olówó rẹ̀ àti ipò rẹ̀ fún àyíká tí ó tẹ̀lé, nítorí náà ṣe àtúnṣe náà ní ìbámu pẹ̀lú ìṣètò yíyí. Àròpo tí a ṣe lábẹ́ àkọọ́lẹ̀ mìíràn, tàbí pẹ̀lú ACL tuntun, ń mú ìkùnà padà wá lẹ́yìn àtúnṣe tí ó ṣàṣeyọrí.
Ṣètò ipò àti ẹgbẹ́ ní àkókò ṣíṣe, kì í ṣe lẹ́yìn náà, kí o sì fi àyíká tí ó tẹ̀lé hàn dípò fífikún tí ó tẹ̀lé. Fífikún kàn ń tún ìdánwò tí ó ti kọjá ṣe. Tí irinṣẹ́ yíyí bá pèsè ìṣètò ipò ṣíṣe, lo ó dípò chmod lẹ́yìn ṣíṣe. Àlàfo láàrin ṣíṣe àti chmod ni àkókò gan-an tí kíkọ tí ó tẹ̀lé lè kùnà.
Tí gígé bá ṣì kùnà, dá fífikún àwọn ìyọ̀nda dúró
Ìkùnà láti gé fáìlì tí o lè kọ sí kò ní àlàyé nípasẹ̀ àwọn ìyọ̀nda àpò, àti fífikún púpọ̀ sí i kò ní ràn wọ́. Dípò bẹ́ẹ̀ wo àwọn ànímọ́ àti ààlà náà: ànímọ́ append-only ń gba kíkọ láàyè ní ipò fífikún nìkan, àti ìsopọ̀ kíkà nìkan tàbí sandbox iṣẹ́ lè kọ iṣẹ́ tí ACL gbà láàyè.
Yẹ àwọn ààlà ẹ̀rọ fáìlì ti ẹ̀ka àti àwọn àṣàyàn ìsopọ̀ fún ipa ọ̀nà wò, lẹ́yìn náà tún iṣẹ́ gangan tí ó kùnà ṣe. Sísa ìyọ̀nda tí a kò béèrè rí ń fi ara pamọ́ nípa ààlà tí ó jẹ́ gidi. Yọ ààlà kan kúrò ní ẹ̀ẹ̀kan nínú ẹ̀ka tí a ó fi sílẹ̀, kí o sì dá a padà kí o tó yí ohunkóhun tí ó wà títí padà.