Ẹ má ṣe kó ìmú-lókun systemd lórí ìsọ̀kalẹ̀ user OpenVPN
Àwọn ìtọ́nisọ́nà àṣẹ-kékeré méjì pọ̀ kì í ṣe ọ̀kan tí ó le koko. Yan ẹni tí yóò ṣe ìyípadà ìdánimọ̀, kí o sì ṣe àwòrán àṣẹ jálẹ̀ gbogbo àyípoyí ìgbésí ayé.
Àwọn ìtọ́nisọ́nà àṣẹ-kékeré méjì tí a so pọ̀ kì í mú ìfilélẹ̀ tí ó le koko wá. Ọ̀kan ṣe àpẹẹrẹ jẹ́ kí daemon bẹ̀rẹ̀ pẹ̀lú àṣẹ kí ó sì sọ̀kalẹ̀ sí àkọsílẹ̀ tí kò ní àṣẹ lẹ́yìn ìbẹ̀rẹ̀; èkejì jẹ́ kí olùtọ́jú iṣẹ́ gbé e lọ ní abẹ́ ìdánimọ̀ tí a fi ààlà lẹ́nu láti ìtọ́ni àkọ́kọ́. Ọ̀kọ̀ọ̀kan ṣiṣẹ́ fúnra rẹ̀, àpapọ̀ wọn sì máa ń mú iṣẹ́ kan wá tí kò lè ṣe ọ̀kan nínú iṣẹ́ méjì náà dáadáa. Ìyókù rẹ̀ ń tẹ̀lé ìpinnu náà ní ìtòlẹ́sẹẹsẹ.
Àpẹẹrẹ méjì, olówó kan fún ìyípadà
Àpẹẹrẹ àkọ́kọ́ jẹ́ ti daemon. Àwọn àṣàyàn OpenVPN ti àwùjọ user àti group ń yí ìdánimọ̀ padà lẹ́yìn tí a ti ṣètò ọ̀nà àti àwọn kọ́kọ́rọ́, persist-key pẹ̀lú persist-tun sì ń pa àwọn ohun àmúṣọrọ̀ náà mọ́ kí wọ́n lè ṣe é lò lẹ́yìn náà.
Àpẹẹrẹ èkejì jẹ́ ti olùtọ́jú iṣẹ́. Ètò systemd User= tàbí Group= ń pinnu ìdánimọ̀ tí ìlànà yóò bẹ̀rẹ̀ lábẹ́ rẹ̀, àwọn ìtọ́ni agbára sì ń pinnu ohun tí ó lè dá mú. Yíyan láàrin àwọn àpẹẹrẹ jẹ́ ọ̀rọ̀ ìṣùpọ̀ kí ó tó di ọ̀rọ̀ ààbò, olùtọ́jú àkópọ̀ ti dáhùn rẹ̀ tẹ́lẹ̀. Iṣẹ́ rẹ ni láti wá ìdáhùn yẹn dípò dídá àṣàyàn kẹta.
Àwọn méjèèjì tọ́. Àṣìṣe ni láti kà wọ́n sí ipele ti àpẹẹrẹ kan ṣoṣo, nítorí àpẹẹrẹ èkejì lè sọ ìyípadà ìdánimọ̀ ti àkọ́kọ́ di iṣẹ́ tí a kò gbà ìlànà láyè láti ṣe mọ́.
Pinnu ibi tí ìdánimọ̀ ti ń yí padà
Bí ẹ̀ka náà bá ti ń bẹ̀rẹ̀ gẹ́gẹ́ bí àkọsílẹ̀ àkànṣe, ìtọ́ni fún daemon láti di àkọsílẹ̀ mìíràn ń béèrè ìyípadà setuid tí iṣẹ́ tí a fún ní agbára kò yẹ kí ó ṣe rí. Ìkùnà náà farahàn gẹ́gẹ́ bí àṣìṣe àṣẹ nígbà ìbẹ̀rẹ̀, kì í ṣe gẹ́gẹ́ bí ìfiránṣẹ́ ìlànà tí ó ṣe kedere. Èyí ń kà bí agbára tí ó ṣá, èyí tí ń ti àwọn ènìyàn lọ sí àkójọ ààlà tí ó gbòòrò dípò ìbéèrè ìdánimọ̀.
Ka ohun tí àkópọ̀ tí a fi sórí ẹ̀rọ ń pèsè ní ti gidi kí o tó ṣàtúnṣe ohunkóhun, pẹ̀lú àkójọ drop-in rẹ̀. Àwọn ẹ̀ka kan máa ń fi ìsọ̀kalẹ̀ daemon fúnra rẹ̀ sílẹ̀ mọ̀ọ́mọ̀ nítorí olùtọ́jú ti ń ṣe é, àwọn mìíràn sì gbára lé àwọn àṣàyàn yẹn fún ìyípadà lẹ́yìn ìbẹ̀rẹ̀. Yíyọ ọ̀kan nínú àwọn méjèèjì kuro láìmọ irú àpẹẹrẹ tí o jogún ni ọ̀nà tí iṣẹ́ tí ń ṣiṣẹ́ fi dẹ́kun ìbẹ̀rẹ̀.
Kọ àpẹẹrẹ tí a yàn sórí ìlà kan: ti olùtọ́jú tàbí ti daemon. Gbogbo ìtọ́ni tó tẹ̀lé gbọ́dọ̀ bá gbólóhùn yẹn mu, a sì gbọdọ̀ kà ẹ̀ka tí ó dàpọ̀ sí àṣìṣe kì í ṣe àdéhùn.
Àwọn agbára jẹ́ ààlà, kì í ṣe ẹ̀bùn
Àkójọ ààlà agbára ń sọ ohun tí ìlànà lè dá mú ní pọ̀ jù. Ó jẹ́ òrùlé, àti kíkọ agbára síbẹ̀ kò fi ohunkóhun fúnni fúnra rẹ̀, nítorí náà ẹ̀ka tí ó ní àkójọ ààlà ọ̀làjú lè ṣì kùnà láti dá ọ̀nà.
Ohun tí ó gbé agbára sínú àkójọ àyíká iṣẹ́ ní ti gidi ni AmbientCapabilities=. ìwé àkọsọ ìṣiṣẹ́ systemd ń kọ àwọn ìtọ́ni méjèèjì lọ́tọ̀, ìyàtọ̀ yẹn sì ń ṣàlàyé ọ̀pọ̀lọpọ̀ ìmọ̀ràn agbára tí ó dàrú lórí íńtánẹ́ẹ̀tì.
Fi agbára kún nígbà tí iṣẹ́ tí ń kùnà bá ti dá a mọ̀. Àkójọ ààlà tí ó gbòòrò ń fi ìdí gidi pamọ́, ó sì ń fi iṣẹ́ sílẹ̀ pẹ̀lú àṣẹ tí ó ju èyí tí àpẹẹrẹ ní lọ. Ó tún jẹ́ kí ẹ̀ka náà ṣòro láti ṣàyẹ̀wò, nítorí òrùlé kò tún ṣe àpèjúwe iṣẹ́ náà mọ́. Yọ agbára àfikún kuro lẹ́yìn tí a ti tún àbùkù gidi náà ṣe.
Ṣe àwòrán àṣẹ jálẹ̀ àyípoyí ìgbésí ayé
Ṣe àkójọ ohun tí ìlànà gbọdọ̀ ṣe ní ìpele kọ̀ọ̀kan: ìbẹ̀rẹ̀, ipò tí ó dúró ṣinṣin, ìjẹ́rìí lẹ́ẹ̀kan sí i àti ìyọkúrò. Ṣíṣe ojúewé, yíyí àwọn ọ̀nà padà, kíkà kọ́kọ́rọ́ tí a dáàbò bo àti pípe olùrànlọ́wọ́ kò ṣẹlẹ̀ ní àkókò kan náà tàbí lábẹ́ àwọn ìbéèrè kan náà. Tò àkójọ náà ní ìpele kí o tó tò ó ní agbára.
Àwọn àṣàyàn ìdúró ṣinṣin ń pa àwọn ohun àmúṣọrọ̀ mọ́ la ọ̀nà ìdúnàádúrà, wọn kò sì fún ní àwọn ìyọ̀ǹda tí a kò tíì ní rí. Kọ́kọ́rọ́ tí ìlànà kò lè kà ní ìbẹ̀rẹ̀ yóò ṣì jẹ́ aláìkà lẹ́yìn náà, ohunkóhun tí àwọn àsíá ìdúró ṣinṣin bá sọ. Àwọn àsíá ń pa ohun tí ó ti ṣiṣẹ́ mọ́.
Lo àkọsílẹ̀ àkànṣe dípò èyí tí a pín. Àwọn olùdàgbà OpenVPN ń kìlọ̀ lórí àṣà lílo nobody gẹ́gẹ́ bí àpẹẹrẹ gbogboogbò, nítorí àwọn iṣẹ́ mìíràn lórí ẹ̀rọ agbàlejò lè máa ṣiṣẹ́ lábẹ́ àkọsílẹ̀ yẹn tẹ́lẹ̀, ìpínyà tí o rò pé o ní kò sì sí níbẹ̀.
Àwọn ẹ̀yà tí ń yí ẹrù àdúgbò padà, bí ìsọ̀kalẹ̀ ọ̀nà dátà tàbí ìkọ́ kan tí ó so mọ́rọ̀ lọ́nà mìíràn, lè yí àwọn iṣẹ́ tí ó nílò padà. Ṣàyẹ̀wò àwòrán náà nígbà tí àkópọ̀ bá yí padà, kì í ṣe nígbà tí nǹkan kan bá já.
Kọ ètò náà sílẹ̀ kí o sì pa ààyè ìmúpadà mọ́
Àkọsílẹ̀ ìfilélẹ̀ gbọdọ̀ dárúkọ olùtọ́jú, ìdánimọ̀ ìbẹ̀rẹ̀, ìdánimọ̀ ìdúró ṣinṣin tí a fẹ́ àti gbogbo ìyọ̀ǹda pẹ̀lú iṣẹ́ tí ó nílò rẹ̀. Àkọsílẹ̀ yẹn ni ó mú kí ìyípadà tó kàn lè ṣe àyẹ̀wò dípò ìdánwò.
Pa ààyè console mọ́ nígbà tí o ń ṣàtúnṣe, nítorí ẹ̀ka tí ó kùnà ní ìbẹ̀rẹ̀ ṣòro láti tún ṣe láti ọ̀nà jínjìn. Dán ìtúnbẹ̀rẹ̀ àti ìtúnbẹ̀rẹ̀ kíkún wò kí o tó sọ pé ìyípadà náà ti parí. Ẹ̀ka tí ó ye ìtúnbẹ̀rẹ̀ lè ṣì kùnà kí nẹ́tíwọ́kì tó gòkè.
Àṣeyọrí ni àyípoyí ìgbésí ayé àṣẹ-kékeré tí a yé, kì í ṣe ìlànà tí ó ṣẹ̀ṣẹ̀ ń ṣiṣẹ́ lábẹ́ orúkọ tí kì í ṣe root.