Локално SSH прослеђивање или пун VPN за један Mac екран?
За један екран на једном домаћину, loopback SSH прослеђивање је мање од VPN-а. Ево када је довољно, шта шифрује и када да престанете да га користите.
Треба да видите екран једног Mac-а са своје машине, Mac се налази иза домаћина на који већ можете да се повежете преко SSH-а, а питање је да ли то заслужује VPN. Обично не. Једно локално прослеђивање носи један TCP порт кроз сесију SSH коју већ имате, и за један екран на једном домаћину то је мањи и лакше проверљив распоред од рутирања целе мреже.
То одређују три услова, и било који од њих може да вас гурне ка управљаном VPN-у.
То одређују три услова
Први је обим: једна услуга на једном домаћину, или више домаћина и више портова. Други је да ли је сваки скок између бастиона и циља већ поуздан, јер SSH штити само сегмент који завршава. Трећи је ко мора да подржава распоред након што га изградите, јер ручно направљен тунел обично надживи особу која га је разумела. Именујте ту особу пре него што почнете, и запишите команду на место где она може да је нађе. Недокументовано прослеђивање је будући инцидент са одложеним датумом почетка.
Ако су одговори „један“, „да“ и „ја, за сада“, прослеђивање је прави алат. Ако се било који одговор промени, подржан дизајн даљинског приступа за годину дана је јефтинији од прегледа инцидента који следи после недокументованог тунела.
Проследите један порт, не мрежу
Локално прослеђивање отвара слушаоца на вашој машини и прослеђује сваку везу кроз SSH сервер до одредишта до ког тај сервер може да стигне. За Mac чија услуга дељења екрана слуша на TCP 5900, и бастион који уме да разреши mac.corp.example, команда је кратка и намерно уска. Свака опција у њој постоји да би распоред остао мали: без шкољке, без слушаоца на свим интерфејсима, без демона. Читајте је као изјаву о обиму, а не као рецепт.
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 сесија по кориснику и заједничко локално прослеђивање остављају веома различите записе.
Изаберите га, на крају, када циљна мрежа не треба да буде доступна са лаптопа уопште без сопствених врата организације. Лично прослеђивање заобилази та врата по дизајну, и управо зато припада запису о промени, а не историји шкољке.
Нека прослеђивање гласно падне
Користите ExitOnForwardFailure=yes да неуспешно везивање заустави сесију уместо да остави шкољку која изгледа повезано и ништа не прослеђује. Држите проверу кључа домаћина укљученом и претпоставите кључ или агент уместо лозинке. Затим тестирајте тачан URL који ће прегледач користити, јер радна SSH сесија и радна веза са екраном су два различита резултата.
За изворни клијент на macOS, прегледачу се приступа преко локалног URL-а: open "vnc://127.0.0.1:15900". Ако се прозор отвори и удаљени домаћин одбије аутентикацију, тунел је у реду и проблем је на циљу. Ако се прозор никада не отвори, проблем је у слушаоцу или порту.
Зауставите сесију када завршите, и запишите порт, бастион, циљ и политику налога. Прослеђивање које нико није документовао не разликује се од задњих врата после шест месеци, и то је најјачи аргумент да га држите малим, именованим и привременим.