Dulkóðun WSS-göngsins endar hjá TLS-enda, ekki í forritinu
wss://-slóð sannar TLS á einni stökki. Hvort farmurinn hefur sína eigin dulkóðun fer eftir því hvað biðlarinn setur inn og hver lýkur því TLS.
Göng sem flutt eru inni í öruggu WebSocket hefur nákvæmlega jafn mikla dulkóðun og biðlarinn setti í það, ekki meira. wss://-fyrirkomulagið segir að TLS verndi eina tengingu á einni stökki. Það segir ekkert um hvort bætin inni í WebSocket-skilaboðunum séu varin sérstaklega, og þessi greinarmunur ræður því hver getur lesið umferðina þína þegar eitthvað í miðjunni lýkur TLS.
Kaks lög sem líta út eins og eitt
Öruggt WebSocket er TLS með WebSocket-handtaki framkvæmt ofan á það, eins og RFC 6455 lýsir í köflunum um tengingu og öryggi. TLS-lagið auðkennir netþjóninn og dulkóðar strauminn, og síðan rammar WebSocket-lagið það sem forritið ákveður að senda.
Þetta eru tvær óháðar ákvarðanir, og skýringarmynd sem teiknar eitt lás yfir alla leiðina felur hina. Spurðu hver lýkur TLS-tengingunni. Spurðu svo hvað biðlarinn setur inni í hvert skilaboð. Allt annað um uppsetninguna fylgir þessum tveimur svörum.
Hönnun A: flutningurinn er eina dulkóðunin
Í einfaldari hönnun tekur biðlarinn hrá IP-pakka og vefur þeim í WebSocket-skilaboð. Ekkert inni er dulkóðað, svo íhluturinn sem heldur TLS-lotunni les farm í ljósum texta. Þegar sá íhlutur er þinn eigin gönguþjónn er þetta fyrirhugaði endapunkturinn og hönnunin er heildstæð, því þjónninn átti hvort eð er eftir að sjá umferðina.
Þetta verður önnur skipan þegar skoðunarproxy situr á leiðinni og lýkur TLS með vottorði sem biðlarinn treystir. Sá proxy heldur nú sama ljósa texta og þjónninn hefði haldið, og enginn skammtur af WebSocket-römmun breytir því. Traustageymsla biðlarans ákvað þessa niðurstöðu löngu áður en göngin opnuðust, því hún valdi að samþykkja það vottorð fyrir það nafn. Proxyið sér líka umbeðna hýsilinn og stærð hvers skilaboðs, sem er nóg til að taka fingrafar af mikilli virkni án þess að afkóða neitt frekar.
Hönnun B: farmurinn ber sína eigin lykla
Í seinni hönnuninni dulkóðar biðlarinn pakkana sína og auðkennir með VPN-samskiptareglum sem hafa sína eigin jafningjaauðkenni og lyklaskipti, og flytur síðan niðurstöðuna inni í WebSocket-skilaboðum. Að ljúka ytra TLS hér afhjúpar dulritaðan texta, ekki umferð. Proxyið getur séð stærðir og tímasetningu skilaboða, og ekkert annað í farminum. Þetta er miklu minni áhætta, og þetta eru samt lýsigögn sem er þess virði að nefna í yfirferð frekar en að vísa þeim frá.
Eigin endapunktar innra samskiptareglanna sjá enn ljósan texta, sem er tilgangur skipanarinnar og líka takmörk hennar. Ef íhlutur á endapunktinum hefur heimild til að lesa gögn fyrir dulkóðun eða eftir afkóðun, þá takmarkar auka lagið hann ekki. Lyklar, og hugbúnaðurinn sem meðhöndlar þá, eru áfram markið sem skiptir máli.
VPN-merki, kunnugt biðlaratákn eða markaðssíða er ekki sönnun þess að þessi hönnun sé til. Að lesa farmssniðið er það.
Rekjaðu hvar ljósi textinn birtist í raun
URL-fyrirkomulagið gefur þér eina staðreynd, svo fáðu restina úr viðmótunum. Keyrðu prófanirnar hér að neðan í röð, því hver þeirra þrengir þá næstu:
ss -tnp | grep -E ':(443|8443)\b' ip -br link show type tun openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief tcpdump -ni tun0 -c 5 -X
Byrjaðu á ytri tengingunni. Ein langlíf TCP-lota á TLS-gáttina er það hvernig WebSocket-beri lítur út, og önnur lota á ótengda hýsil er þess virði að útskýra áður en þú skoðar dýpra. Finndu síðan gönguviðmótið á biðlaranum, því tun- eða tap-tæki segir þér að biðlarinn sé að meðhöndla IP-pakka frekar en að proxy-a eitt forritasstraum.
Upptakan á gönguviðmótinu leysir yfirleitt farmsspurninguna. Læsilegir hausar þar þýða að innri pakkarnir hafi aldrei verið dulkóðaðir sérstaklega, en farmur með mikla óreiðu þýðir að þeir hafi verið. Endurtaktu upptökuna á ytra viðmótinu og berðu saman: ef bæði virðast slembinkennd, þá er innra lagið að vinna verk sem ytra lagið getur ekki afturkallað.
Farðu yfir traustið sem þú veittir í raun
Uppsett fyrirtækjarótarvottorð er staðreynd um traustageymslu biðlarans, ekki fullyrðing um hvað hvaða proxy sem er skráir eða skoðar. Komdu á fót innleiddri stefnu og raunverulegri tengileið í stað þess að álykta hegðun af nærveru CA.
Á stýrðum búnaði, spurðu kerfisstjórann hvaða íhlutur lýkur TLS, hvort biðlarinn staðfesti fest vottorð eða opinbert, og hvert farmssniðið er. Þessi þrjú svör gefa niðurstöðu sem þú getur varið síðar.
Skrifaðu niðurstöðuna sem mörk frekar en úrskurð. "TLS endar hjá skoðunarproxyinu, og innri farmurinn er dulkóðaður sérstaklega með lyklum sem aðeins endapunktarnir hafa" er prófanleg fullyrðing sem lifir af söluaðilaskipti. "WebSockets eru örugg" ekki.