OpenVPN realment fa servir TLS, i la gent estén això rutinàriament a una afirmació que no pot sostenir: que un túnel, per tant, sembla un navegador que visita un lloc. La primera part és certa. La segona no. Aquí TLS pertany a un canal de control que viatja dins del propi contenidor d’OpenVPN, al costat d’un canal de càrrega amb una criptografia completament diferent, així que qui inspecciona els bytes inicials veu OpenVPN.

Dues converses en un sol sobre

Penseu en una sessió com dues converses que comparteixen un sobre. Una valida certificats i deriva material de clau. L’altra xifra el que realment envieu, fent servir el que ha produït la primera.

El sobre és el protocol. Cada paquet comença amb una capçalera petita que nomena el seu tipus, i aquesta capçalera arriba abans que qualsevol altra cosa.

Què arriba realment primer

Per aquest ordre, la primera cosa al fil no és un registre TLS. És la capçalera d’OpenVPN, seguida del contingut del canal que la capçalera anuncia. Un ClientHello hi existeix, només que no al byte zero. No cal cap desxifrat per notar la diferència, perquè la forma sola la delata.

Els valors per defecte també hi compten. El flux és UDP cap al 1194 tret que el perfil triï TCP. En tots dos casos l’aparença exterior és un túnel i no una petició web.

Tres maneres honestes de canviar la forma

Un terminador TLS com stunnel accepta TLS en un port a cada extrem i lliura el flux desxifrat a OpenVPN localment, així que la xarxa veu TLS cap a aquell port. Un protocol que és TLS des del primer byte es comporta d’una altra manera: l’intercanvi compatible amb AnyConnect que implementa ocserv s’assembla a l’accés remot corporatiu que moltes xarxes ja esperen. SSTP, que ve amb Windows, té la mateixa propietat en un producte diferent.

A Linux, l’opció -w d’SSH porta un enllaç punt a punt dins d’una sessió SSH, cosa útil quan SSH és l’únic protocol permès. És la més barata de les quatre si SSH ja funciona des d’aquella xarxa, i la menys útil si no.

Què no canvia cap d’elles

Cap d’aquestes canvia què pot abastar el túnel. No fan que una adreça bloquejada sigui abastable, no autentiquen ningú i no decideixen rutes.

Un embolcall també us costa un component. Dos oients i dos fitxers de configuració volen dir dos llocs on fallar, i tots dos es veuen iguals des del seient de l’usuari. Pressuposteu-ho abans d’adoptar-ne un. La sessió continua sent un únic flux xifrat de llarga durada cap a una destinació, i el seu volum i temps continuen visibles.

Primer diagnostiqueu, després trieu

Així que primer diagnostiqueu. L’UDP descartat es respon amb mode TCP, i una signatura reconeguda es respon amb un altre protocol o un embolcall. Triar una eina abans de conèixer el bloc és com la gent acaba mantenint tres capes que fallen totes per la mateixa raó.

Una xarxa que només permet ports web redueix l’elecció a un protocol basat en TLS al 443. Aplicar les tres alhora us dona una pila que ningú no pot depurar, així que canvieu una cosa i torneu a provar el mateix flux.

Si no n’aplica cap, la resposta exacta és que aquesta xarxa no portarà cap túnel per a vosaltres. Això és una troballa i no un fracàs d’esforç. Passar per més opcions no reverteix una decisió política presa més amunt.

Un límit se situa davant de tot això. El permís per executar un túnel a la xarxa d’una altra persona és una qüestió política, decidida per separat de si el mecanisme funciona. Aquests fets expliquen què veu un observador i no atorguen permís.

Articles relacionats