Àwọn àpò méjì tí wọ́n jọra nínú ìtọ́sọ́nà ń ṣe iṣẹ́ tí ó yàtọ̀ pátápátá. Ọ̀kan ń tọ́jú aláṣẹ ìjẹ́rìí: kọ́kọ́rọ́ àṣírí rẹ̀, olùka nọ́mbà ìtẹ̀lé àti àkọsílẹ̀ ohun gbogbo tí ó ti fọwọ́ sí. Èkejì ń tọ́jú ohun tí daemon nílò láti bẹ̀rẹ̀ àti láti sin àwọn oníbàárà. Fífi àwọn méjèèjì sórí ẹrọ kan náà lábẹ́ àkọsílẹ̀ kan rọrùn fún ọ̀sán kan, ó sì ń náni lówó fún ìyókù ìgbésí ayé ìgbékalẹ̀ náà, nítorí daemon yóò máa ṣiṣẹ́ lẹ́gbẹ̀ẹ́ kọ́kọ́rọ́ kan ṣoṣo tí ó lè dá ìdánimọ̀ èyíkéyìí tí ó bá fẹ́.

Ohun tí ilé-iṣẹ́ CA ní

Àpò PKI jẹ́ ipò olùpèsè, kì í ṣe ìṣètò. Ó ní kọ́kọ́rọ́ àṣírí àti ìwé-ẹ̀rí CA, fáìlì nọ́mbà ìtẹ̀lé, àkójọ àwọn ìwé-ẹ̀rí tí a pèsè àti ohun èlò ìdánimọ̀ kọ̀ọ̀kan tí a ṣe láti inú wọn.

Fífọwọ́ sí ìbéèrè ń yí ipò yẹn padà, ìdí nìyẹn tí ilé-iṣẹ́ náà fi jẹ́ ti àkọsílẹ̀ tí alábòójútó ń ṣàkóso lórí ẹrọ tí iṣẹ́ VPN kò ti ṣiṣẹ́. Ẹnikẹ́ni tí ó lè ka kọ́kọ́rọ́ àṣírí CA lè pèsè ìwé-ẹ̀rí tí olùsìn yóò gbẹ́kẹ̀lé, nítorí náà ààbò kọ́kọ́rọ́ náà ni gbogbo àwòrán ìgbẹ́kẹ̀lé nínú fáìlì kan. Kíkópọ̀ rẹ̀ sí ibi kejì láti fi ààyè kan pamọ́ ń dá ohun kejì láti dáàbò bò àti ohun kejì láti gbàgbé. Ìfọwọ́sí kọ̀ọ̀kan tún ń pọ̀ si nọ́mbà ìtẹ̀lé, ó sì ń fi àkọsílẹ̀ kún àkójọ náà, ìdí nìyẹn tí ilé-iṣẹ́ náà fi jẹ́ ẹ̀dà ipò kan, kì í ṣe àpò àwọn fáìlì.

Ìwé-ẹ̀rí gbogbogbò ti CA yàtọ̀. Wọ́n pinnu rẹ̀ fún pínpín káàkiri, òun ni àwọn oníbàárà àti olùsìn ń lò láti ṣàyẹ̀wò ara wọn.

Ohun tí daemon ń kà nígbà tí ó bẹ̀rẹ̀

Olùsìn tí ń ṣiṣẹ́ ń lo àkójọ kékeré: ìwé-ẹ̀rí rẹ̀, kọ́kọ́rọ́ àṣírí rẹ̀, ìwé-ẹ̀rí CA fún ṣíṣàyẹ̀wò àwọn ẹlẹgbẹ́ àti ohun èlò kọ́kọ́rọ́ èyíkéyìí tí ipò tí a yàn nílò. Ó ń ka àwọn ọ̀nà yẹn nígbà ìbẹ̀rẹ̀ àti lẹ́ẹ̀kan sí i nígbà ìgbépadà.

A gbọ́dọ̀ ṣàyẹ̀wò ẹ̀tọ́ lórí ẹ̀ka tí ń bẹ̀rẹ̀ ní ti gidi, kì í ṣe lórí shell root alábàáṣepọ̀. Sandbox tí a kéde lè sọ apá kan nínú ètò fáìlì di kíkà nìkan tàbí àìrí pàápàá nígbà tí ìdánwò ọwọ́ gẹ́gẹ́ bí root bá ṣe àṣeyọrí.

systemctl show -p User -p Group -p ReadOnlyPaths [email protected]
stat -c '%a %U:%G' /etc/openvpn/server/server.key
runuser -u openvpn -- test -r /etc/openvpn/server/server.key; echo $?

Ìlà kẹta ni àwọn ènìyàn ń fò ó. Ó béèrè lọ́wọ́ àkọsílẹ̀ daemon fúnra rẹ̀ bóyá ó lè ka kọ́kọ́rọ́ náà, ìyẹn sì ni ẹ̀dà ìbéèrè kan ṣoṣo tí ó ṣe pàtàkì lẹ́yìn tí a ti fi àwọn ẹ̀tọ́ sílẹ̀. Jíjáde pẹ̀lú òdo gẹ́gẹ́ bí root kò sọ ohunkóhun nípa ohun tí ń ṣẹlẹ̀ lẹ́yìn ìfisílẹ̀ náà.

Ó tọ́ láti ya ọ̀nà ìkùnà méjì náà sọ́tọ̀ kí o tó yí ìyọ̀ǹda èyíkéyìí padà. Ìkùnà ìfọwọ́sí ń tọ́ka sí àpò PKI, ìyọ̀ǹda wíwá nínú àwọn àpò òbí rẹ̀ àti àkọsílẹ̀ tí ń ṣiṣẹ́ olùpèsè náà. Ìkùnà ìbẹ̀rẹ̀ ń tọ́ka sí ẹ̀ka náà, àpò iṣẹ́ rẹ̀ àti àwọn ọ̀nà tí a dárúkọ nínú ìṣètò olùsìn náà. Fífi gbogbo igi náà kíkà fún gbogbo ènìyàn kò tún èyíkéyìí nínú wọn ṣe, ó sì ń mú ààlà tí àwọn méjèèjì gbára lé kúrò.

Ìdí tí kíkópọ̀ kọ́kọ́rọ́ CA sórí olùsìn fi ń kùnà lẹ́yìn náà

Kíkópọ̀ náà máa ń bẹ̀rẹ̀ gẹ́gẹ́ bí ìgbésẹ̀ àtúnṣe: ẹnìkan fẹ́ sọ oníbàárà di tuntun lórí ẹrọ VPN, nítorí náà kọ́kọ́rọ́ CA wọ inú /etc/openvpn ó sì ń ṣiṣẹ́. Iṣẹ́ kíákíá náà ṣàṣeyọrí, ààlà náà sì ti lọ.

Lẹ́yìn náà a ṣe ẹ̀dà àbò olùsìn, aláṣẹ ìfọwọ́sí sì darapọ̀ mọ́ àwọn ẹ̀dà àbò náà. Àwòrán àkókò, àkójọ àtìlẹ́yìn tàbí ẹ̀dà àpò ìṣètò ti ń gbé agbára láti pèsè àwọn ìdánimọ̀ tí a gbẹ́kẹ̀lé nígbà yóò tó CA wà ní ipò. Ẹnikẹ́ni tí ó bá ní ẹ̀dà yẹn lè dá ìwé-ẹ̀rí fún orúkọ èyíkéyìí tí olùsìn gbà, pẹ̀lú àwọn orúkọ tí a kò pèsè rí. Àkọsílẹ̀ kan ṣoṣo nípa ìpèsè yẹn ni èyí tí wọ́n yàn láti tọ́jú.

Ìmúbọ̀sí ipò yẹn kì í ṣe ọ̀rọ̀ pípa fáìlì kan. O gbọ́dọ̀ pinnu bóyá a ti fi kọ́kọ́rọ́ náà hàn, yí CA padà bí ó bá rí bẹ́ẹ̀, kí o sì pín ìgbẹ́kẹ̀lé káàkiri fún ẹlẹgbẹ́ kọ̀ọ̀kan. Ilé-iṣẹ́ tí ó yàtọ̀ yóò yẹra fún gbogbo ìjíròrò náà.

Àwọn àkọsílẹ̀, àpò, ẹ̀dà àbò

Fún olùpèsè ní àkọsílẹ̀ àti àpò ilé tirẹ̀, tí a pa mọ́ kúrò lórí ẹrọ VPN níbi tí ó bá ṣeé ṣe. Fún daemon ní àkọsílẹ̀ mìíràn, pẹ̀lú àǹfààní kíkà sí ohun èlò tí a ti fi sílẹ̀ àti àǹfààní kíkọ sí ohunkóhun tí ń pèsè ìwé-ẹ̀rí. Fi sílẹ̀ nípa kíkópọ̀ àwọn ìwé-ẹ̀rí gbogbogbò jáde, kí o má ṣe fa ipò àṣírí olùpèsè wọlé rí. Ṣe ẹ̀dà àbò àwọn ipa méjèèjì lọ́tọ̀, nítorí ìfarahàn wọn àti àwọn ìtàn ìmúpadà wọn yàtọ̀.

Lẹ́yìn ìfagilé, ṣe àtúnṣe fáìlì CRL tí ìṣètò olùsìn dárúkọ, lẹ́yìn náà gbé iṣẹ́ náà padà kí àwọn ìsopọ̀ tuntun lè kà á. Àwọn ìwé ìtọ́sọ́nà Easy-RSA ń ṣàlàyé ìṣètò ilé-iṣẹ́ náà àti ìtòlẹ́sẹẹsẹ ìfọwọ́sí; àwọn òfin ẹ̀tọ́ tí ó yí i ká ṣì jẹ́ ìpinnu nípa ẹrọ rẹ. Ṣàyẹ̀wò ohun tí iṣẹ́ náà gbé wọlé pẹ̀lú openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate dípò rírò pé ìgbépadà náà gbà á.

Ìdánwò tí ń fi ìyàsọ́tọ̀ hàn

Ṣàyẹ̀wò ọ̀ràn òdì, kì í ṣe èyí tí ń ṣiṣẹ́ nìkan. Fọwọ́ sí ìwé-ẹ̀rí láti àkọsílẹ̀ olùpèsè gẹ́gẹ́ bí a ti ṣètò, lẹ́yìn náà ṣàyẹ̀wò pé àkọsílẹ̀ kan náà kò lè bẹ̀rẹ̀ iṣẹ́ náà tàbí ka kọ́kọ́rọ́ àṣírí olùsìn. Lẹ́yìn náà ṣàyẹ̀wò pé àkọsílẹ̀ daemon kò lè ka kọ́kọ́rọ́ àṣírí CA.

Àwọn ìṣàyẹ̀wò mẹ́ta yẹn ń gba ìṣẹ́jú mélòó kan, wọ́n sì ń faradà àwọn ìyípadà òṣìṣẹ́, nítorí àwọn gbólóhùn nípa ìyọ̀ǹda ni wọ́n, kì í ṣe nípa àṣà. Kọ àbájáde pẹ̀lú àwọn ọ̀nà àti àkọsílẹ̀ tí ó bo, pẹ̀lú ọjọ́ tí o ṣe wọ́n. Ẹni tí yóò jogún ìgbékalẹ̀ yìí lẹ́yìn náà bí kò ṣe bẹ́ẹ̀ yóò tún ààlà náà yọ látinú ìtọ́sọ́nà tí kò ní irú rẹ̀ rí. Àkọsílẹ̀ pẹ̀lú ọjọ́ tún ni ó ń mú kí àyẹ̀wò tó ń bọ̀ gba ìṣẹ́jú díẹ̀ dípò ọ̀sán kan.

Àwọn àpilẹ̀kọ tó jọra