Prilepite enovrstični namestitveni ukaz iz vadnice, pritisnete Enter in dobite curl: (77). Sporočilo omenja mesta preverjanja potrdila, zato je instinkt domnevati, da je potrdilo ponudnika VPN pokvarjeno, in poseči po zastavici, ki preverjanje preskoči. Ta razlaga je napačna, in ravnanje po njej lokalno težavo z datoteko spremeni v varnostno odločitev. Vrnimo se na začetek.

Korak 1: preberite, kaj številka pomeni

Napaka 77 se nanaša na lokalni vnos CA: curl ni mogel prebrati ali naložiti gradiva potrdila, ki naj bi mu zaupal. Napaka 60 je tista o drugi strani, ko veriga strežnika ne preveri. V vadnicah stojita druga ob drugi in pomenita nasprotno.

Če vaš izpis pravi 77, strežnik nikoli ni bil težava. Odjemalec ni mogel odpreti datoteke, ki jo je hotel uporabiti za preverjanje, in to je težava s potjo, dovoljenji ali pakiranjem na vašem računalniku.

Korak 2: preberite ukaz, ki ste ga kopirali

Kopirani ukazi skrivajo znake. Mala -l je --list-only, ki se nanaša na seznam protokolov. Velika -L je --location, ki sledi preusmeritvi HTTP. To nista alternativni pisavi, in vadnica, ki piše eno, medtem ko opisuje drugo, pošilja ljudi po poti preusmeritve, ki ni bila nikoli mišljena.

Sledenje preusmeritvi ne popravi poti shrambe zaupanja in ne dokaže, da je končni gostitelj tisti založnik, ki ste ga mislili. Če ukaz prihaja iz objave na forumu, ga prepišite iz lastnih navodil projekta, namesto da bi zaupali prilepljenemu besedilu.

Korak 3: ugotovite, kateri vnos CA uporablja ta gradnja

Začnite z identifikacijo binarne datoteke, ker je odgovor odvisen od tega, kako je bila prevedena:

curl --version

Zapišite različico in zaledje TLS. Gradnja z izvorno shrambo zaupanja bere sistemsko shrambo prek knjižnice TLS, medtem ko gradnja, usmerjena na paket, bere datoteko. Izrecni --cacert, nastavitev CURL_CA_BUNDLE ali ovoj shell lahko preglasijo oboje, zato se namestitev iz paketa morda ne dotakne datoteke, ki dejansko odpove.

Za shrambo, ki temelji na datoteki, preverite tri stvari po vrsti: ali pot obstaja, ali jo lahko prebere račun, ki kliče ukaz, in ali vsebuje pričakovano gradivo CA. Paket z napačnimi dovoljenji odpove enako kot manjkajoč, in oba odpovesta pred kakršnim koli omrežnim pogovorom o strežniku.

Korak 4: popravite vnos, ne preverjanja

Obnovite podprto konfiguracijo zaupanja prek tistega, ki jo ima v lasti: distribucijskega paketa, vašega upravljanja konfiguracije ali dokumentirane okoljske spremenljivke. Cilj je berljiv in pravilen vnos CA za to binarno datoteko.

Ne preklopite URL na HTTP, ne dodajte --insecure in ne zaupajte potrdilu, kopiranemu iz nerazložene prenosa. Vsaka od teh sprememb spremeni, kaj ste pripravljeni sprejeti, namesto da bi popravila, česar curl ni mogel prebrati, in sprememba običajno preživi incident.

Referenca za številke je katalog napak curl, in je dovolj kratek, da ga enkrat skrbno preberete.

Korak 5: prenesite, poglejte in nato izvedite

Prenesite namestitveni program v datoteko, namesto da bi ga v istem ukazu speljali v shell. Ta ena sprememba loči prenos, ki ga lahko pregledate, od kode, ki teče z vašimi pravicami.

curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.sh

Preverite, da je odgovor pričakovani skript in ne HTML stran z napako, obvestilo o preusmeritvi ali prazna datoteka. Če založnik zagotavlja kontrolno vsoto ali podpis, ju preverite prek njegovega dokumentiranega postopka izdaje in ne prek vrednosti, citirane v isti niti foruma.

Zapomnite si, kaj je HTTPS naredil in česa ne. Overil je prenos do gostitelja, s katerim ste se povezali; ni pregledal vsebine skripta in ne pove, ali je založnik zaupanja vreden.

Korak 6: ohranite namestitvene korake ločene

Prenos datoteke, namestitev odjemalca, konfiguracija predora in preverjanje poti so štiri operacije s štirimi različnimi načini odpovedi. Če jih opravljate eno za drugo, ima napaka pozneje v zaporedju en očiten vzrok namesto štirih kandidatov.

Če namestitev uspe in predor se dvigne, preverite poti in en resnični cilj, preden zaprete zahtevek. Napaka curl je odpravljena, ko preprost curl -I https://example.invalid spet deluje, ne ko se namestitveni program neha pritoževati.

Sorodni članki