Hitilafu ya curl 77: maeneo ya uthibitishaji wa cheti wakati wa usanidi wa VPN
Hitilafu 77 ni kushindwa kwa pembejeo la CA la ndani, si cheti kibaya cha seva. Tafuta faili ya uaminifu ambayo curl husoma, irekebishe na ukague script kabla ya kuiendesha.
Unabandika amri ya mstari mmoja ya kisakinishi kutoka mafunzo, unabonyeza Enter na unapata curl: (77). Ujumbe unataja maeneo ya uthibitishaji wa cheti, kwa hivyo silika ni kudhani kuwa cheti cha mtoa huduma wa VPN kimeharibika na kutafuta bendera inayoruka uthibitishaji. Usomaji huo si sahihi, na kutenda kwa mujibu wake hubadilisha tatizo la faili la ndani kuwa uamuzi wa usalama. Turudi nyuma tangu mwanzo.
Hatua 1: soma namba hiyo inamaanisha nini
Hitilafu 77 inahusu pembejeo la CA la ndani: curl haikuweza kusoma au kupakia nyenzo za cheti ambazo iliambiwa iziamini. Hitilafu 60 ni ile ya upande wa pili, wakati mnyororo wa seva hauthibitishwi. Zinaonekana kando kando katika mafunzo na zinamaanisha mambo kinyume.
Ikiwa matokeo yako yanasema 77, seva haikuwa tatizo kamwe. Mteja hakuweza kufungua faili aliyotaka kutumia kwa ukaguzi, na hilo ni tatizo la njia, ruhusa au ufungashaji kwenye mashine yako.
Hatua 2: soma amri uliyoiga
Amri zilizoigwa huficha herufi. Herufi ndogo -l ni --list-only, ambayo inahusu kuorodhesha itifaki. Herufi kubwa -L ni --location, ambayo inafuata uelekezaji upya wa HTTP. Hizi si tahajia mbadala, na mafunzo yanayoandika moja huku yakieleza lingine hupeleka watu kwenye njia ya uelekezaji upya ambayo haikukusudiwa kamwe.
Kufuata uelekezaji upya hakurekebishi njia ya hifadhi ya uaminifu na hakuthibitishi kuwa mwenyeji wa mwisho ni mchapishaji uliyokusudia. Ikiwa amri ilitoka kwenye chapisho la jukwaa, iandike upya kutoka kwa maelekezo ya mradi wenyewe badala ya kuamini kilichobandikwa.
Hatua 3: gundua ni pembejeo gani la CA ambalo ujenzi huo hutumia
Anza kwa kutambua faili ya binary, kwa sababu jibu linategemea jinsi ilivyokusanywa:
curl --versionAndika toleo na TLS backend. Ujenzi unaotumia hifadhi ya uaminifu ya asili husoma hifadhi ya mfumo kupitia maktaba ya TLS, wakati ujenzi unaoelekea kwenye kifurushi husoma faili. --cacert wazi, mpangilio wa CURL_CA_BUNDLE au kifuniko cha shell vinaweza kuzidi yoyote kati yao, kwa hivyo usanidi wa kifurushi unaweza usigusa faili ambayo kweli inashindwa.
Kwa hifadhi inayotegemea faili, angalia mambo matatu kwa mpangilio: njia ipo, akaunti inayotaja amri inaweza kuisona, na ina nyenzo za CA unazotarajia. Kifurushi chenye ruhusa zisizo sahihi hushindwa kama kile kisichopo, na vyote viwili hushindwa kabla ya mazungumzo yoyote ya mtandao kuhusu seva.
Hatua 4: rekebisha pembejeo, si uthibitishaji
Rejesha usanidi wa uaminifu unaoungwa mkono kupitia mmiliki wake: kifurushi cha usambazaji, usimamizi wako wa usanidi au kigeugeu cha mazingira kilichoandikwa. Lengo ni pembejeo la CA linalosomeka na sahihi kwa faili hiyo ya binary.
Usibadilishe URL kuwa HTTP, usiongeze --insecure, na usiamini cheti kilichonakiliwa kutoka upakuaji usioelezwa. Kila moja ya mabadiliko hayo hubadilisha kile uko tayari kukubali badala ya kurekebisha kile curl haikuweza kusoma, na mabadiliko mara nyingi huishi muda mrefu kuliko tukio.
Rejea ya namba hizo ni katalogi ya makosa ya curl, na ni fupi vya kutosha kusomwa kwa makini mara moja.
Hatua 5: pakua, angalia, kisha tekeleza
Pata kisakinishi kwenye faili badala ya kuipitisha kwa bomba kwenye shell katika amri hiyo hiyo. Mabadiliko hayo moja hutenganisha uhamishaji unaoweza kuukagua na msimbo unaoendeshwa na haki zako.
curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.shAngalia kuwa jibu ni script uliyotarajia na si ukurasa wa hitilafu wa HTML, taarifa ya uelekezaji upya au faili tupu. Ikiwa mchapishaji hutoa checksum au saini, ithibitishe kupitia mchakato wao wa utoaji ulioandikwa na si thamani iliyonukuliwa katika uzi huo wa jukwaa.
Kumbuka kile HTTPS ilifanya na ambacho haikufanya. Ilithibitisha usafirishaji hadi kwa mwenyeji uliyewasiliana naye; haikukagua maudhui ya script na haikwambii kama mchapishaji anaaminika.
Hatua 6: tenganisha hatua za usanidi
Kupakua faili, kusakinisha mteja, kusanidi handaki na kuthibitisha njia ni shughuli nne zenye mbinu nne tofauti za kushindwa. Kuzifanya moja baada ya nyingine kunamaanisha kuwa hitilafu baadaye katika mfuatano ina sababu moja dhahiri badala ya wagombea wanne.
Ikiwa usanidi umefanikiwa na handaki limepanda, thibitisha njia na lengwa moja halisi kabla ya kufunga tikiti. Hitilafu ya curl hurekebishwa wakati curl -I https://example.invalid rahisi inafanya kazi tena, si wakati kisakinishi kinaacha kulalamika.