NF getsockopt(SO_ORIGINAL_DST) viittaa alkuperäisen kohteen hakuun. Sieppausympäristössä Squidin on selvitettävä, minne uudelleenohjattu yhteys alun perin oli menossa.

Nimenomaisesti määritetty selain lähettää pyyntönsä välityspalvelimelle tahallaan. Yhteys ei saa NAT-sieppaushistoriaa vain siksi, että Squid-kuuntelijan portin vieressä lukee intercept.

Siksi tämä epäjohdonmukaisuus voi epäonnistua ennen kuin kohteen varmenne on merkityksellinen.

Aloita siitä, miten yhteys saapui

  • Jos sovelluksella on määritetty välityspalvelimen osoite, selvitä tavallinen edelleenvälityksen kuuntelija, jota sen pitäisi käyttää.
  • Jos yhdyskäytävä ohjaa muuten suoraa liikennettä, varmista, että se saavuttaa aiotun sieppauskuuntelijan ja että tuettu NAT-ratkaisu säilyttää tarvittavat kohdetiedot.
  • Jos molemmat tilat ovat olemassa, tarkista, mihin osoitteeseen ja porttiin epäonnistuva asiakas todella otti yhteyttä.

Squidin http_port-dokumentaatio tekee eron selväksi: tilalippu jätetään pois, jolloin valitaan edelleenvälitystila; intercept odottaa NAT-sieppausta IP-kerroksessa.

Käsittele sitten kuljetusturvallisuus erikseen. HTTP-välityspalvelin voi välittää HTTPS:n CONNECTin avulla. TLS-yhteys välityspalvelimeen vaatii yhteensopivan kuuntelijan ja asiakasasetukset. Kohdeliikenteen salauksen purkaminen on taas erillinen valinnainen ominaisuus.

Älä kopioi vanhaa “HTTPS-korjausta”, joka ottaa varmenteiden luonnin käyttöön vain siksi, että kohde-URL alkaa HTTPS:llä. Korjaa ensin asiakkaan ja kuuntelijan välinen yhteisymmärrys. Jos sen jälkeen jää todellinen TLS-virhe, se on hyödyllisempi tutkittava virhe.

Aiheeseen liittyvät artikkelit