Huduma ya OpenVPN inasimama inapouliza nenosiri la ufunguo wa faragha: jinsi ya kurekebisha
Huduma haina terminal, kwa hiyo ufunguo uliosimbwa unahitaji askpass na faili linalosomeka. Tenganisha nenosiri la ufunguo na kuingia kwenye seva na uangalie unit.
OpenVPN huuliza nenosiri la ufunguo wa faragha kwenye mashine ya ndani, kwa hiyo faili la kuingia linalofanya kazi haliwezi kamwe kulijibu. Katika huduma hakuna terminal ya kuandikia, na kuanza ama kunaning’inia au kushindwa kwa ingizo la jarida linalotaja pembejeo badala ya sababu. Kuna siri mbili zinazohusika, na kila moja inahitaji chanzo chake linalosomeka kabla unit haijaanzishwa upya. Hatua zilizo hapa chini zinazitenganisha, kisha hukagua utambulisho ambao kwa kweli hufungua kila faili.
Tofautisha maombi mawili
Nenosiri la ufunguo hufumbua ufunguo wa faragha wa ndani; vitambulisho vya akaunti huthibitisha kipindi kwa seva. Vinatoka sehemu tofauti, hushindwa kwa nyakati tofauti na hutoa ujumbe tofauti. Kuvichanganya huwapeleka watu kutafuta kuweka upya nenosiri ilhali akaunti haikuhusika hata kidogo. Soma maandishi ya ombi kabla ya kubadilisha chaguo lolote, kwa sababu maneno ndiyo kidokezo pekee cha kuaminika kuhusu siri ipi inayokosekana.
Katika Community OpenVPN 2.x, askpass hutaja faili linaloshikilia nenosiri la ufunguo kwenye mstari wa kwanza, na auth-user-pass hutaja faili lenye jina la mtumiaji kwenye mstari mmoja na nenosiri kwenye ule unaofuata. Hakuna faili linaloweza kutimiza chaguo lingine. Programu ya desktop au wasifu wa NetworkManager vinaweza kuhifadhi yote mawili kwenye ghala lake la siri, ambalo mteja wa mstari wa amri haliwezi kamwe kulisoma, kwa hiyo andika ni mteja gani unayosanidi kabla ya kuandika njia yoyote.
Elekeza chaguo zote mbili kwenye faili zinazosomeka
Wasifu unaohitaji pembejeo zote mbili huishia na marejeo matatu ya faili: ufunguo uliosimbwa, nenosiri linaloufungua, na jozi la kuingia. Waongeze bila kugusa CA au ukaguzi wa utambulisho, kwa sababu hizo huamua seva ni nani na si sehemu ya tatizo hili. Ikiwa usambazaji hautumii vitambulisho vya akaunti kabisa, kuongeza auth-user-pass huunda pembejeo ambayo hakuna mtu anayeweza kuipatia.
key /etc/openvpn/client/office.key
askpass /etc/openvpn/client/office-key.pass
auth-user-pass /etc/openvpn/client/office-login.authChaguo zisizo na hoja hujiendesha tofauti na chaguo zenye njia, na katika huduma tofauti hiyo ni muhimu. askpass bila hoja bado husoma konsoli, na faili la auth-user-pass lenye jina la mtumiaji pekee bado huacha ombi la nenosiri likingojea. Mteja anapokuwa daemon hawezi kabisa kuomba pembejeo kutoka terminal, kwa hiyo huduma iliyosanidiwa hivi haipanda.
Njia kamili huondoa swali la saraka ya kazi lakini hazitoi ufikiaji. Kisha huja umiliki, hali na upitishaji, na zote tatu hukaguliwa dhidi ya akaunti ambayo mchakato unaendeshwa nayo.
Soma usanidi wa unit kabla ya wasifu
Ni unit, si faili ulilokuwa ukihariri, inayoamua usanidi gani kielekezi hupakia. Soma mstari wake wa amri na drop-in yoyote, kisha fuata saraka ya kazi hadi wasifu unaotumika kwa kweli. Rejeo la nenosiri lililoongezwa kwenye faili lingine la .ovpn haliathiri chochote kwa kielekezi hiki.
Amri tatu za kusoma-tu hujibu sehemu kubwa. Ya kwanza huchapisha unit na drop-in yoyote, ya pili utambulisho na mipangilio ya sandbox inayofunga mchakato, na ya tatu kile ambacho uanzishaji wa mwisho ulilalamika kwa kweli. Tumia jina la kielekezi lililopo kwenye mwenyeji:
systemctl cat [email protected]
systemctl show [email protected] -p User -p Group -p WorkingDirectory -p ProtectHome
journalctl -u [email protected] -bZingatia ProtectHome na chaguo za wasifu wenyewe user, group na chroot. Faili lililo chini ya saraka ya nyumbani linaweza kusomeka kwenye shell yako na lisiweze kuonekana ndani ya huduma saraka za nyumbani zikifichwa. Akaunti ambayo systemd huanza nayo si mara zote akaunti inayofungua ufunguo mwishoni.
Thibitisha kwamba utambulisho wa wakati wa utekelezaji unaweza kufungua faili zote mbili
Kusoma hali hakutoshi, kwa sababu kila saraka kwenye njia lazima iweze kupitika na utambulisho huo huo. Pitia njia kipengele kwa kipengele, kisha jaribu ufunguzi kama akaunti ambayo mchakato hutumia. Faili lenye hali 600 linalomilikiwa na root hufanya kazi tu wakati mchakato bado ni root, jambo ambalo si kweli baada ya kupunguzwa kwa mapendeleo ambako wasifu wengi hufanya. Amri mbili hufunika upitishaji na ufunguzi:
namei -l /etc/openvpn/client/office-key.pass
sudo -u openvpn test -r /etc/openvpn/client/office-key.pass && echo readableAmri ya kwanza huchapisha hali ya kila kipengele na hushindwa pale akaunti haiwezi kupita; ya pili hujibu swali moja muhimu, yaani kama utambulisho wa wakati wa utekelezaji unaweza kufungua faili kwa kusoma. Hakuna hata moja inayochapisha yaliyomo ya faili, na hilo ndilo jambo la msingi faili linaposhikilia nenosiri. Rudia jaribio kwa faili la kuingia, kwa sababu mara nyingi huhifadhiwa na umiliki tofauti.
Ikiwa mchakato unatumia chroot au namespace iliyozuiwa, endesha jaribio lile lile kutoka ndani ya mwonekano huo, vinginevyo jibu linaelezea mfumo wa faili usiofaa. Nenosiri lililohifadhiwa chini ya saraka ya nyumbani iliyofichwa ni mfano wa kawaida wa jaribio linalofaulu nje ya unit na kushindwa ndani yake.
Angalia uanzishaji wa kwanza, kisha muunganisho upya
Anzisha kielekezi mara moja na usome kushindwa kwa kwanza badala ya la mwisho. Faili la pembejeo lililokosekana, usimbaji fiche wa ufunguo ulioshindwa na AUTH_FAILED kutoka kwa seva ni matukio matatu tofauti na marekebisho matatu tofauti. Kurekebisha onyo la ruhusa hakuthibitishi chochote kuhusu kama ufunguo ulifunguliwa.
Mstari wa jarida husema ni upi kati ya matatu. Marekebisho hufuata pembejeo ipi ilishindwa:
| What the journal shows | Which input failed | Where to look |
|---|---|---|
| A path that cannot be opened | The file the profile names | Askpass or login path, and the unit's working directory |
| A key decryption error | The key passphrase | First line of the askpass file, and read access for the runtime identity |
AUTH_FAILED from the server | The account credentials | Login file contents, and whether the account is still valid |
Kisha jaribu mzunguko wa maisha unaouhitaji kwa kweli: kuanza wakati wa boot na muunganisho upya wowote unaotumika, si kuanza kwa mkono kutoka shell yako pekee. Kwa auth-nocache pembejeo hutupwa baada ya matumizi ya kwanza, kwa hiyo muunganisho upya wa baadaye bado unahitaji chanzo kinachosomeka. Kifungu cha funguo kinachofunguliwa wakati wa kuingia desktop hakipatikani kwa huduma iliyoanza kabla ya mtu yeyote kuingia, na hiyo ndiyo sababu ya kawaida jaribio la mkono hufaulu na kuanzisha upya hushindwa. Ikiwa uanzishaji wa kwanza unafaulu na muunganisho upya wa baadaye unashindwa, soma jarida kwa tukio la muunganisho upya kabla ya kubadilisha ruhusa tena.
Kuhifadhi nenosiri kando ya ufunguo hupunguza kile usimbaji fiche unachokupa, kwa hiyo zuia faili hilo na nakala zake za akiba. Chukulia kuondoa nenosiri la ufunguo kama uamuzi tofauti wa vitambulisho, si kama marekebisho ya pembejeo linalokosekana. Usambazaji unaotegemea idhini ya binadamu au MFA shirikishi unahitaji wakala wake au muunganisho wa usimamizi unaotumika; msimbo wa mara moja uliohifadhiwa kudumu si mbadala sawa.