OpenVPN béèrè ọ̀rọ̀ ìpamọ́ kọ́kọ́rọ́ àdáni lórí ẹ̀rọ àdúgbò, nítorí náà fáìlì ìwọlé tí ń ṣiṣẹ́ kò dá a lóhùn láé. Nínú iṣẹ́ kò sí tẹ́mínà láti tẹ̀, ìbẹ̀rẹ̀ yálà ń dórò tàbí ó kùnà pẹ̀lú àkọsílẹ̀ journal tí ó dárúkọ ìwọlé dípò ìdí. Àwọn ìpamọ́ méjì wà nínú ọ̀rọ̀, ọ̀kọ̀ọ̀kan sì nílò orísun tirẹ̀ tí a lè kà kí a tó tún unit ṣe. Ọ̀nà tí ó wà nísàlẹ̀ yà wọ́n sọ́tọ̀, lẹ́yìn náà ó ṣàyẹ̀wò ìdánimọ̀ tí ń ṣí fáìlì kọ̀ọ̀kan gan-an.

Yà àwọn ìbéèrè méjì sọ́tọ̀

Ọ̀rọ̀ ìpamọ́ kọ́kọ́rọ́ ń tú ìpamọ́ kọ́kọ́rọ́ àdáni àdúgbò, àwọn ẹ̀rí àkọsílẹ̀ sì ń jẹ́rìí ìpàdé pẹ̀lú sẹ́bà. Wọ́n ti ibi oríṣiríṣi wá, wọ́n kùnà ní àkókò oríṣiríṣi, wọ́n sì ń fúnni ní àwọn ìfiránṣẹ́ oríṣiríṣi. Pípa wọ́n pọ̀ ń rán àwọn ènìyàn lọ wá àtúnṣe ọ̀rọ̀ ìpamọ́ nígbà tí àkọsílẹ̀ kò kópa rárá. Ka ọ̀rọ̀ ìbéèrè náà kí o tó yí èyíkéyìí àṣàyàn padà, nítorí pé ọ̀rọ̀ náà ni àmì tí ó ṣeé gbára lé kan ṣoṣo nípa ìpamọ́ wo ni ó ṣẹ̀.

Nínú Community OpenVPN 2.x, askpass tọ́ka sí fáìlì tí ó pa ọ̀rọ̀ ìpamọ́ kọ́kọ́rọ́ mọ́ ní ìlà àkọ́kọ́, auth-user-pass sì tọ́ka sí fáìlì tí ó ní orúkọ olùṣàmúlò ní ìlà kan àti ọ̀rọ̀ ìpamọ́ ní ìlà tí ó tẹ̀le. Kò sí ọ̀kan nínú àwọn fáìlì méjì tí ó lè tẹ́ àṣàyàn kejì lọ́rùn. Ohun èlò orí tábìlì tàbí profáìlì NetworkManager lè pa méjèèjì mọ́ nínú ibi ìpamọ́ tirẹ̀, tí ẹ̀rọ ìlà àṣẹ kò kà láé, nítorí náà ṣàkọsílẹ̀ ẹ̀rọ wo ni o ń ṣètò kí o tó kọ ọ̀nà kan.

Tọ́ka àwọn àṣàyàn méjì sí àwọn fáìlì tí a lè kà

Profáìlì tí ó nílò ìwọlé méjèèjì yóò parí pẹ̀lú àwọn ìtọ́kasí fáìlì mẹ́ta: kọ́kọ́rọ́ tí a fi ẹ̀rọ ìpamọ́ ṣe, ọ̀rọ̀ ìpamọ́ tí ó ṣí i, àti bàrà ìwọlé. Fi wọ́n kún láìfọwọ́ kan CA tàbí àwọn àyẹ̀wò ìdánimọ̀, nítorí àwọn wọ̀nyẹn ló pinnu ẹni tí sẹ́bà jẹ́, wọn kò sì jẹ́ apá kan ìṣòro yìí. Bí ìgbékalẹ̀ kò bá lo ẹ̀rí àkọsílẹ̀ rárá, fífi auth-user-pass kún yóò dá ìwọlé tí kò sí ẹni tí ó lè pèsè.

key /etc/openvpn/client/office.key
askpass /etc/openvpn/client/office-key.pass
auth-user-pass /etc/openvpn/client/office-login.auth

Àwọn àṣàyàn tí kò ní àríyànjiyàn ń hùwà yàtọ̀ sí àwọn àṣàyàn tí ó ní ọ̀nà, ìyàtọ̀ náà sì ṣe pàtàkì nínú iṣẹ́. askpass tí kò ní àríyànjiyàn ṣì ń ka kọ́nsólì, fáìlì auth-user-pass tí ó ní orúkọ olùṣàmúlò nìkan ṣì ń fi ìbéèrè ọ̀rọ̀ ìpamọ́ dúró. Nígbà tí ẹ̀rọ náà bá di daemon kò lè béèrè ìwọlé lọ́wọ́ tẹ́mínà mọ́ rárá, nítorí náà iṣẹ́ tí a ṣètò bẹ́ẹ̀ kò gbé ga.

Àwọn ọ̀nà pípé ń yọ ìbéèrè nípa àkójọ iṣẹ́ kúrò ṣùgbọ́n wọn kò fúnni ní àǹfààní. Lẹ́yìn náà ni ẹni tí ó ni, ipò àti pípa rékọjá wá, a sì ń ṣàyẹ̀wò àwọn mẹ́tẹ̀ẹ̀ta lòdì sí àkọsílẹ̀ tí ìlànà ń ṣiṣẹ́ lábẹ́.

Ka ìṣètò unit kí o tó ka profáìlì

Unit ni ó pinnu ìṣètò wo ni ẹ̀dá yóò gbé wọlé, kì í ṣe fáìlì tí o ń ṣàtúnṣe. Ka ìlà àṣẹ rẹ̀ àti gbogbo drop-in, lẹ́yìn náà tẹ̀lé àkójọ iṣẹ́ lọ sí profáìlì tí a ń lò gan-an. Ìtọ́kasí ọ̀rọ̀ ìpamọ́ tí a fi kún fáìlì .ovpn mìíràn kò yí nǹkan kan padà fún ẹ̀dá yìí.

Àwọn àṣẹ mẹ́ta tí kì í ṣe àfiyèsí ń dá ìdáhùn fún ọ̀pọ̀ rẹ̀. Èkíní ń tẹ̀ unit àti gbogbo drop-in jáde, èkejì ń tẹ̀ ìdánimọ̀ àti àwọn ìṣètò sandbox tí ó dè ìlànà jáde, ẹ̀kẹta sì ń tẹ̀ ohun tí ìbẹ̀rẹ̀ ìkẹyìn fi ẹ̀sùn kan gan-an jáde. Lo orúkọ ẹ̀dá tí ó wà lórí olùgbàlejò:

systemctl cat [email protected]
systemctl show [email protected] -p User -p Group -p WorkingDirectory -p ProtectHome
journalctl -u [email protected] -b

Fi àfiyèsí sí ProtectHome àti àwọn àṣàyàn profáìlì fúnra rẹ̀ user, group àti chroot. Fáìlì tí ó wà lábẹ́ àkójọ ilé lè kà nínú shell rẹ ṣùgbọ́n kò lè hàn nínú iṣẹ́ nígbà tí a bá fi àwọn àkójọ ilé pamọ́. Àkọsílẹ̀ tí systemd ń bẹ̀rẹ̀ pẹ̀lú kì í ṣe àkọsílẹ̀ tí yóò ṣí kọ́kọ́rọ́ ní ìparí nígbà gbogbo.

Jẹ́rìí pé ìdánimọ̀ àkókò ìṣiṣẹ́ lè ṣí àwọn fáìlì méjèèjì

Kíkà ipò kò tó, nítorí gbogbo àkójọ tí ó wà lórí ọ̀nà gbọ́dọ̀ jẹ́ èyí tí ìdánimọ̀ kan náà lè rékọjá. Rìn ọ̀nà náà ní ẹ̀yà-ẹ̀yà, lẹ́yìn náà dán ṣíṣí náà wò gẹ́gẹ́ bí àkọsílẹ̀ tí ìlànà ń lò. Fáìlì tí ó ní ipò 600 tí root ni yóò ṣiṣẹ́ nígbà tí ìlànà ṣì jẹ́ root nìkan, èyí tí kò tọ́ lẹ́yìn ìdínkù àǹfààní tí ọ̀pọ̀ profáìlì ń ṣe. Àwọn àṣẹ méjì bo pípa rékọjá àti ṣíṣí:

namei -l /etc/openvpn/client/office-key.pass
sudo -u openvpn test -r /etc/openvpn/client/office-key.pass && echo readable

Àṣẹ àkọ́kọ́ ń tẹ̀ ipò ẹ̀yà kọ̀ọ̀kan jáde ó sì kùnà níbi tí àkọsílẹ̀ kò ti lè rékọjá; èkejì ń dá ìdáhùn fún ìbéèrè pàtàkì kan ṣoṣo, bóyá ìdánimọ̀ àkókò ìṣiṣẹ́ lè ṣí fáìlì náà láti kà. Kò sí ọ̀kan tí ń tẹ̀ àkóónú fáìlì jáde, ìyẹn sì ni kókó nígbà tí fáìlì bá pa ọ̀rọ̀ ìpamọ́ mọ́. Tún àyẹ̀wò náà ṣe fún fáìlì ìwọlé, nítorí pé ọ̀pọ̀ ìgbà ni a ń fi ẹni tí ó ni yàtọ̀ pa wọ́n mọ́.

Bí ìlànà bá ń lo chroot tàbí namespace tí a dín kù, ṣe àyẹ̀wò kan náà láti inú ìwòye yẹn, bí bẹ́ẹ̀ kọ ìdáhùn yóò ṣàpèjúwe ètò fáìlì tí kò tọ́. Ọ̀rọ̀ ìpamọ́ tí a pa mọ́ lábẹ́ àkójọ ilé tí a fi pamọ́ ni àpẹẹrẹ ìgbà gbogbo ti àyẹ̀wò tí ó gbé jáde ní ìta unit tí ó sì kùnà ní inú rẹ̀.

Ṣàyẹ̀wò ìbẹ̀rẹ̀ àkọ́kọ́, lẹ́yìn náà ìsopọ̀ mìíràn

Bẹ̀rẹ̀ ẹ̀dá náà lẹ́ẹ̀kan kí o ka ìkùnà àkọ́kọ́ dípò èyí ìkẹyìn. Fáìlì ìwọlé tí ó ṣẹ̀, ìtúkọ́rọ́ tí ó kùnà àti AUTH_FAILED láti sẹ́bà jẹ́ ìṣẹ̀lẹ̀ mẹ́ta oríṣiríṣi pẹ̀lú àtúnṣe mẹ́ta oríṣiríṣi. Mímú ìkìlọ̀ àǹfààní ṣe kò jẹ́rìí nǹkan kan nípa bóyá a ti ṣí kọ́kọ́rọ́ náà.

Ìlà journal ń sọ èyí tí o ní nínú àwọn mẹ́ta. Àtúnṣe náà wá láti inú ìwọlé wo tí ó kùnà:

What the journal showsWhich input failedWhere to look
A path that cannot be openedThe file the profile namesAskpass or login path, and the unit's working directory
A key decryption errorThe key passphraseFirst line of the askpass file, and read access for the runtime identity
AUTH_FAILED from the serverThe account credentialsLogin file contents, and whether the account is still valid

Lẹ́yìn náà dán ìyípadà ìgbésí ayé tí o nílò gan-an wò: ìbẹ̀rẹ̀ ní àkókò boot àti ìsopọ̀ mìíràn èyíkéyìí tí a ṣètìlẹ́yìn fún, kì í ṣe ìbẹ̀rẹ̀ àfọwọ́ nìkan láti shell rẹ. Pẹ̀lú auth-nocache a ń sọnù àwọn ìwọlé lẹ́yìn ìlò àkọ́kọ́, nítorí náà ìsopọ̀ mìíràn tí ó tẹ̀le ṣì nílò orísun tí a lè kà. Kóró kọ́kọ́rọ́ tí a ṣí nígbà ìwọlé orí tábìlì kò wà fún iṣẹ́ tí ó bẹ̀rẹ̀ kí ẹnikẹ́ni tó wọlé, ìyẹn sì ni ìdí ìgbà gbogbo tí àyẹ̀wò àfọwọ́ fi ń gbé jáde tí àtúnsẹ̀rọ sì ń kùnà. Bí ìbẹ̀rẹ̀ àkọ́kọ́ bá ṣàṣeyọrí tí ìsopọ̀ mìíràn tí ó tẹ̀le sì kùnà, ka journal fún ìṣẹ̀lẹ̀ ìsopọ̀ náà kí o tó yí àwọn àǹfààní padà.

Pípa ọ̀rọ̀ ìpamọ́ mọ́ lẹ́gbẹ̀ẹ́ kọ́kọ́rọ́ ń dín ohun tí ìpamọ́ ẹ̀rọ ń fún ọ kù, nítorí náà dín fáìlì yẹn àti àwọn ẹ̀dà ìpamọ́ rẹ̀ kù. Wo yíyọ ọ̀rọ̀ ìpamọ́ kọ́kọ́rọ́ kúrò gẹ́gẹ́ bí ìpinnu ẹ̀rí àkọsílẹ̀ ọ̀tọ̀, kì í ṣe àtúnṣe fún ìwọlé tí ó ṣẹ̀. Ìgbékalẹ̀ tí ó gbára lé ìfọwọ́sí ènìyàn tàbí MFA oníbára ń nílò aṣojú rẹ̀ tàbí ìsopọ̀ ìṣàkóso tí a ṣètìlẹ́yìn fún; kóòdù ìgbà kan tí a pa mọ́ títí láé kì í ṣe àropo tí ó dọ́gba.

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