curl 77-es hiba: tanúsítvány-ellenőrzési helyek VPN-telepítésnél
A 77-es hiba helyi CA-bemeneti hiba, nem rossz szervertanúsítvány. Keresse meg a curl által olvasott bizalmi fájlt, javítsa ki, és nézze át a szkriptet futtatás előtt.
Beilleszti egy útmutatóból a telepítő egysoros parancsát, megnyomja az Entert, és ezt kapja: curl: (77). Az üzenet tanúsítvány-ellenőrzési helyeket említ, ezért az a reflex, hogy a VPN-szolgáltató tanúsítványát hibásnak feltételezze, és olyan kapcsoló után nyúljon, amely kihagyja az ellenőrzést. Ez az olvasat téves, és a szerinti cselekvés helyi fájlproblémát tesz biztonsági döntéssé. Menjünk vissza az elejére.
1. lépés: olvassa el, mit jelent a szám
A 77-es hiba a helyi CA-bemenetről szól: a curl nem tudta beolvasni vagy betölteni azt a tanúsítványanyagot, amelyet meg kellett volna bíznia. A 60-as hiba a másik félről szól, amikor a szerver lánca nem érvényesül. Az útmutatókban egymás mellett szerepelnek, és ellentétes dolgot jelentenek.
Ha a kimenete 77-et ír, a szerver soha nem volt a probléma. Az ügyfél nem tudta megnyitni az ellenőrzéshez használni kívánt fájlt, és ez útvonal-, jogosultság- vagy csomagolási probléma a gépén.
2. lépés: olvassa el a kimásolt parancsot
A kimásolt parancsok karaktereket rejtenek. A kis -l a --list-only, amely a protokollok listázására vonatkozik. A nagy -L a --location, amely HTTP-átirányítást követ. Ezek nem alternatív írásmódok, és az az útmutató, amely az egyiket írja, miközben a másikat írja le, olyan átirányítási útra küldi az embereket, amelyet soha nem szántak annak.
Az átirányítás követése nem javítja ki egy bizalmi tároló útvonalát, és nem bizonyítja, hogy a végső hoszt az a kiadó, amelyet Ön szeretett volna. Ha a parancs fórumbejegyzésből származik, gépelje be újra a projekt saját utasításaiból, ahelyett hogy a beillesztett szövegben bízna.
3. lépés: derítse ki, melyik CA-bemenetet használja az a build
Kezdje a bináris azonosításával, mert a válasz attól függ, hogyan fordították:
curl --versionJegyezze fel a verziót és a TLS-hátteret. A natív bizalmi tárolót használó build a TLS-könyvtáron keresztül olvassa a rendszertárolót, míg a csomagra irányított build fájlt olvas. Egy kifejezett --cacert, egy CURL_CA_BUNDLE beállítás vagy egy shell-burkoló felülírhatja bármelyiket, ezért a csomagtelepítés lehet, hogy nem is érinti azt a fájlt, amely valójában meghiúsul.
Fájlalapú tároló esetén három dolgot ellenőrizzen sorrendben: létezik-e az útvonal, olvashatja-e a parancsot futtató fiók, és tartalmazza-e a várt CA-anyagot. A rossz jogosultságú csomag ugyanúgy meghiúsul, mint a hiányzó, és mindkettő a szerverről szóló bármilyen hálózati beszélgetés előtt meghiúsul.
4. lépés: a bemenetet javítsa, ne az ellenőrzést
Állítsa vissza a támogatott bizalmi konfigurációt annak gazdáján keresztül: a disztribúciós csomag, a konfigurációkezelése vagy a dokumentált környezeti változó. A cél egy olvasható és helyes CA-bemenet ahhoz a binárishoz.
Ne váltsa át az URL-t HTTP-re, ne adjon hozzá --insecure-t, és ne bízzon meg egy megmagyarázatlan letöltésből másolt tanúsítványban. E változtatások mindegyike azt módosítja, mit hajlandó elfogadni, ahelyett hogy kijavítaná azt, amit a curl nem tudott beolvasni, és a változtatás általában túléli az incidenst.
A számok referenciája a curl hibakatalógusa, és elég rövid ahhoz, hogy egyszer alaposan elolvassa.
5. lépés: töltse le, nézze meg, majd futtassa
Töltse le a telepítőt fájlba, ahelyett hogy ugyanabban a parancsban egy shellbe csövezné. Ez az egyetlen változtatás elválasztja az ellenőrizhető átvitelt az Ön jogosultságaival futó kódtól.
curl -fL -o vpn-installer.sh https://example.invalid/install.sh
file vpn-installer.sh
head -n 40 vpn-installer.shEllenőrizze, hogy a válasz az elvárt szkript, és nem HTML-hibaoldal, átirányítási értesítés vagy üres fájl. Ha a kiadó ellenőrző összeget vagy aláírást ad, azt a dokumentált kiadási folyamatán keresztül ellenőrizze, nem az ugyanabban a fórumtémában idézett érték alapján.
Emlékezzen, mit tett a HTTPS és mit nem. Hitelesítette az átvitelt ahhoz a hoszthoz, amelyet felvett; nem vizsgálta a szkript tartalmát, és nem mondja meg, hogy a kiadó megbízható-e.
6. lépés: tartsa külön a telepítési lépéseket
A fájl letöltése, az ügyfél telepítése, az alagút beállítása és az útvonalak érvényesítése négy művelet, négy különböző meghiúsulási móddal. Egyenként végezve a sorrend későbbi hibájának egy nyilvánvaló oka van négy jelölt helyett.
Ha a telepítés sikerül és az alagút feljön, ellenőrizze az útvonalakat és egy valódi célállomást, mielőtt lezárja a jegyet. A curl hiba akkor javult meg, amikor egy egyszerű curl -I https://example.invalid újra működik, nem amikor a telepítő abbahagyja a panaszkodást.