SSH Port Forwarding Eksempel

Hva Er SSH Port Forwarding, aka SSH Tunneling?

SSH port forwarding er en mekanisme i SSH for tunneling programmet porter fra klient-maskin til server maskin, eller vice versa. Det kan brukes for å legge til kryptering for å legacy-applikasjoner, gå gjennom brannmurer, og noen systemansvarlige og IT-eksperter kan bruke den for å åpne bakdører inn i det interne nettverket fra sin maskin hjemme. Det kan også bli misbrukt av hackere og skadelig programvare for å åpne tilgang fra Internett til det interne nettverket., Se SSH tunneling side for en bredere oversikt.

Lokal Videresending

Lokal videresending er brukt til å videresende et porten fra klienten maskinen til server-maskinen. I utgangspunktet, SSH-klienten lytter til for tilkoblinger på en konfigurert porten, og når den mottar en tilkobling, tunneler tilkoblingen til en SSH-server. Serveren er koblet til en configurated destinasjon port, muligens på en annen maskin enn den SSH server.,

Typiske bruksområder for lokal port forwarding inkluderer:

  • Tunneling økter og filoverføringer gjennom hoppe servere

  • Koble til en tjeneste på et internt nettverk fra utsiden

  • Koble til en ekstern fil dele over Internett –

    – >

Ganske mange organisasjoner for alle innkommende SSH-tilgang via en enkelt hoppe server. Serveren kan være en standard Linux – /Unix-boksen, vanligvis med noen ekstra herding, innbruddsdeteksjon, og/eller hogst, eller det kan være en kommersiell hoppe server-løsning.,

Mange hoppe servere tillater innkommende port forwarding, når tilkoblingen er godkjent. En slik port forwarding er praktisk, fordi det tillater tech-savvy brukere å bruke interne ressurser ganske transparent. De kan For eksempel frem i en port på sin lokale maskin til bedriftens intranett, web-server, til en intern e-postserver er IMAP-porten, til en lokal fil server er 445 og 139 porter, til en skriver, til et versjonskontroll depotet, eller nesten hvilken som helst annet system på det interne nettverket. Ofte, den port er sendt til en SSH-port på en intern maskinen.,

I OpenSSH, lokal port forwarding er konfigurert ved hjelp av -L valg:

 ssh -L 80:intra.example.com:80 gw.example.com

Dette eksemplet åpner en tilkobling til gw.example.com hoppe server, og videresender noen forbindelse til port 80 på den lokale maskinen til port 80 på intra.example.com.

som standard, noen (selv på forskjellige maskiner) kan koble til den angitte porten på SSH-klient maskinen., Dette kan imidlertid være begrenset til programmer på samme vert ved å binde en adresse:

 ssh -L 127.0.0.1:80:intra.example.com:80 gw.example.com

LocalForward alternativ i OpenSSH klienten konfigurasjonsfil kan brukes til å konfigurere videresending uten å måtte angi det på kommandolinjen.

Ekstern Videresending

I OpenSSH, eksterne SSH-port forwardings er spesifisert med bruk av -R alternativ. For eksempel:

 ssh -R 8080:localhost:80 public.example.com

Dette gjør at hvem som helst på en ekstern server for å koble til TCP-port 8080 på den eksterne serveren., Tilkoblingen vil da bli sendt tilbake til klienten vert, og klienten gjør deretter en TCP-forbindelse til port 80 på localhost. Andre vertsnavnet eller IP-adressen kan brukes i stedet for localhost for å angi verten for å koble til.

Dette bestemte eksempel ville være nyttig for å gi noen på utsiden tilgang til en intern web-server. Eller å utsette en intern web-programmet for allmennheten på Internett. Dette kan gjøres av en arbeidstaker som arbeider hjemmefra, eller av en angriper.,

som standard, OpenSSH bare kan koble til eksterne videresendt porter fra server host. Imidlertid, GatewayPorts alternativ i server configuration file sshd_config kan brukes til å kontrollere dette. Følgende alternativer er tilgjengelige:

 GatewayPorts no

Dette hindrer koble til videresendes havner utenfor server-datamaskinen.

 GatewayPorts yes

Dette lar hvem som helst å koble til den nye porter. Hvis serveren er på Internett, kan alle på Internett kan koble til port.,

 GatewayPorts clientspecified

Dette betyr at klienten kan angi en IP-adresse fra hvilke tilkoblinger til port er tillatt. Syntaksen for dette er:

 ssh -R 52.194.1.73:8080:localhost:80 host147.aws.example.com

I dette eksempelet, kan du bare koble fra IP-adressen 52.194.1.73 til port 8080 er tillatt.

OpenSSH kan også videresendes ekstern port til angitt som 0. I dette tilfellet, vil serveren dynamisk tildele en port og rapportere det til klienten. Når den brukes med -O forward alternativet, vil kunden skrive ut den tildelte portnummeret til standard output.,

Åpne Bakdører i Bedrift

Eksterne SSH port forwarding er ofte brukt av ansatte for å åpne bakdører inn i bedriften. For eksempel, kan arbeidstaker sett få en gratis-tier server fra Amazon AWS, og logge deg på fra kontor til at serveren, angi ekstern videresending fra en port på serveren til noen server eller applikasjon på den interne enterprise-nettverk. Flere eksterne angripere kan spesifiseres til å åpne tilgang til mer enn ett program.,

Den ansatte ville også sette GatewayPorts yes på serveren (de fleste ansatte som ikke har fast IP-adresser hjemme, så de kan ikke begrense IP-adresse).

For eksempel, følgende kommandoen åpner tilgang til en intern Postgres database ved port 5432 og en intern SSH-port til port 2222.

 ssh -R 2222:d76767.nyc.example.com:22 -R 5432:postgres3.nyc.example.com:5432 aws4.mydomain.net

– Server-Side Konfigurasjon

AllowTcpForwarding alternativ i OpenSSH server configuration file må være aktivert på serveren for å tillate videresending av port. Som standard, videresending er tillatt., Mulige verdier for dette alternativet er yes eller all på for å tillate alle TCP videresending, no for å hindre alle TCP videresending, local for å tillate lokal forwardings, og remote for å tillate ekstern forwardings.

et Annet alternativ som er av interesse er AllowStreamLocalForwarding, som kan brukes til å videresende Unix domene stikkontakter. Det gjør at de samme verdiene som AllowTcpForwarding. Standard er yes.,

For eksempel slik:

 AllowTcpForwarding remote AllowStreamLocalForwarding no

GatewayPorts konfigurering-alternativet som er beskrevet ovenfor, påvirker også ekstern port forwardings. Mulige verdier er no (bare lokale tilkoblinger fra server host tillatt; standard), yes (alle på Internett kan koble til eksterne videresendt porter), og clientspecified (klient kan du angi en IP-adresse som kan kobles til, kan hvem som helst hvis ikke angitt).,

Hvordan for å Hindre SSH Port Forwarding å Omgå Brannmurer

Vi anbefaler at port forwarding være uttrykkelig er deaktivert når du ikke trenger det. Forlater port forwarding aktivert kan utsette organisasjonen for sikkerhet og bakdører. For eksempel, hvis en server er ment å bare gi SFTP filoverføringer lar port forwardings, de forwardings kan brukes til å få utilsiktet tilgang til det interne nettverket fra Intranettet.

problemet er at port forwarding kan i praksis bare være forhindret av en server eller en brannmur., En virksomhet kan ikke kontrollere alle servere på Internett. Brannmur-basert kontroll kan også være vanskelig, som de fleste organisasjoner har servere i Amazon AWS og andre cloud-tjenester, og de servere er vanligvis tilgjengelig ved hjelp av SSH.

Leave a Comment