Koduleht » kuidas » SSH tunnelite kasutamine piirangutega serverite avamiseks ja turvaliseks sirvimiseks

    SSH tunnelite kasutamine piirangutega serverite avamiseks ja turvaliseks sirvimiseks

    SSH klient ühendub Secure Shell serveriga, mis võimaldab käivitada terminali käske nii, nagu sa istuksid teise arvuti ees. SSH-kliendil on aga võimalik „tunnelida” sadam oma kohaliku süsteemi ja serveri SSH-serveri vahel.

    SSH-tunnelid on kolm erinevat tüüpi ja neid kasutatakse kõikidel eesmärkidel. Igaüks kasutab SSH-serveri kasutamist, et suunata liiklus ühest võrgupordist teise. Liiklus saadetakse krüpteeritud SSH-ühenduse kaudu, mistõttu seda ei saa transiidi ajal jälgida ega muuta.

    Seda saate teha ssh käsk, mis sisaldub Linuxis, MacOSis ja teistes UNIX-tüüpi operatsioonisüsteemides. Windowsis, mis ei sisalda sisseehitatud ssh käsku, soovitame SSH serveritega ühenduse loomiseks tasuta tööriista PuTTY. See toetab ka SSH tunnelite kasutamist.

    Kohaliku sadama edastamine: tehke oma kohalikus süsteemis kättesaadavaks kaugvahendid

    „Kohaliku pordi edastamine” võimaldab teil pääseda ligi kohalikele võrguressurssidele, mis ei ole Internetis avatud. Oletame näiteks, et soovite oma kontoris juurdepääsu oma andmebaasi serverile. Turvakaalutlustel on see andmebaasiserver konfigureeritud ainult kohalike kontorivõrkude ühenduste vastuvõtmiseks. Aga kui teil on kontoris juurdepääs SSH-serverile ja SSH-server võimaldab ühendusi väljaspool kontorivõrku, saate selle SSH-serveriga ühendada kodust ja pääseda andmebaasi serverisse, nagu oleksite kontoris. See on tihti nii, sest ühe SSH-serveri kaitsmine rünnakute eest on lihtsam kui erinevate võrguressursside kindlustamine.

    Selleks loote SSH-ühenduse SSH-serveriga ja ütle kliendile, et edastada liiklus kindlatelt sadamatelt oma kohalikust PC-st, näiteks pordist 1234-andmebaasi serveri ja kontorivõrgu pordi aadressile. Niisiis, kui üritate andmebaasi serverisse pääseda oma praeguse arvuti („localhost”) pordis 1234, siis „liiklus” automaatselt SSH-ühenduse kaudu ja saadetakse andmebaasiserverile. SSH server asub keskel, suunates liiklust edasi ja tagasi. Võite kasutada mis tahes käsurida või graafilist tööriista, et pääseda andmebaasi serverisse nii, nagu see oleks teie kohalikus arvutis.

    Kohaliku edastamise kasutamiseks ühendage SSH-serveriga tavapäraselt, kuid edastage ka -L argument. Süntaks on:

    ssh -L local_port: remote_address: remote_port [email protected]

    Oletame näiteks, et teie büroo andmebaasiserver asub kontorivõrgus aadressil 192.168.1.111. Teil on juurdepääs kontori SSH-serverile aadressil ssh.youroffice.com , ja teie kasutajakonto SSH serveris on bob . Sellisel juhul näeb teie käsk sellist:

    ssh-L 8888: 192.168.1.111: 1234 [email protected]

    Pärast selle käsu käivitamist pääsete andmebaasi serverisse portaalis 8888 lokaalhost. Niisiis, kui andmebaasiserver pakkus veebiühendust, võite selle juurde pääseda oma veebibrauserisse http: // localhost: 8888. Kui teil oli käsurea tööriist, mis vajab andmebaasi võrguaadressi, siis suunake see aadressile localhost: 8888. Kõik teie arvutisse sadamasse 8888 saadetud liiklus tunneliseeritakse kontorivõrgus 192.168.1.111:1234.

    See on pisut segadust tekitav, kui soovite ühendada serverirakendusega, mis töötab samas süsteemis nagu SSH server. Oletame näiteks, et teie kontoriarvuti pordis 22 töötab SSH-server, kuid teil on samas andmebaasis sama süsteemi juures 1234-s pordis töötav andmebaasiserver. Sa tahad kodus asuvat andmebaasi serveri juurde pääseda, kuid süsteem võtab SSH-ühendused vastu ainult sadamas 22 ja selle tulemüür ei luba muid väliseid ühendusi.

    Sellisel juhul võid käitada sellist käsku nagu:

    ssh-L 8888: localhost: 1234 [email protected]

    Kui üritate andmebaasi serverisse pääseda oma praeguse arvuti pordis 8888, saadetakse liiklus SSH-ühenduse kaudu. Kui SSH serverit juhtivale süsteemile saabub, saadab SSH server selle portaali 1234 „localhost”, mis on sama arvuti, kus töötab ise SSH server. Seega tähendab ülaloleva käsu “localhost” kaugserveri vaatenurgast „localhost”.

    Selleks, et seda teha rakenduses Windows PuTTY, valige Connection> SSH> Tunnels. Valige valik „Local“. „Lähtepordi” puhul sisestage kohalik port. „Sihtkoha“ puhul sisestage sihtkoha aadress ja port vormis remote_address: remote_port.

    Näiteks, kui soovid luua sama SSH-tunneli nagu eespool, siis sisestate 8888 kui lähtepordi ja localhost: 1234 sihtkohaks. Seejärel klõpsake „Lisa“ ja seejärel klõpsake „Ava”, et avada SSH ühendus. Enne ühendamist loomulikult peate sisestama ka SSH-serveri aadressi ja pordi peamisesse “Session” ekraanile.

    Portide kaugülekanne: tee kohalikud ressursid kaugsüsteemi

    „Kaugjuhtimispuldi edastamine” on kohaliku edastamise vastand ja seda ei kasutata nii sageli. See võimaldab teil luua kohalikus arvutis ressursse SSH-serveris. Oletame näiteks, et kasutate kohalikku arvutit veebiserverit, mis asub teie ees. Kuid teie arvuti on tulemüüri taga, mis ei võimalda serveritarkvara sissetulevat liiklust.

    Eeldades, et pääsete kaugjuurdepääsuga SSH-serverisse, saate selle SSH-serveriga ühendada ja kasutada kaugjuhtimist. Teie SSH-klient ütleb serverile, et edastab SSH-serveris konkreetse pordi-sõnumi, pordi 1234-konkreetse arvuti või kohaliku võrgu konkreetse aadressi ja pordi. Kui keegi pääseb SSH-serveri pordile 1234, siis „liiklus” automaatselt SSH-ühenduse kaudu. Igaüks, kellel on juurdepääs SSH-serverile, pääseb juurde teie arvutis töötavale veebiserverile. See on tõhus viis tuua läbi tulemüüride.

    Kaugjuhtimise kasutamiseks kasutage ssh käsk -R argument. Süntaks on suures osas sama kui kohaliku edastamisega:

    ssh-R remote_port: local_address: local_port [email protected]

    Oletame, et soovite serveri rakendust kuulata kohaliku arvuti sadamas 1234, mis on saadaval serveri SSH serveri pordis 8888. SSH serveri aadress on ssh.youroffice.com ja teie kasutajanimi SSH serveris on bob. Sa käivitaksid järgmise käsu:

    ssh-R 8888: localhost: 1234 [email protected]

    Seejärel võis keegi ühenduda porti 8888 SSH-serveriga ja see ühendus oleks tunnelitud serveri rakendusele, mis töötab kohalikus arvutis, kus olete loonud ühenduse.

    Selleks, et seda teha Windowsis PuTTY, valige Connection> SSH> Tunnels. Valige suvand „Remote“. „Lähtepordi” puhul sisestage kaugport. „Sihtkoha“ puhul sisestage sihtkoha aadress ja port vormis local_address: local_port.

    Näiteks, kui soovisite ülaltoodud näite luua, sisestate 8888 kui lähtepordi ja localhost: 1234 sihtkohaks. Seejärel klõpsake „Lisa“ ja seejärel klõpsake „Ava”, et avada SSH ühendus. Enne ühendamist loomulikult peate sisestama ka SSH-serveri aadressi ja pordi peamisesse “Session” ekraanile.

    Seejärel said inimesed ühendada SSH serveri pordiga 8888 ja nende liiklus tunnelitakse teie kohaliku süsteemi sadamasse 1234.

    Vaikimisi kuulab SSH-kaugserver ainult sama hostiga ühendusi. Teisisõnu, ainult inimesed, kes asuvad samas süsteemis nagu SSH server, saavad ühendada. See on turvalisuse huvides. Kui soovite selle käitumise tühistada, peate serveri SSH-serveris sshd_config sisse lülitama „GatewayPorts”..

    Dünaamiline portiülekanne: kasutage SSH-serverit puhverserverina

    Samuti on olemas „dünaamiline port edastamine”, mis toimib sarnaselt puhverserverile või VPN-ile. SSH-klient loob SOCKS-i puhverserveri, mida saab kasutada rakenduste konfigureerimiseks. Kõik proxy kaudu saadetud liiklus saadetakse SSH serveri kaudu. See sarnaneb kohaliku edastamisega - see võtab kohalikku liiklust, mis saadetakse teie arvuti konkreetsesse porti, ja saadab selle SSH-ühenduse kaudu kaugesse asukohta.

    Oletame näiteks, et kasutate avalikku Wi-Fi võrku. Sa tahad turvaliselt sirvida, ilma et see oleks sisse lülitatud. Kui teil on ligipääs SSH-serverile kodus, võite sellega ühendada ja kasutada dünaamilist portide edastamist. SSH-klient loob teie arvutis SOCKS-puhverserveri. Kõik sellele proksile saadetud liiklus saadetakse SSH-serveri ühenduse kaudu. Keegi, kes jälgib avalikku Wi-Fi-võrku, ei saa teie sirvimist ega tsenseerimist jälgida, millele pääsete juurde. Mis tahes veebisaitide vaatepunktist, mida külastate, oleks see nii, nagu oleksite kodus arvuti ees. See tähendab ka seda, et võid kasutada seda trikki ainult USA-le mõeldud veebisaitide juurde pääsemiseks, kui väljaspool USA-d, eeldades, et teil on juurdepääs SSH-serverile USA-s, muidugi.

    Teise näitena võite kasutada oma koduvõrgu meediumiserveri rakendust. Turvakaalutlustel võib teil olla ainult SSH-server Internetiga. Te ei luba Interneti kaudu sissetulevaid ühendusi meediumiserveri rakendusele. Saate seadistada dünaamilise porti edastamise, konfigureerida veebibrauseri, et kasutada SOCKS-i puhverserverit ja seejärel pääseda oma koduvõrgus töötavatele serveritele veebibrauseri kaudu, nagu oleksite kodus SSH-süsteemi ees. Näiteks kui teie meediumiserver asub teie koduvõrgu pordil 192.168.1.123, võite selle aadressi ühendada 192.168.1.123 kasutage rakendusi, mis kasutavad SOCKS-i puhverserverit ja pääsete meediumiserverisse nii, nagu oleksite oma koduvõrgus.

    Dünaamilise edastamise kasutamiseks käivitage ssh käsk -D argument, nagu nii:

    ssh -D local_port [email protected]

    Oletame näiteks, et teil on juurdepääs SSH-serverile aadressil ssh.yourhome.com ja teie kasutajanimi SSH serveris on bob . Soovite kasutada dünaamilist edastamist, et avada SOCKS-i puhverserver praeguses arvutis olevas pordis 8888. Sa käivitaksid järgmise käsu:

    ssh-D 8888 [email protected]

    Seejärel saate seadistada veebibrauseri või muu rakenduse oma kohaliku IP-aadressi (127.0.01) ja pordi 8888 kasutamiseks. Kogu selle rakenduse liiklus suunatakse läbi tunneli.

    Selleks, et seda teha Windowsis PuTTY, valige Connection> SSH> Tunnels. Valige valik „Dünaamiline“. „Lähtepordi” puhul sisestage kohalik port.

    Näiteks, kui soovisite portaalis 8888 luua SOCKS-i puhverserveri, sisestaksite selle 8888 lähtepordina. Seejärel klõpsake „Lisa“ ja seejärel klõpsake „Ava”, et avada SSH ühendus. Enne ühendamist loomulikult peate sisestama ka SSH-serveri aadressi ja pordi peamisesse “Session” ekraanile.

    Seejärel saate konfigureerida rakenduse, et pääseda ligi SOCKSi puhverserverile teie kohalikus arvutis (st IP-aadress 127.0.0.1, mis viitab teie kohalikule arvutile) ja määrake õige port.

    Näiteks saate Firefoxi konfigureerida SOCKS-i puhverserveri kasutamiseks. See on eriti kasulik, sest Firefoxil on oma puhverserveri seaded ja nad ei pea kasutama kogu süsteemi kasutatavaid puhverserveri seadeid. Firefox saadab oma liikluse SSH-tunneli kaudu, samas kui teised rakendused kasutavad teie Interneti-ühendust tavapäraselt.

    Kui seda teete Firefoxis, valige “Manual proxy configuration”, sisestage “127.0.0.1” SOCKS hostikasti ja sisestage dünaamiline port “Port” kasti. Jäta HTTP-puhverserveri, SSL-puhverserveri ja FTP-puhverserveri kastid tühjaks.

    Tunnel jääb aktiivseks ja avaneb seni, kuni teil on avatud SSH seansi ühendus. Kui lõpetate SSH-seansi ja katkestate serveriga ühenduse, suletakse ka tunnel. Alustage uuesti tunneli taasavamiseks sobiva käsuga (või sobivate valikute abil PuTTY-s).