Com un enviament local per SSH transporta una sessió TCP OpenVPN
Un port local, dues relacions autenticades, tres transports. Què mou l'enviament SSH i on encara s'apliquen el bucle i les comprovacions del certificat.
Aquí s'apilen tres transports, i cadascun té el seu propi emmarcat. La càrrega útil de la VPN viatja dins d'una sessió TLS, aquesta sessió TLS viatja dins d'una connexió TCP cap a un port de bucle local, i els bytes d'aquesta connexió viatgen dins d'SSH cap a un amfitrió de relé, que obre la connexió TCP real cap al receptor de la VPN. Res de la disposició no canvia allò que OpenVPN autentica, i res no fa que un receptor UDP sigui abastable per TCP. Llegeixi la resta com una descripció del camí dels bytes, no com una recepta per eludir un control de xarxa.
Què mou realment l'enviament local
El client SSH escolta en un port local. Quan un procés local es connecta, el client empaqueta els bytes al seu canal xifrat, i el costat del servidor obre una connexió TCP nova cap a la destinació indicada a la petició d'enviament.
Aquesta destinació la resol el relé, no la seva màquina, i per això un nom que només existeix dins de la xarxa remota encara funciona. També vol dir que el relé ha de poder arribar al receptor de la VPN i tenir una ruta de tornada cap a ell. Un nom que es resol al seu portàtil no diu res sobre què pot veure el relé.
Iniciar la sessió SSH només demostra que el relé és abastable i està autenticat. No diu res sobre si el receptor següent està actiu, si un tallafoc entre el relé i el receptor accepta la connexió, o si la VPN acceptarà el seu perfil.
Apunti el client al receptor local
Un exemple declarat: el relé pot arribar a un receptor TCP a gw.internal.example:443, i un port local alt exposa aquest camí només a aquesta màquina.
ssh -N -L 127.0.0.1:24011:gw.internal.example:443 [email protected]El manual d'OpenSSH descriu l'enviament local com l'acceptació de connexions TCP localment i l'obertura de la connexió següent des del costat remot. Lligui el receptor al bucle local en lloc de a totes les interfícies, perquè un enviament abastable des de la xarxa és un relé obert amb el seu nom. Una vinculació comodí també exposa el port a qualsevol altre compte local en una màquina compartida.
Després posi el client de la VPN en mode TCP i apunti-lo a 127.0.0.1:24011. Si el perfil fa servir UDP, aquest disseny no pot ajudar: l'enviament transporta un flux de bytes i no hi ha cap camí de datagrames a través seu.
Mantingui les dues autenticacions separades
SSH autentica l'amfitrió de relé. OpenVPN encara autentica el parell de la VPN, i la destinació de bucle local no canvia aquest requisit. Desactivar les comprovacions del certificat perquè el sòcol ja apunta a localhost és el pitjor atall disponible en aquest disseny. Converteix una disposició de transport en una disposició de confiança, i ningú no va aprovar la segona.
Mantingui intactes l'àncora de confiança del perfil, la comprovació del rol de servidor i la verificació del nom. Si el seu client compara el nom del servidor amb l'adreça a què va trucar, el bucle local pot necessitar un paràmetre de nom explícit en lloc d'una comprovació desactivada, i la documentació del perfil és el lloc on confirmar quin camp es compara.
Tracti el relé com una segona part en la història de confiança: el seu administrador pot veure metadades de connexió i pot redirigir l'enviament si es canvia la configuració. La disposició necessita l'aprovació tant del relé com del propietari del servei VPN, no només de qui el necessita avui.
No construeixi un bucle sota el túnel
Un cop la VPN instal·la rutes, la connexió SSH que la transporta encara necessita un camí cap al relé que no passi pel túnel. Si la ruta per defecte passa a la VPN i el relé només és abastable per aquest mateix túnel, el transport s'enfonsa i la VPN se'n va amb ell. La fallada sembla un túnel caigut més que un error d'encaminament, i per això es diagnostica malament.
La solució habitual és una ruta d'amfitrió cap a l'adreça del relé fixada a la interfície física abans que pugi el túnel, més una comprovació que la ruta sobreviu a una reconnexió. Verifiqui-ho amb una consulta de ruta per a l'adreça del relé en lloc de suposar que l'ordre era correcte.
També esperi que aquesta pila sigui més lenta i més fràgil que una connexió directa, perquè ara hi ha dos transports ordenats i un altre punt final a mantenir. És una manera de creuar una frontera de xarxa, no una tècnica de rendiment.
Tanqui el receptor quan acabi
Aturi la sessió SSH quan el túnel ja no calgui i confirmi que el port local s'ha alliberat. Un enviament oblidat manté un camí autenticat obert en una màquina que pot ser compartida.
Revisi també les destinacions d'enviament permeses del relé, perquè una configuració permissiva converteix qualsevol compte compromès en un punt de suport general. Anoti el port, el relé i la destinació junts, perquè la propera persona pugui saber per a què servia l'enviament i si encara està aprovat.