Трябва да видите екрана на един Mac от своята машина, Mac се намира зад хост, към който вече можете да се свържете по SSH, и въпросът е дали това заслужава VPN. Обикновено не. Едно локално пренасочване пренася един TCP порт през SSH сесията, която вече имате, и за един екран на един хост това е по-малка и по-проверяема уредба от маршрутизирането на цяла мрежа.

Три условия решават въпроса и всяко едно от тях може да ви насочи към управлявания VPN.

Три условия решават въпроса

Първото е обхватът: една услуга на един хост или няколко хоста и няколко порта. Второто е дали всеки преход между бастиона и целта вече е надежден, защото SSH защитава само сегмента, който завършва. Третото е кой трябва да поддържа уредбата, след като я изградите, тъй като ръчно изграденият тунел обикновено надживява човека, който го е разбирал. Назовете този човек, преди да започнете, и запишете командата на място, където той може да я намери. Недокументираното пренасочване е бъдещ инцидент с отложена начална дата.

Ако отговорите са „едно“, „да“ и „аз, засега“, пренасочването е правилният инструмент. Ако някой отговор се промени, поддържан дизайн за отдалечен достъп е по-евтин за година от прегледа на инцидента, който следва недокументиран тунел.

Пренасочете един порт, не мрежата

Локалното пренасочване отваря слушател на вашата машина и препредава всяка връзка през SSH сървъра към дестинация, до която този сървър може да стигне. За Mac, чиято услуга за споделяне на екран слуша на TCP 5900, и бастион, който може да резолвне mac.corp.example, командата е кратка и умишлено тясна. Всяка опция в нея съществува, за да остане уредбата малка: без shell, без слушател на всички интерфейси, без демон. Четете я като изявление за обхват, а не като рецепта.

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

Свързването на слушателя към 127.0.0.1 го държи далеч от всеки друг интерфейс. Това не е формалност: пренасочване, вързано към всички интерфейси, превръща лаптопа ви в открит ретранслатор към корпоративната мрежа за всеки в същото кафене с Wi-Fi. Ако портът вече се използва, изберете друг висок порт и обновете вюъра; не спирайте несвързана услуга, за да пасне примерът.

Акаунтът на бастиона също се нуждае от разрешение за пренасочване към тази дестинация. Някои затегнати SSH конфигурации изключват пренасочването на портове напълно, а други го ограничават с директива permit-listen или permit-open. Прочетете политиката на сървъра, преди да приемете, че отказан канал означава грешна парола.

Какво криптира SSH и къде спира

SSH сесията защитава трафика от вашия Mac до бастиона, а пренасочването носи VNC протокола вътре в тази сесия, без да го разбира. Щом връзката напусне бастиона към целта, тя вече не е вътре в SSH сесията ви. Каквато и защита да съществува на този последен преход, тя принадлежи на целевия протокол и на собствените механизми на частната мрежа.

Затова обикновеният последен преход по VNC не бива да се описва като криптиран от край до край само защото първият преход е използвал SSH. Описвайте сегментите честно: силен от клиента до бастиона и каквото целта поддържа след това. Ако изискването е целият път да е криптиран от един механизъм, пренасочването не покрива това.

Автентикацията в целта отново е отделна. SSH акаунтът не дава вход в macOS и услугата за споделяне на екран все още иска собствените си идентификационни данни и все още прилага собствения си списък за достъп. Локален слушател, който приема връзка, не доказва нищо за това дали отдалечената услуга ще пусне сесията.

Кога пълният VPN е правилният избор

Изберете VPN, когато задачата изисква повече от един порт: функциите за управление и отчети на Apple Remote Desktop използват допълнителен TCP и UDP трафик, който едно TCP пренасочване не носи. Пренасочването не е частична реализация на целия продукт; то е друг, по-малък инструмент.

Изберете го, когато няколко администратори се свързват от променящи се места, защото управляваният профил раздава маршрути, идентификационни данни и политика, без всеки да измисля команден ред. Изберете го, когато одитната следа трябва да показва кой към какво се е свързвал, тъй като SSH сесия на потребител и споделено локално пренасочване оставят много различни записи.

Изберете го, накрая, когато целевата мрежа не бива да е достъпна от лаптоп без собствената порта на организацията. Личното пренасочване заобикаля тази порта по замисъл и точно затова принадлежи в запис за промяна, а не в история на shell.

Накарайте пренасочването да се проваля шумно

Използвайте ExitOnForwardFailure=yes, за да спре неуспешното свързване сесията, вместо да остави shell, който изглежда свързан и не пренасочва нищо. Дръжте проверката на хостов ключ включена и предпочитайте ключ или агент пред парола. След това тествайте точния URL, който вюърът ще използва, защото работеща SSH сесия и работеща връзка към екран са два различни резултата.

За нативния клиент на macOS вюърът се достига през локален URL: open "vnc://127.0.0.1:15900". Ако прозорецът се отвори и отдалеченият хост отхвърли автентикацията, тунелът е наред и проблемът е в целта. Ако прозорецът никога не се отвори, проблемът е в слушателя или порта.

Спрете сесията, когато приключите, и запишете порта, бастиона, целта и политиката на акаунта. Пренасочване, което никой не е документирал, след шест месеца е неразличимо от задна врата и това е най-силният аргумент да го държите малко, именувано и временно.

Подобни статии