HTTPS tarpinis serveris reiškia du TLS ryšius, o ne vieną
Tarpinio serverio šuolis ir svetainė yra atskiri TLS santykiai su atskiru pasitikėjimu. Perskaitykite, kuris galas nepavyko, prieš keisdami bet kokį sertifikato nustatymą.
Etiketė HTTPS tarpinis serveris apibūdina tik transportą tarp jūsų kliento ir tarpinio serverio, ir nieko daugiau. Ji nesako, kad už jo esanti svetainė yra užšifruota ta pačia jungtimi, ir nesako, kad tarpinis serveris gali perskaityti puslapį. Atskyrę du ryšius, sertifikatų klaidos nustoja būti paslaptingos, o palyginimas su VPN tampa konkretus.
Dvi galinių taškų poros, du patikrinimai
Įprastu tunelio režimu yra du TLS santykiai. Pirmasis eina nuo jūsų kliento iki tarpinio serverio ir autentifikuoja tarpinį serverį. Antrasis eina nuo jūsų kliento iki svetainės tunelio viduje ir autentifikuoja svetainę. Jie nepavyksta nepriklausomai ir konfigūruojami nepriklausomai.
Jie turi atskirus pasitikėjimo sprendimus, atskiras sertifikatų grandines ir atskirus gedimo pranešimus. Tarpinis serveris su organizacijos CA ir vieša svetainė su vieša grandine gali teisėtai reikalauti skirtingos patikrinimo konfigūracijos, ir tai nėra neteisinga konfigūracija.
Traktuokite juos kaip du ryšius, kurie atsitiktinai dalijasi vienu lizdu, nes būtent taip yra.
Ką CONNECT iš tikrųjų tuneliuoja
Klientas siunčia CONNECT užklausą, nurodydamas hostą ir portą, o tarpinis serveris atidaro TCP ryšį į tą tikslą. Po to, kai tarpinis serveris atsako, tolesni baitai perduodami be interpretacijos, todėl svetainės TLS rankos paspaudimas praeina per tarpinį serverį nepakitęs. Taip tarpinis serveris sužino paskirties pavadinimą ir ryšio metaduomenis, bet iš šios schemos negauna iššifruotų puslapių.
Šis skirtumas yra visas tunelio režimo saugumo argumentas ir kartu jo riba.
HTTP tarpinis serveris be TLS tarpinio serverio šuolyje vis tiek perduoda HTTPS svetainę per CONNECT. Kliento ir tarpinio serverio mainai vyksta atvirai, o svetainės ryšys – ne, ir viso to pavadinimas HTTPS tarpiniu serveriu paslepia šį skirtumą.
Kuris sertifikatas nepavyko
Kai patikrinimas nepavyksta, perskaitykite klaidoje nurodytą galą prieš keisdami bet kokį pasitikėjimo nustatymą. Abi klaidos terminale atrodo panašiai ir nurodo visiškai skirtingus pataisymus, todėl pirmasis klausimas visada yra, kuris ryšys atmetė.
curl atskiria parinktis būtent dėl šios priežasties. Tarpinio serverio CA failas konfigūruoja tarpinio serverio patikrinimą, o CA failas konfigūruoja serverio patikrinimą, ir taikomos pasitikėjimo saugyklos elgsena taip pat priklauso nuo to, kaip curl buvo sukompiliuotas.
curl -v --proxy https://proxy.example.net:443 \
--proxy-cacert org-ca.pem --cacert public-ca.pem https://www.example.com/Patikrinimo slopinimas nėra taisymas. Jis nieko neįrodo apie nė vieną iš dviejų galų.
Patikra yra kita schema
TLS patikra nėra tuneliavimas. Tikrinantis tarpininkas užbaigia pasitikėjimo santykį su svetaine ir pateikia klientui savo sertifikatą, todėl klientas tikrina tarpininką, o ne svetainę. Tai gali būti teisėta pagal patvirtintą dizainą, ir tai iš esmės kitas teiginys nei perdavimas baitas po baito. Nelaikykite, kad kiekvienas tarpinis serveris tikrina, ir nelaikykite, kad užšifruotas tarpinio serverio šuolis to neleidžia.
Organizacijos CA jūsų pasitikėjimo saugykloje yra užuomina, kurioje schemoje esate, o ne įrodymas. Klauskite dizaino, o ne darykite išvadą iš sertifikatų grandinės.
Šios dvi schemos duoda skirtingus atsakymus į klausimą, kas gali perskaityti puslapį.
Palyginkite tarpinį serverį ir VPN tomis pačiomis keturiomis eilutėmis
Palyginimas tampa naudingas tik tada, kai abu diegimai aprašomi vienodai.
| Line | What to state |
|---|---|
| Protected segments | Which hops are encrypted, and between which endpoints |
| Verified identities | What each end proves, and against which trust anchor |
| Trusted intermediaries | Who can read or alter traffic by design |
| Traffic included | Which processes and destinations the policy actually covers |
Vienai užklausai sukonfigūruotas tarpinis serveris apima tą užklausą. Jis nepraleidžia per save kiekvieno įrenginio proceso, ir pavyzdinė komanda yra būtent tokia siaura. VPN aprėptis priklauso nuo jo maršrutizavimo ir programų politikos, kuriuos taip pat reikia patikrinti, o ne daryti prielaidas. Nė viena parinktis neapima visko vien todėl, kad buvo įdiegta.
Užrašykite keturias eilutes kiekvienai parinkčiai, ir ginčas paprastai išsisprendžia pats. Naudingas palyginimas yra ne tai, kuri etiketė skamba labiau užšifruotai. O tai, kurie segmentai apsaugoti, kas tikrinamas jų galuose, kuriais tarpininkais pasitikite ir kokį srautą politika iš tikrųjų apima.