Lokal SSH-viderekopling eller full VPN for éin Mac-skjerm?
For éin skjerm på éin vert er ei loopback-SSH-viderekopling mindre enn ein VPN. Her står det når ho er nok, kva ho krypterer og når du bør slutta å bruka ho.
Du må sjå skjermen til éin Mac frå din eigen maskin, Macen står bak ein vert du allereie kan SSH til, og spørsmålet er om det fortener ein VPN. Vanlegvis ikkje. Éi lokal viderekopling ber éin TCP-port gjennom SSH-økta du allereie har, og for éin skjerm på éin vert er det ei mindre og meir reviderbar ordning enn å ruta eit heilt nettverk.
Tre vilkår avgjer det, og kvart av dei kan skyva deg mot den styrte VPN-en i staden.
Tre vilkår avgjer det
Det første er omfang: éi teneste på éin vert, eller fleire vertar og fleire portar. Det andre er om kvart sprang mellom bastionen og målet allereie er stolt på, fordi SSH berre verner segmentet det avsluttar. Det tredje er kven som må støtta ordninga etter at du har bygt ho, sidan ein handlaga tunnel har ein tendens til å overleva personen som forstod han. Nemn den personen før du byrjar, og skriv kommandoen på ein stad der ho kan finna han. Ei udokumentert viderekopling er ei framtidig hending med utsett startdato.
Viss svara er «éin», «ja» og «meg, førebels», er viderekoplinga det rette verktøyet. Viss eit svar endrar seg, er eit støtta fjernaksessdesign billegare over eitt år enn hendingsgjennomgangen som følgjer ein udokumentert tunnel.
Vidarefør éin port, ikkje nettverket
Ei lokal viderekopling opnar ein lyttar på maskinen din og videresender kvar tilkopling gjennom SSH-tenaren til ein destinasjon som tenaren kan nå. For ein Mac der skjermdelingstenesta lyttar på TCP 5900, og ein bastion som kan slå opp mac.corp.example, er kommandoen kort og medvite smal. Kvart val i han finst for å halda ordninga lita: ingen skal, ingen lyttar på alle grensesnitt, ingen daemon. Les han som ei omfangserklæring, ikkje som ein oppskrift.
ssh -N -o ExitOnForwardFailure=yes -L 127.0.0.1:15900:mac.corp.example:5900 [email protected]Å binda lyttaren til 127.0.0.1 held han borte frå alle andre grensesnitt. Det er ikkje ein formalitet: ei viderekopling bunden til alle grensesnitt gjer laptopen din til eit ope relé inn i bedriftsnettet for alle på same kafé-Wi-Fi. Viss porten allereie er i bruk, vel ein annan høg port og oppdater visaren; ikkje stopp ein urelatert teneste for at dømet skal passa.
Kontoen på bastionen treng òg løyve til å vidareføra til den destinasjonen. Nokre herda SSH-konfigurasjonar slår av portvidareføring heilt, og nokre avgrensar ho med eit permit-listen- eller permit-open-direktiv. Les tenarpolitikken før du legg til grunn at ein avvist kanal tyder at passordet var feil.
Kva SSH krypterer, og kvar det stoppar
SSH-økta vernar trafikk frå Macen din til bastionen, og vidarekoplinga ber VNC-protokollen inne i den økta utan å forstå han. Når tilkoplinga forlèt bastionen mot målet, er ho ikkje lenger inne i SSH-økta di. Kva vern som enn finst på det siste spranget, høyrer det til målprotokollen og det private nettverket sine eigne kontrollar.
Difor bør eit vanleg siste VNC-sprang ikkje skildrast som ende-til-ende-kryptert berre fordi det første spranget brukte SSH. Skildra segmenta ærleg: sterkt frå klient til bastion, og deretter det målet støttar. Viss kravet er at heile vegen skal krypterast av éin mekanisme, oppfyller ikkje vidarekoplinga det.
Autentisering på målet er igjen ei eiga sak. SSH-kontoen gir ikkje macOS-innlogging, og skjermdelingstenesta ber framleis om sine eigne legitimasjonar og brukar framleis si eiga tilgangsliste. Ein lokal lyttar som godtek ei tilkopling, provar ingenting om kvidt tenesta på avstand slepp økta inn.
Når full VPN er det rette valet
Vel VPN når oppgåva treng meir enn éin port: administrasjons- og rapporteringsfunksjonane i Apple Remote Desktop brukar ekstra TCP- og UDP-trafikk som éi TCP-vidarekopling ikkje ber. Ei vidarekopling er ikkje ein delvis implementasjon av heile produktet; det er eit anna, mindre verktøy.
Vel han når fleire administratorar koplar til frå skiftande stader, fordi ein styrt profil distribuerer ruter, legitimasjon og politikk utan at kvar person finn opp ei kommandolinje. Vel han når revisjonssporet må visa kven som kopla til kva, sidan ei SSH-økt per brukar og ei delt lokal vidarekopling etterlèt svært ulike postar.
Vel han, til slutt, når målnettverket ikkje skal kunna nåast frå ein laptop i det heile utan organisasjonen si eiga port. Ei personleg vidarekopling omgår den porten av design, og det er nettopp difor ho høyrer i ein endringsregistrering og ikkje i ei skalhistorie.
Lat vidarekoplinga feila høgt
Bruk ExitOnForwardFailure=yes slik at ei mislukka binding stoppar økta i staden for å etterlata ei skal som ser tilkopla ut og ikkje videresender noko. Hald vertsnøkkelverifisering på, og føretrekk ein nøkkel eller agent framfor eit passord. Test deretter den nøyaktige URL-en som visaren skal bruka, fordi ei fungerande SSH-økt og ei fungerande skjermtilkopling er to ulike resultat.
For den innebygde klienten på macOS blir visaren nådd gjennom ein lokal URL: open "vnc://127.0.0.1:15900". Viss vindauget opnar seg og verten på avstand avviser autentisering, er tunnelen i orden og problemet er på målet. Viss vindauget aldri opnar seg, er problemet lyttaren eller porten.
Stopp økta når du er ferdig, og skriv ned porten, bastionen, målet og kontopolitikken. Ei vidarekopling som ingen har dokumentert, kan seks månader seinare ikkje skiljast frå ei bakdør, og det er det sterkaste argumentet for å halda ho lita, namngjeven og mellombels.