Jy wil een Mac se skerm vanaf jou eie masjien sien, die Mac sit agter ’n gasheer waarmee jy reeds via SSH kan werk, en die vraag is of dit ’n VPN verdien. Gewoonlik nie. ’n Enkele plaaslike deurvoer dra een TCP-poort deur die SSH-sessie wat jy reeds het, en vir een skerm op een gasheer is dit ’n kleiner, meer ouditeerbare reëling as om ’n hele netwerk te routeer.

Drie voorwaardes bepaal dit, en enige een van hulle kan jou eerder na die bestuurde VPN stoot.

Drie voorwaardes bepaal dit

Die eerste is omvang: een diens op een gasheer, of verskeie gashere en verskeie poorte. Die tweede is of elke sprong tussen die bastion en die teiken reeds vertrou word, want SSH beskerm net die segment wat dit termineer. Die derde is wie die reëling moet ondersteun nadat jy dit gebou het, want ’n selfgemaakte tonnel neig om die persoon wat dit verstaan het, te oorleef. Noem daardie persoon voordat jy begin, en skryf die opdrag op ’n plek waar hulle dit kan vind. ’n Ongedokumenteerde deurvoer is ’n toekomstige voorval met ’n uitgestelde begindatum.

As die antwoorde “een”, “ja” en “ek, vir nou” is, is die deurvoer die regte hulpmiddel. As enige antwoord verander, is ’n ondersteunde ontwerp vir afstandtoegang oor ’n jaar goedkoper as die voorvalondersoek wat op ’n ongedokumenteerde tonnel volg.

Voer een poort deur, nie die netwerk nie

’n Plaaslike deurvoer open ’n luisteraar op jou masjien en stuur elke verbinding deur die SSH-bediener na ’n bestemming wat daardie bediener kan bereik. Vir ’n Mac wie se skermdelingsdiens op TCP 5900 luister, en ’n bastion wat mac.corp.example kan oplos, is die opdrag kort en doelbewus smal. Elke opsie daarin bestaan om die reëling klein te hou: geen skulp, geen wildcard-luisteraar, geen daemon nie. Lees dit as ’n verklaring van omvang eerder as ’n resep.

ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:15900:mac.corp.example:5900 [email protected]

Om die luisteraar aan 127.0.0.1 te bind, hou dit weg van elke ander koppelvlak. Dit is nie ’n formaliteit nie: ’n deurvoer wat aan alle koppelvlakke gebind is, maak jou skootrekenaar ’n oop deurgee na die korporatiewe netwerk vir enigiemand op dieselfde kafee-Wi-Fi. As die poort reeds in gebruik is, kies ’n ander hoë poort en werk die kyker by; moenie ’n onverwante diens stop om die voorbeeld te laat pas nie.

Die rekening op die bastion het ook toestemming nodig om na daardie bestemming deur te voer. Sommige geharde SSH-konfigurasies skakel poortdeurvoer heeltemal af, en sommige beperk dit met ’n permit-listen- of permit-open-instruksie. Lees die bedienerbeleid voordat jy aanneem ’n geweierde kanaal beteken die wagwoord was verkeerd.

Wat SSH versleutel, en waar dit stop

Die SSH-sessie beskerm verkeer van jou Mac na die bastion, en die deurvoer dra die VNC-protokol binne daardie sessie sonder om dit te verstaan. Sodra die verbinding die bastion na die teiken verlaat, is dit nie meer binne jou SSH-sessie nie. Watter beskerming ook al op daardie laaste sprong bestaan, behoort aan die teikenprotokol en aan die privaat netwerk se eie kontroles.

Dit is waarom ’n gewone VNC-eindspong nie as end-tot-end-versleutel beskryf moet word bloot omdat die eerste sprong SSH gebruik het nie. Beskryf die segmente eerlik: sterk van kliënt na bastion, en wat die teiken daarna ook al ondersteun. As die vereiste is dat die hele pad deur een meganisme versleutel word, voldoen die deurvoer nie daaraan nie.

Verifikasie by die teiken is weer eens apart. Die SSH-rekening verleen nie ’n macOS-aanmelding nie, en die skermdelingsdiens vra steeds sy eie geloofsbriewe en pas steeds sy eie toegangslys toe. ’n Plaaslike luisteraar wat ’n verbinding aanvaar, bewys niks oor of die afgeleë diens die sessie sal toelaat nie.

Wanneer die volle VPN die regte keuse is

Kies die VPN wanneer die taak meer as een poort nodig het: Apple Remote Desktop se bestuurs- en verslagdoenfunksies gebruik bykomende TCP- en UDP-verkeer wat ’n enkele TCP-deurvoer nie sal dra nie. ’n Deurvoer is nie ’n gedeeltelike implementering van die hele produk nie; dit is ’n ander, kleiner hulpmiddel.

Kies dit wanneer verskeie administrateurs vanaf wisselende liggings verbind, want ’n bestuurde profiel versprei roetes, geloofsbriewe en beleid sonder dat elke persoon ’n opdragreël moet uitdink. Kies dit wanneer die ouditspoor moet wys wie aan wat gekonnekteer het, want ’n SSH-sessie per gebruiker en ’n gedeelde plaaslike deurvoer laat baie verskillende rekords.

Kies dit, laastens, wanneer die teikennetwerk glad nie vanaf ’n skootrekenaar bereikbaar moet wees sonder die organisasie se eie hek nie. ’n Persoonlike deurvoer omseil daardie hek per ontwerp, en dit is juis waarom dit in ’n veranderingsrekord hoort eerder as in ’n skulpgeskiedenis.

Laat die deurvoer hardop faal

Gebruik ExitOnForwardFailure=yes sodat ’n mislukte binding die sessie stop in plaas daarvan om ’n skulp te los wat gekonnekteer lyk en niks deurvoer nie. Hou gasheersleutelverifikasie aan, en verkies ’n sleutel of agent bo ’n wagwoord. Toets dan die presiese URL wat die kyker sal gebruik, want ’n werkende SSH-sessie en ’n werkende skermverbinding is twee verskillende resultate.

Vir die inheemse kliënt op macOS word die kyker deur ’n plaaslike URL bereik: open "vnc://127.0.0.1:15900". As die venster oopgaan en die afgeleë gasheer verifikasie verwerp, is die tonnel reg en is die probleem by die teiken. As die venster nooit oopgaan nie, is die luisteraar of die poort die probleem.

Stop die sessie wanneer jy klaar is, en skryf die poort, die bastion, die teiken en die rekeningbeleid neer. ’n Deurvoer wat niemand gedokumenteer het nie, is ses maande later nie van ’n agterdeur te onderskei nie, en dit is die sterkste argument om dit klein, benoemd en tydelik te hou.

Verwante artikels