Àṣírí àìtọ́ jẹ́ ìṣòro àpótí, kì í ṣe òfin ọ̀rọ̀ ìpamọ́
Àwọn ẹ̀rí ìwọlé tí a kọ̀ lè máà ti dé ẹnubodè rárá. Kọ́kọ́ fi àpótí ìwọlé, ìpele ìjẹ́rìí àti àkọsílẹ̀ fúnra rẹ̀ wé ara wọn.
Rírí ìfiránṣẹ́ àṣírí àìtọ́ máa ń mú èrò kan wá: VPN kò fẹ́ àwọn àmì ìkọ̀wé. Èrò yẹn kò tọ́ ní ọ̀pọ̀ ìgbà, nítorí ìfiránṣẹ́ náà máa ń wá láti ìṣiṣẹ́ inú kí ẹnubodè kankan tó wo àkọsílẹ̀. Àwọn ọ̀nà méjì ń gbé ọ̀rọ̀ ìpamọ́ kan náà: pápá àwòrán àti fáìlì ẹ̀rí ìwọlé, wọ́n sì ń kùnà ní ibi tí ó yàtọ̀. Fi àwọn àpótí wé ara wọn kí o tó dín ọ̀rọ̀ ìpamọ́ tí ó ti tọ́ láti ìbẹ̀rẹ̀ kù.
Àṣìṣe náà wá kí ẹnubodè tó dé
Ìjẹ́rìí inú, ilé ìpamọ́ àṣírí tí a ti kọ́nà, aṣojú tí kò sí àti fáìlì ẹ̀rí ìwọlé tí ó bajẹ́, gbogbo wọn ń mú àwọn ìkùnà tí olùlò máa ń rí gẹ́gẹ́ bí ìkọ̀ kan ṣoṣo. Kò sí ọ̀kan nínú wọn tí ó kan sèbà ìjẹ́rìí. Ìkọ̀ ẹnubodè fúnra rẹ̀ jẹ́ ìṣẹ̀lẹ̀ ọ̀tọ̀, ó sì máa ń dé pẹ̀lú ìfiránṣẹ́ mìíràn àti àkókò mìíràn. Ó ń ṣẹlẹ̀ lẹ́yìn tí ọ̀nà ti wà tí a sì ti gbé ẹ̀rí ìwọlé jáde.
Nítorí náà ìbéèrè àkọ́kọ́ kì í ṣe èwo àwọn àmì tí ó bófin mu, bí kò ṣe ibi tí ìgbìyànjú náà dúró. Olùlò tí kò tíì ṣí ìsopọ̀ kankan ni ẹnikẹ́ni kò kọ̀. Kọ ìpele tí o rí sílẹ̀, nítorí gbogbo ìgbésẹ̀ tí ó tẹ̀lé da lórí ìpín yẹn.
Ìyàtọ̀ náà tún yí ẹni tí ó túmọ̀ padà. Ìṣòro àpótí jẹ́ ti ẹ̀rọ àti ẹni tí ó ni í, nígbà tí ìkọ̀ àkọsílẹ̀ jẹ́ ti ẹni tí ó ń ṣiṣẹ́ ẹ̀yìn ìjẹ́rìí.
Fi àwọn àpótí wé ara wọn, kì í ṣe àwọn àmì
Pápá ọ̀rọ̀ ìpamọ́ GUI, ìkọsílẹ̀ keychain, fáìlì ẹ̀rí ìwọlé oní ìlà méjì àti àṣírí ìṣiṣẹ́ ẹ̀rọ, gbogbo wọn ń gbé iye kan náà nínú àwọn àpòmọ́ tí ó yàtọ̀. Àpòmọ́ ní àwọn òfin tirẹ̀, àwọn òfin yẹn sì ni ó máa ń já. Iye náà kì í sábà jẹ́ ìṣòro; gbígbé iye náà ká ni ó máa ń jẹ́. Ya àwọn èrò méjì yẹn sọ́tọ̀, ìwádìí yóò kúrú.
| Where the value stops | What you see | What you check | Who owns the fix |
|---|---|---|---|
| GUI field or managed profile | A validation message before any connection opens | The selected authentication mode and whether the field holds the secret or the username | The device owner or the profile author |
| Keychain or secret agent | A prompt that keeps reappearing, or an agent error | Whether the agent is unlocked and holds an entry for this profile | The user who owns the keychain |
| Two-line credential file | A prompt for a password that was already supplied | Line count, line order and whether a trailing newline is present | Whoever generated the file |
| Shell argument or environment | Works interactively but fails in automation | Whether the shell expanded, trimmed or logged the value | Whoever wrote the automation |
Àwọn àṣàyàn olùlò Community OpenVPN 2.6 ṣàlàyé fáìlì oní ìlà méjì yẹn fún auth-user-pass, pẹ̀lú ìhùwàsí nígbà tí ìlà ọ̀rọ̀ ìpamọ́ kò sí: olùlò yóò béèrè dípò bẹ́ẹ̀. Ìkúnrẹ́rẹ́ kan náà yẹn ṣàlàyé ẹ̀ka àwọn ìròyìn pé ó ń béèrè ọ̀rọ̀ ìpamọ́ tí mo ti pèsè tẹ́lẹ̀. Ó tún sọ fún ọ pé ìlà kejì tí ó ṣófo jẹ́ ipò tí ó ní ìtumọ̀, kì í ṣe àṣàyàn ìṣètò tí kò léwu.
Àwọn àmì àyọlò tún jẹ́ ipele mìíràn: àwọn àmì àyọlò nínú fáìlì ẹ̀rí ìwọlé lasan ni a ń tọ́jú gẹ́gẹ́ bí dátà, nígbà tí shell ń yọ wọ́n kúrò kí ètò tó rí ohunkóhun. Àmì kan náà kò léwu ní ibi kan, ó sì jẹ́ ti ìṣètò ní ibòmíràn. Tábìlì kò lè sọ fún ọ irú àpótí tí olùlò rẹ lò, nítorí náà ka ìṣètò olùlò fúnra rẹ̀ kí o tó yan ìlà kan.
Àwọn ìdá ìlà tún jẹ́ ti ìṣètò. Fáìlì tí ó ní àwọn pápá tí a pín ní ìlà kò lè gbé iye tí ó ní ìdá ìlà tuntun, ìyẹn sì jẹ́ ààlà ìṣètò náà kì í ṣe ìdájọ́ nípa agbára ọ̀rọ̀ ìpamọ́. Lo ọ̀nà ìfijíṣẹ́ tí ìtẹ̀síṣẹ́ náà ń ṣàtìlẹ́yìn dípò kí o gé àṣírí náà kí ó lè wọ fáìlì àdáni.
Kọ fáìlì ẹ̀rí ìwọlé láì jẹ́ kí shell bà á jẹ́
Ọ̀nà inú tí ó ní ààbò jù ń pa àṣírí mọ́ kúrò nínú ìtàn shell àti nínú àkọsílẹ̀ àwọn àfọwọ́kọ ìlànà. Ka àwọn pápá méjèèjì ní àjọṣepọ̀, kí o sì kọ ìlà méjì tí olùlò ń retí. Ohun gbogbo mìíràn lè wà nínú fáìlì ìṣètò tí ó rọrùn láti yẹ̀wò.
read -r VPN_USER
read -rs VPN_PASS
printf '%s\n%s\n' "$VPN_USER" "$VPN_PASS" > /etc/openvpn/client/creds
chmod 600 /etc/openvpn/client/creds
openvpn --config /etc/openvpn/client/office.conf --auth-user-pass /etc/openvpn/client/creds
Àwọn pàṣẹ méjì àkọ́kọ́ ń ka orúkọ olùlò, kí ó sì ka ọ̀rọ̀ ìpamọ́ láì fi hàn, ẹ̀kẹta ń kọ ìlà méjèèjì, ẹ̀kẹrin ń dín fáìlì kù, ẹ̀kẹrùn ń bẹ̀rẹ̀ olùlò pẹ̀lú fáìlì yẹn. Ṣàkíyèsí pé read -r ń pa àwọn pàlàbà ẹ̀yìn mọ́; irú kúlẹ̀kúlẹ̀ bẹ́ẹ̀ ni ó máa ń sọ ọ̀rọ̀ ìpamọ́ tí ó ń ṣiṣẹ́ di ọ̀rọ̀ ìpamọ́ tí kò ṣiṣẹ́ nígbà tí a bá fi í sílẹ̀.
Yẹra fún kíkọ fáìlì pẹ̀lú oníyípadà tí kò ní àmì àyọlò tàbí pẹ̀lú here-document tí ó kún fún ìgbòkègbodò shell. Àwọn méjèèjì lè yí àwọn àmì padà kí wọ́n tó dé fáìlì, ìkùnà tí ó jáde sì dà bí ìkọ̀ VPN nítorí ọ̀rọ̀ ìpamọ́ tí ó wà lórí díìsìkì yàtọ̀ gan-an sí èyí tí o mọ̀. Tí o bá fura sí èyí, fi gígùn báìtì fáìlì wé iye tí a retí láì tẹ àṣírí náà fúnra rẹ̀ jáde. Ìyàtọ̀ báìtì kan tàbí méjì ni àmì ìjàm̀bá àmì àyọlò.
Ka ìpele náà láti àṣìṣe àkọ́kọ́
Pa ìfiránṣẹ́ pàtó àkọ́kọ́ láti inú ìgbìyànjú kan mọ́, kí o sì pín ìn. Àṣìṣe ìjẹ́rìí inú, kọ́kọ́rọ́ àdáni tí kò sí, aṣojú àṣírí tí kò wà àti ìkùnà ìjẹ́rìí ẹnubodè jẹ́ àbájáde mẹ́rin tí ó yàtọ̀ pẹ̀lú àwọn onílé mẹ́rin tí ó yàtọ̀. Ọ̀kan ṣoṣo nínú wọn ni ó kan àkọsílẹ̀.
Tí ẹnubodè bá ń kọ̀ ẹ̀rí ìwọlé tí a gbé jáde tọ́ gan-an, wo àkọsílẹ̀, ẹ̀yìn ìjẹ́rìí àti ìpèníjà èyíkéyìí tí a nílò pẹ̀lú alábòójútó. Ìkùnà ìjẹ́rìí gbogbogbò kò dárúkọ àmì tí a kọ̀.
Mú iye tí a fọwọ́ sí padà nípasẹ̀ ọ̀nà tí ó tọ́ dípò kí o dín ìn kù sí lẹ́tà àti nọ́mbà. Ìlànà ọ̀rọ̀ ìpamọ́ jẹ́ ti olùṣiṣẹ́, ìyọkúrò tí ó ń pa á lẹ́mọ̀mọ́ kì í ṣe àtúnṣe. Ó tún fi àbùkù gidi pamọ́ fún ẹni tí ó kàn, ẹni tí yóò pàdé àṣìṣe kan náà pẹ̀lú ọ̀rọ̀ ìpamọ́ tí ó rẹ̀wẹ̀sì àti láì ní èrò tí ó sàn.