What Is SSH Port Forwarding, alias SSH Tunneling?
SSH port forwarding on mekanismi SSH tunnelointi sovellus portit asiakkaan kone palvelimelle kone, tai päinvastoin. Sitä voidaan käyttää lisäämällä salausta vanhoja sovelluksia, menee läpi palomuureista, ja joitakin järjestelmän ylläpitäjät ja IT-ammattilaiset käyttää sitä avaamalla takaovia osaksi sisäisen verkon kotoaan koneita. Hakkerit ja haittaohjelmat voivat myös käyttää sitä hyväkseen avatakseen pääsyn Internetistä sisäiseen verkkoon., Katso SSH tunneling-sivulta laajempi katsaus.
Paikallinen Huolinta
– Paikallisten huolinta käytetään välittämään portti client-koneen server kone. Pohjimmiltaan, SSH-client kuuntelee yhteydet määritetty portti, ja kun se saa yhteyden, se tunneleita yhteys SSH-palvelimeen. Palvelin kytkeytyy konfiguroituun kohdeporttiin, mahdollisesti eri koneella kuin SSH-palvelin.,
Tyypillisiä käyttökohteita paikalliseen port forwarding ovat:
-
Tunnelointi istuntoja ja tiedostojen siirrot läpi hypätä palvelimet
-
Liittäminen palveluun sisäisen verkon ulkopuolelta,
-
Yhteyden muodostaminen remote file share Internetissä
Varsin harvat organisaatiot kaikki saapuvat SSH-yhteys läpi yhden hypätä server. Palvelin voi olla tavallinen Linux / Unix-laatikko, jossa on yleensä jokin ylimääräinen kovettuminen, tunkeutumisen havaitseminen ja/tai kirjautuminen, Tai se voi olla kaupallinen jump server-ratkaisu.,
monet jump-palvelimet sallivat saapuvan porttihuolinnan, kun yhteys on varmistettu. Kuten portinsiirto on kätevä, koska se mahdollistaa tech-savvy käyttäjät voivat käyttää sisäisiä resursseja varsin avoimesti. Esimerkiksi, he voivat toimittaa satamaan heidän paikallisen koneen yrityksen intranet-web-palvelin, sisäisen postin palvelin on IMAP-portti, paikallinen tiedostopalvelin on 445 ja 139 portit, tulostimeen, version control repository, tai lähes minkä tahansa muun järjestelmän sisäisen verkon. Usein portti tunneloidaan SSH-porttiin sisäisellä koneella.,
OpenSSH, paikallisen portin edelleenlähetys on määritetty käyttäen -L
vaihtoehto:
ssh -L 80:intra.example.com:80 gw.example.com
Tämä esimerkki avaa yhteys gw.example.com
jump-palvelin, ja eteenpäin mitään yhteyttä porttiin 80 paikallisen koneen porttiin 80 intra.example.com
.
oletuksena kuka tahansa (jopa eri koneilla) voi muodostaa yhteyden SSH-asiakaskoneen määritettyyn porttiin., Kuitenkin, tämä voi olla rajoitettu ohjelmat samalla palvelimella toimittamalla sitoa osoite:
ssh -L 127.0.0.1:80:intra.example.com:80 gw.example.com
LocalForward
vaihtoehto OpenSSH-client configuration file voidaan määrittää huolinta tarvitsematta määrittää sen komentoriviltä.
Kauko Huolinta
OpenSSH, kauko SSH-portti forwardings on määritetty käyttäen -R
vaihtoehto. Esimerkiksi:
ssh -R 8080:localhost:80 public.example.com
Tämä mahdollistaa sen, että etäpalvelimella olevat voivat muodostaa yhteyden TCP-porttiin 8080 etäpalvelimella., Yhteys on sitten tunneloidaan takaisin asiakkaalle isäntä, ja asiakas sitten tekee TCP yhteys porttiin 80 localhost
. Mitä tahansa muuta isäntänimeä tai IP-osoitetta voitaisiin käyttää localhost
sijasta määritettäessä isäntää, johon yhdistää.
Tässä esimerkissä olisi hyvä antaa jonkun ulkopuolisen pääsy sisäinen web-palvelin. Tai sisäisen verkkosovelluksen paljastaminen julkiselle Internetille. Tämän voisi tehdä kotoa käsin työskentelevä työntekijä tai hyökkääjä.,
oletuksena OpenSSH sallii yhteyden vain etäohjattuihin portteihin palvelinohjelmasta. Tämän ohjaamiseen voidaan kuitenkin käyttää GatewayPorts
– vaihtoehtoa palvelimen asetustiedostossa sshd_config. Seuraavat vaihtoehdot ovat mahdollisia:
GatewayPorts no
Tämä estää yhteyden toimitetaan satamien ulkopuolelta server-tietokoneeseen.
GatewayPorts yes
Tämä mahdollistaa kenen tahansa yhteyden lähetettyihin satamiin. Jos palvelin on yleisessä Internetissä, kuka tahansa Internetissä voi muodostaa yhteyden satamaan.,
GatewayPorts clientspecified
tämä tarkoittaa, että asiakas voi määritellä IP-osoitteen, josta yhteydet satamaan ovat sallittuja. Syntaksi on seuraava:
ssh -R 52.194.1.73:8080:localhost:80 host147.aws.example.com
tässä esimerkissä, vain yhteydet IP-osoite 52.194.1.73
port 8080 ovat sallittuja.
OpenSSH sallii myös välitetyn etäportin määrityksen 0. Tällöin palvelin dynaamisesti jakaa portin ja ilmoittaa siitä asiakkaalle. Kun käytetään -O forward
vaihtoehto, asiakas tulostaa kohdistettu portin numero vakiotulosteeseen.,
Avaa Takaovia osaksi Yrityksen
Kauko SSH port forwarding on yleisesti käytetty työntekijät avata takaovia osaksi yrityksen. Esimerkiksi työntekijä voi asettaa saada vapaa-tier server Amazon AWS, ja kirjaudu sisään toimistosta, että palvelimen, määrittää kauko-huolinta satama-palvelimen joitakin palvelimen tai sovelluksen sisäisiä yrityksen verkkoon. Useita etäterminaaleja voidaan määrittää avaamaan pääsy useampaan kuin yhteen sovellukseen.,
työntekijä olisi myös asettaa GatewayPorts yes
palvelimen (useimmat työntekijät eivät ole kiinteitä IP-osoitteita kotona, joten he eivät voi rajoittaa IP-osoite).
esimerkiksi seuraava komento avaa pääsyn sisäinen Postgres tietokannan portti 5432 ja sisäinen SSH satama, porttiin 2222.
ssh -R 2222:d76767.nyc.example.com:22 -R 5432:postgres3.nyc.example.com:5432 aws4.mydomain.net
Server-Side Kokoonpano
AllowTcpForwarding
vaihtoehto OpenSSH-server configuration file on käytössä palvelimessa, jotta sataman huolinta. Oletuksena, huolinta on sallittua., Mahdolliset arvot tämän vaihtoehdon ovat yes
tai all
, jotta kaikki TCP huolinta, no
estää kaikki TCP-huolinta, local
salli paikallisten forwardings, ja remote
salli kauko-forwardings.
Toinen vaihtoehto korko AllowStreamLocalForwarding
, jota voidaan käyttää välittämään Unix domain pistorasiat. Se mahdollistaa samat arvot kuin AllowTcpForwarding
. Oletusarvo on yes
.,
esimerkiksi:
AllowTcpForwarding remote AllowStreamLocalForwarding no
GatewayPorts
configuration vaihtoehto kuin edellä kuvattu vaikuttaa myös remote port forwardings. Mahdolliset arvot olivat no
(vain paikalliset yhteydet palvelimen sallittu; oletus), yes
(kuka tahansa Internetin käyttäjä voi muodostaa yhteyden kauko toimitti satamat), ja clientspecified
(asiakas voi määrittää IP-osoitteen, joka voi muodostaa yhteyden, kuka tahansa voi, jos ei ole määritelty).,
Miten Estää SSH Port Forwarding päässä Kiertää Palomuurit
suosittelemme, että port forwarding nimenomaisesti pois käytöstä, kun sitä ei tarvita. Port Forwardingin jättäminen käyttöön voi altistaa organisaation turvallisuusriskeille ja takaoville. Esimerkiksi, jos palvelimen on tarkoitus tarjota vain SFTP-tiedostonsiirron avulla portti forwardings, ne forwardings voitaisiin käyttää saada tahattomia käsiksi sisäisen verkon Kautta.
ongelma on se, että porttien Huolinta voidaan käytännössä estää vain palvelimella tai palomuurilla., Yritys ei voi hallita kaikkia palvelimia Internetissä. Palomuuri-pohjainen ohjaus voi myös olla hankalaa, koska kaikkein järjestöt ovat palvelimia, Amazon AWS-ja muut pilvipalvelut, ja nämä palvelimet ovat yleensä käyttää SSH.