TCP-kättelyn suorittaminen porttiin 443, kun tunneli ei koskaan rakennu, todistaa yhden asian, ja se on pieni asia. Jokin kuuntelee ja on valmis ottamaan yhteyden vastaan kyseisessä osoitteessa. Se ei tunnista palvelua, esitettävää varmennetta tai sitä, mitä ensimmäisten tavujen jälkeen tapahtuu.

Kättelyn ja toimivan tunnelin välissä on neljä vaihetta, ja jokainen tuottaa eri virheen.

Avoin portti kuvaa vain yhtä kerrosta

TCP-yhteyden vastaanottaminen tarkoittaa, että prosessi omistaa pistokkeen ja polku sallii kättelyn. Se ei kerro mitään siitä, onko prosessi SSTP-palvelin, onko sillä profiilisi nimeä varten kelvollinen varmenne tai valtuuttaako se tilisi. Samassa osoitteessa oleva verkkopalvelin vastaa kättelyyn moitteettomasti ja vastaa sitten SSTP-pyyntöösi HTTP-virheellä. Kaikki kättelyn yläpuolella jää testaamatta.

Käsittele porttitestiä halvimpana mahdollisena suodattimena, älä tuomiona. Sen arvo on siinä, että se poistaa kokonaisen vikaluokan, ei siinä, että se vahvistaisi kaiken yläpuolellaan.

Näiden kahden sekoittaminen on syy siihen, miksi ihmiset asentavat asiakkaat uudelleen testin jälkeen, joka ei koskaan tutkinut asiakkaan todellista ongelmaa.

Erota neljä vaihetta todisteilla

Vaiheet ovat kuljetuksen saavutettavuus, TLS-validointi, SSTP-vaihto HTTPS:n yli ja PPP-todennus tunnelin sisällä. Polku, joka läpäisee ensimmäisen ja epäonnistuu neljännessä, tarvitsee tunnusten korjauksen; toisessa epäonnistuva tarvitsee varmenteen tai nimen korjauksen. Näillä korjauksilla ei ole mitään yhteistä, ja väärän valitseminen tuhlaa katkoksen.

nc -vz vpn.example.net 443
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief
curl -sS -o /dev/null -w '%{http_code}\n' https://vpn.example.net/

Kolmas komento kannattaa lukea huolellisesti. Tavallisen verkkosivun 200 kertoo, että verkkopalvelu on olemassa; se ei kerro, että SSTP-pyyntö ymmärretään. Saman osoitteen 404 on yhtä vähän informatiivinen VPN:stä. Vain asiakkaan loki kertoo, mihin neljästä vaiheesta se pääsi.

Huomaa, mitä nimeä kukin komento käytti. Varmenne valitaan lähettämäsi nimen perusteella, joten profiilin ja testin välinen ero on ero, jonka sinä itse otit käyttöön. Nimen kirjoittaminen tuloksen viereen estää sekaannuksen myöhemmin.

Lue osittainen onnistuminen oikeaan suuntaan

Välittäjä voi sallia tavallisen selailun ja hylätä myöhemmän vaihdon, minkä vuoksi verkkosivuille toimiva välityspalvelin voi silti epäonnistua tunnelin osalta. Sama kuvio näkyy, kun varmenne on kelvollinen selaimen nimelle mutta ei profiiliin määritetylle nimelle: selain on tyytyväinen eikä asiakas ole, ja molemmat ovat oikeassa siinä, mitä ne tarkistivat.

Pidä palvelimen validointi päällä, kun diagnosoit tätä. Sen poistaminen käytöstä muuttaa varmenne-eron onnistuneeksi kättelyksi ja kätkee ainoan todisteen, joka olisi selittänyt epäonnistumisen.

Jos sama profiili toimii toisesta verkosta, ero riippuu polusta. Se rajaa haun välittäjiin kertomatta kuitenkaan mihin, ja on silti hyödyllinen askel eteenpäin. Kirjaa käyttämäsi verkko, sillä vertailu on arvoton ilman sitä.

Testaa sitten sovellusta, älä vain istuntoa

Kun istunto on olemassa, varmista aiottu reitti, nimien selvitys ja palvelun käyttöoikeus asiakkaalta, joka niitä tarvitsee. Yhdistetyltä tunnelilta voi yhä puuttua edelleenlähetys kauimmalla puolella tai paluureitti, jota ei koskaan ollut, ja ne viat näyttävät odottavalle henkilölle täsmälleen sovellusongelmalta.

Pidä jokainen johtopäätös sidottuna siihen vaiheeseen, joka sen tuotti. Avoimen portin kutsuminen toimivaksi VPN:ksi on se tapa, jolla viiden minuutin varmennetarkistus muuttuu päiväksi ohjelmiston uudelleenasennusta.

Aiheeseen liittyvät artikkelit