Andke kaugel asuvale Pi-le SOCKS-proxy oma SSH-kliendi kaudu
Kaugdünaamiline edasuunamine paneb SOCKS-kuulaja Pi peale ja teeb edasise ühenduse teie sülearvuti kinnitatud VPN-teekonnalt. Teist SSH-serverit pole vaja.
Te eeldate, et SOCKS-proxy peab töötama seal, kus võrguühendus juba olemas on. OpenSSH saab kuulaja paigutada hoopis mujale. Kaugdünaamiline edasuunamine avab SOCKS-pordi kaugmasinas ja algatab iga ühenduse teie kohalikust SSH-kliendist, mis kannab teie sülearvuti kinnitatud VPN-teekonda. Pi saab piiratud proxy; see ei päri teie tunnelit ega teie õigusi.
Kuulaja ja ühenduse alguspool võivad erineda
Tavaline ssh -D 1080 käivitab kuulaja teie enda masinas ja saadab ühendused sealt välja. Kaugdünaamiline edasuunamine pöörab selle ümber: kuulaja ilmub kaugmasinasse ja iga ühendus, mille see vastu võtab, avatakse kohalikult poolt. OpenSSH kliendi käsiraamat kirjeldab -R ilma fikseeritud sihtkohata täpselt sellise SOCKS4/5 lahendusena.
Toetatud käsk sülearvutist näeb välja selline, kus konto, hostid ja port on kohahoidjad:
ssh -NT -S none -o ExitOnForwardFailure=yes \
-o PermitRemoteOpen=app.corp.example:443 \
-R 1080 [email protected]
Kolm detaili teevad seal kasulikku tööd. -S none hoiab sessiooni eemal jagatud juhtmastersõlmest, ExitOnForwardFailure nurjub kiiresti, selle asemel et jätta teid pooleldi avatud sessiooniga, ja PermitRemoteOpen piirab, kuhu kaugkuulaja jõuda võib. Kasutage volitatud Pi-kontot ja kontrollige hostivõtit enne, kui midagi sellest lisate.
Mida kaugkuulaja tegelikult paljastab
Kontrollige serveri edasuunamispoliitikat enne, kui kuulajale loodate. GatewayPorts no korral jääb kaugedasuunamine loopbacki külge, ja see on kokkupuude, mida te soovite. Server, mis on seatud jõuga metamärgilist edasuunamist tegema, avaldab sama pordi igal liidesel, mistõttu isiklikust proxyst saab midagi, mida kohalik võrk jõuda võib.
Loopback ei ole ka kasutajapõhine piir. Teine protsess Pi peal võib 127.0.0.1:1080-ga ühenduda, kui teab porti, seega Pi kohalikud kontod ja kõik, mis sellel töötab, on osa teie juurdepääsukujundusest. See on põhjus hoida sihtkohtade loend kitsas, mitte põhjus poliitikakontroll vahele jätta.
Hoidke lubatud sihtkoht spetsiifiline rakenduse jaoks, mida proovite kätte saada. Selle asendamine piiramatu edasuunamisega, et mõni kõrvaline programm töötaks, laiendab teed palju kaugemale probleemist, millega alustasite. Sihtkohtade loend märgib ka üles, milleks sessioon oli, mis aitab kõiki, kes seda hiljem kontrollib. Kirjutage see üles kasutatud konto kõrvale.
Saatke üks rakendus proxyst läbi
Proxyst aru saav klient Pi peal saab seejärel päringu teha. Eesliide socks5h annab sihtkoha nime proxyle, nii et otsing ja ühendus toimuvad mõlemad sülearvuti poolel, ja see vastab PermitRemoteOpen nimetatud sihtkohale:
curl --proxy socks5h://127.0.0.1:1080 \
--noproxy '' https://app.corp.example/
Säilitage tavaline sertifikaadi valideerimine ja rakenduse enda autentimine. Proxy muudab, kus TCP-ühendus luuakse; see ei muuda autentimata teenust turvaliseks ega muuda iseallakirjutatud lõpp-punkti usaldusväärseks.
Sülearvutil on endiselt vaja oma marsruuti ja resolveri juurdepääsu nii SSH-serverile kui ka rakendusele. Selle SSH-kliendi liiklus peab olema valitud kinnitatud VPN-poliitikaga, ja split-tunneli erand võib saata selle liikluse teistsugust teed pidi kui see, mida te testisite.
Tõestage tee ja sulgege see
Kinnitage, et kuulaja on seal, kus te seda ootate, ja et vastab ainult kavandatud sihtkoht:
$ ss -ltnp | grep 1080
LISTEN 0 128 127.0.0.1:1080 0.0.0.0:*
$ curl -sS -o /dev/null -w '%{http_code}\n' \
--proxy socks5h://127.0.0.1:1080 https://app.corp.example/
ExitOnForwardFailure suudab tõestada, et edasuunamine loodi, ja ikkagi ei suuda see tõendada, et rakendusse sisselogimine allavoolu õnnestub. Testige rakendust, mitte ainult porti. Kuulaja, mis võtab vastu ja siis iga päringu nurjab, tähendab tavaliselt, et sihtkoha nimi või sülearvuti marsruut on vale, mitte et tunnel ebaõnnestus.
See lahendus kannab ainult TCP-d. UDP, ICMP ja proxy seadeid eiravad programmid jäävad sellest välja ning edasuunamine lõpeb hetkel, mil SSH-sessioon lõpeb. Lõpetage see sessioon, kui olete valmis, ja eemaldage proxy seade, mille rakendusele lisasite.
Alalise juurdepääsu jaoks kasutage selle asemel võrgu omaniku toetatud registreerimist või hallatavat lüüsi. Vastupidine proxy on vale tööriist VPN-i seadme- või ressursipiirangute vältimiseks; nende sees kasutatuna on see lihtsalt üks volitatud rakenduste tee selgete piiridega.