Àwọn ìpele script-security ti OpenVPN láti 0 dé 3, àti ohun tí ọ̀kọ̀ọ̀kan ń ṣí
Ìpele script-security kọ̀ọ̀kan ń gbòòrò ohun tí profáìlè le ṣe: kọ́kọ́ àwọn olùrànlọ́wọ́ ìṣàkóso, lẹ́yìn náà àwọn skripti olùmúlò, lẹ́yìn náà àwọn ọ̀rọ̀ ìpamọ́ nínú àyíká. Ka àwọn ìtọ́ni.
Gbé profáìlè kan wọ inú ẹ̀rọ ìbánisọ̀rọ̀ ojú-iṣẹ́, ìkùnà àkọ́kọ́ sábà máa ń jẹ́ ìlà tí ẹ̀rọ náà kọ̀ láti tẹ̀lé: ìkọ̀wé skripti tí kò ní ṣe é, tàbí iye script-security tí ó rò pé ó ń gbà ààyè jù. Mímú nọ́mbà náà ga ń mú kí páànù náà kúrò. Ṣùgbọ́n ó tún ń gbòòrò ohun tí profáìlè yẹn lè ṣe lórí ẹ̀rọ rẹ, èyí tí ó jẹ́ ohun àjèjì láti fún kìkì láti ti ìkìlọ̀ pa. Tẹ̀lé ìgbéwọlé náà dé ìtọ́ni, ìpinnu náà yóò di kedere.
Láti inú páànù ìgbéwọlé dé ìtọ́ni
Profáìlè náà jẹ́ fáìlì ọ̀rọ̀ pẹ̀lú àwọn ìtọ́ni, ẹ̀rọ náà sì ń kà wọ́n kí ojú-ọ̀nà kankan tó wà. Ìtọ́ni bíi up, down tàbí tls-verify ń dárúkọ ètò ìta tí OpenVPN yẹ kí ó ṣe ní àkókò pàtó. Bóyá OpenVPN ṣetán láti ṣe é jẹ́ ètò ọ̀tọ̀ tí a ń pè ní script-security, profáìlè sì sábà ń gbé e kalẹ̀ pẹ̀lú.
Nítorí náà ìkìlọ̀ náà kì í ṣe nípa ìkọ̀wé àṣírí tàbí àwọn ẹ̀rí. Ó jẹ́ nípa fáìlì ìṣètò tí ń béèrè lọ́wọ́ ẹ̀rọ náà láti ṣe ohun kan lórí olùgbàlejò, àti nípa ẹ̀rọ náà tí ń yẹ̀wò bóyá ìpele àṣẹ rẹ̀ lọ́wọ́lọ́wọ́ ń gbà ìbéèrè yẹn.
Ní àkókò yìí ìkùnà méjì ọ̀tọ̀ọ̀tọ̀ dàbí ẹni kan náà. Profáìlè tí ń béèrè ìpele tí ẹ̀rọ kò ní fún ni ń mú kíkọ̀ jáde. Profáìlè tí ń béèrè ìpele tí ẹ̀rọ fún ṣùgbọ́n skripti kò sí ń mú ìkùnà ní àkókò ṣíṣe dípò, a sì ń dà wọ́n pọ̀ nínú àwọn okùn ìrànlọ́wọ́. Ọ̀kan jẹ́ ìbéèrè àṣẹ, èkejì ìbéèrè ìdì.
Ohun tí ìpele kọ̀ọ̀kan ń ṣí ní ti gidi
Ìpele 0 ń dènà àwọn ìpè ètò ìta pátápátá, èyí tí ó bá a mu fún ẹ̀rọ tí ń ṣètò ojú-ọ̀nà rẹ̀ fúnra rẹ̀ láìsí ìrànlọ́wọ́ àti kò bá a mu fún ẹni tí ń pe ètò ìṣiṣẹ́. Ìpele 1, àìpẹ̀, ń gbà àwọn fáìlì ṣíṣe tí a kọ́ sínú tí ìṣètò ojú-ọ̀nà àti ipa-ọ̀nà nílò. Kò sí ìpele kankan tí ń ṣe ohunkóhun tí olùmúlò pèsè.
| Level | What OpenVPN may execute | What it exposes |
|---|---|---|
| 0 | No external programs at all | Interface and route setup must not depend on helpers |
| 1 (default) | Built-in helpers such as ip, ifconfig, route or netsh | Privileged commands the platform already ships |
| 2 | Built-in helpers plus user-defined scripts | Whatever the named script does with the client's privileges |
| 3 | Everything above, plus passwords in environment variables | Credentials visible to child processes and their logs |
Ìpele 2 ni ààlà tí ó fani mọ́ra, nítorí pé ó gba àwọn skripti tí olùmúlò túmọ̀. Láti àkókò yẹn, àwọn ẹ̀tọ́ ẹ̀rọ náà kan kóòdù tí o lè máà kà rí, tí a ń pè ní àwọn àkókò tí o kò yàn, nínú àyíká tí ó ní àwọn kúlẹ̀kúlẹ̀ ìsopọ̀. Ìpele 3 ń lọ jìnnà sí i, ó ń gba àwọn ọ̀rọ̀ ìpamọ́ láyè láti gbà kọjá nípasẹ̀ àwọn onídàáyípadà àyíká, ìdí niyẹn tí ìwé ìtọ́ni fi ṣàpèjúwe rẹ̀ gẹ́gẹ́ bí ó ṣeé ṣe kí ó máà ní ààbò.
Kò sí ọ̀kan nínú àwọn nọ́mbà wọ̀nyí tí í ṣe ètò agbára. Profáìlè ní ìpele 3 kò ní ìkọ̀wé àṣírí tó dára ju ti ìpele 1 lọ; ó ní ojú-ipin ṣíṣe tí ó tóbi jù, ipa-ọ̀nà náà sì jẹ́ bákan náà.
Pinnu ohun tí profáìlè náà yẹ
Bèèrè ohun tí skripti náà wà fún kí o tó béèrè ìpele tí ó nílò. Ìkọ̀wé tí ń ti àwọn ètò DNS síwájú tàbí tí ń tún ipa-ọ̀nà ṣe lẹ́yìn ìsopọ̀ jẹ́ ìdí tí ó tọ́ láti ṣe ohun kan. Ìkọ̀wé tí ń pe bínárì àìmọ̀ nínú àpò àkókò jẹ́ ìdí láti dúró.
Ọ̀nà skripti náà ṣe pàtàkì bí skripti náà fúnra rẹ̀. Ọ̀nà ìbáramu ni a ń yanjú lórí àpò tí ẹ̀rọ náà ń lò, àpò tí a lè kọ sínú sì ń sọ ìgbéwọlé ẹ̀ẹ̀kan di ibi ṣíṣe títí láí. Àwọn ọ̀nà pípé nínú àpò tí olùmúlò kò lè yí padà ni ìrísí tí ó yẹ kí a yàn.
Àwọn skripti tún ń jogún àyíká ẹ̀rọ náà, níbi tí àwọn ẹ̀rí àti àwọn dátà ìsopọ̀ wà. Ìjogún yẹn gan-an ni ó ń sọ ìpele 3 di eléwu nígbà tí a bá darapọ̀ mọ́ skripti tí ń ṣàkọsílẹ̀ àyíká rẹ̀, ìdí sì niyẹn tí ìdàgbàsókè àyẹ̀wò láti ẹ̀rọ tí ó ní àwọn skripti fi yẹ kí a tún wò ó kí a tó lẹ̀ ẹ́ mọ́ tíkẹ́ẹ̀tì. Yọ àyíká kúrò kí o tó pín ẹ̀.
grep -nE 'script-security|^up |^down |tls-verify' client.ovpnYí ohun kan padà, lẹ́yìn náà kí o sì wo ìtútù náà pẹ̀lú
Tí profáìlè náà bá nílò skripti gan-an, yí ìpele nìkan padà àti fún profáìlè yẹn nìkan. Ṣe ẹ̀rọ náà ní iwájú pẹ̀lú àbájáde kúlẹ̀kúlẹ̀ kí àwọn àṣìṣe skripti fúnra rẹ̀ lè hàn, kí olùṣàkóso iṣẹ́ máà gbé wọn mì.
openvpn --config client.ovpn --script-security 2 --verb 3
ip route show default
Dán gbogbo ìyípo ìgbésí ayé wò, kì í ṣe ìsopọ̀ nìkan. Ìkọ̀wé ìdáwọ́lé tí ó kùnà ń fi àwọn ọ̀nà tí ń tọ́ka sí ojú-ọ̀nà tí ó kú sílẹ̀, èyí tí ń mú ẹ̀rọ tí ó dàbí ẹni tí ó sopọ̀ ṣùgbọ́n kò dé ibìkankan. Kí o tó polongo pé ìyípadà náà ti parí, tún sopọ̀ lẹ́ẹ̀kan àti já lẹ́ẹ̀kan, kí o sì yẹ̀wò tábìlì ìtọ́nisọ́nà lẹ́yìn ọ̀kọ̀ọ̀kan.
Pa ẹ̀dà kan mọ́ ti profáìlè ìpilẹ̀. Tí ẹ̀rọ ojú-iṣẹ́ kan kò bá ṣe àwòrán skripti kan náà, pípa àwọn ìtọ́ni rẹ́ títí ìgbéwọlé yóò fi ṣàṣeyọrí lè yọ ìsopọ̀ DNS tàbí ipa-ọ̀nà tí ojú-ọ̀nà nílò kúrò, ìsopọ̀ tí ó jáde yóò sì jẹ́rìí dáadáa láì yanjú ohunkóhun.
Ìpinnu tí ó yẹ kí a kọ sílẹ̀ kò gbòòrò: skripti wo, ní ọ̀nà wo, ní ìpele wo ni a fún ní àṣẹ, fún profáìlè wo. Ohun gbogbo tí ó kù nínú profáìlè náà kò yí padà, èyí sì jẹ́ gbólóhùn tí olùṣàyẹ̀wò lè yẹ̀wò.