SSH Port-Forwarding Eksempel

Hvad Er SSH Port-Forwarding, aka SSH Tunneling?

SSH port for forwardingarding er en mekanisme i SSH til tunneling applikationsporte fra klientmaskinen til servermaskinen eller omvendt. Det kan bruges til at tilføje kryptering til ældre programmer, som går gennem firewalls, og nogle systemadministratorer og IT-fagfolk bruge det til at åbne bagdøre i det interne netværk fra deres hjem maskiner. Det kan også misbruges af hackere og mal .are for at åbne adgang fra internettet til det interne netværk., Se SSH tunneling side for et bredere overblik.

lokal videresendelse

lokal videresendelse bruges til at videresende en port fra klientmaskinen til servermaskinen. Grundlæggende lytter SSH-klienten efter forbindelser på en konfigureret port, og når den modtager en forbindelse, tunneler den forbindelsen til en SSH-server. Serveren opretter forbindelse til en konfigureret destinationsport, muligvis på en anden maskine end SSH-serveren.,

Typisk brug af lokale port forwarding omfatter:

  • Tunneling sessioner og filoverførsler via hoppe servere

  • forbindelse til en tjeneste på et internt netværk udefra

  • Tilslutning til en ekstern fil aktie over Internettet

en Hel del organisationer for alle indgående SSH adgang gennem en enkelt hoppe server. Serveren kan være en standard Linu./Uni. boks, normalt med nogle ekstra hærdning, intrusion detection, og / eller logning, eller det kan være en kommerciel jump server løsning.,

mange jump-servere tillader indgående portvideresendelse, når forbindelsen er godkendt. Sådan portvideresendelse er praktisk, fordi det giver tech-kyndige brugere mulighed for at bruge interne ressourcer ganske gennemsigtigt. De kan For eksempel sende en port på deres lokale maskine til virksomhedens intranet web-server, til en intern mail server-IMAP port, til en lokal fil server 445 og 139 havne, til en printer, til en version kontrol repository, eller til næsten ethvert andet system på det interne netværk. Ofte tunneleres porten til en SSH-port på en intern maskine.,

I OpenSSH, lokale port forwarding er konfigureret til at bruge den -L funktion:

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

Dette eksempel åbner en forbindelse til gw.example.com spring server, og sender en forbindelse til port 80 på den lokale maskine til port 80 på intra.example.com.

som standard kan enhver (selv på forskellige maskiner) oprette forbindelse til den angivne port på SSH-klientmaskinen., Dog, dette kan være begrænset til programmer på den samme vært, ved at levere en binde adresse er:

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

LocalForward i OpenSSH-client-konfigurationsfilen kan bruges til at konfigurere videresendelse uden at skulle angive det på kommandolinjen.

Fjern videresendelse

i OpenSSH angives eksterne SSH-portforarardinger ved hjælp af -R. For eksempel:

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

Dette giver alle på den eksterne server mulighed for at oprette forbindelse til TCP-port 8080 på den eksterne server., Forbindelsen tunneleres derefter tilbage til klientværten, og klienten opretter derefter en TCP-forbindelse til port 80 på localhost. Ethvert andet værtsnavn eller IP-adresse kan bruges i stedet for localhost for at angive den vært, der skal oprettes forbindelse til.

dette særlige eksempel ville være nyttigt for at give nogen på ydersiden adgang til en intern webebserver. Eller udsætte en intern applicationebapplikation til det offentlige Internet. Dette kan gøres af en medarbejder, der arbejder hjemmefra, eller af en angriber.,

Som standard tillader OpenSSH kun at oprette forbindelse til eksterne videresendte porte fra serverhosten. Indstillingen GatewayPorts i serverkonfigurationsfilen sshd_config kan dog bruges til at kontrollere dette. Følgende alternativer er mulige:

 GatewayPorts no

dette forhindrer forbindelse til videresendte porte uden for servercomputeren.

 GatewayPorts yes

Dette giver alle mulighed for at oprette forbindelse til de videresendte porte. Hvis serveren er på det offentlige Internet, kan enhver på internettet oprette forbindelse til porten.,

 GatewayPorts clientspecified

dette betyder, at klienten kan angive en IP-adresse, hvorfra forbindelser til porten er tilladt. Syntaksen for dette er:

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

I dette eksempel er det kun forbindelser fra IP-adressen 52.194.1.73 til port 8080 er tilladt.

OpenSSH tillader også den videresendte fjernport til angivet som 0. I dette tilfælde tildeler serveren dynamisk en port og rapporterer den til klienten. Når det bruges med indstillingen -O forward, udskriver klienten det tildelte portnummer til standardudgang.,

åbning af bagdøre i virksomheden

ekstern SSH-portvideresendelse bruges ofte af medarbejdere til at åbne bagdøre i virksomheden. For eksempel kan medarbejderen indstille få en gratis-tier server fra Ama .on a .s, og logge ind fra kontoret til den server, specificere ekstern videresendelse fra en port på serveren til en server eller et program på det interne virksomhedsnetværk. Flere fjernbetjeninger kan angives for at åbne adgang til mere end et program.,

medarbejderen vil også indstille GatewayPorts yes på serveren (de fleste ansatte har ikke faste IP-adresser derhjemme, så de kan ikke begrænse IP-adressen).for eksempel åbner følgende kommando adgang til en intern Postgres-database i port 5432 og en intern SSH-port i port 2222.

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

server-side konfiguration

AllowTcpForwarding i OpenSSH server konfigurationsfilen skal være aktiveret på serveren for at tillade port videresendelse. Som standard er videresendelse tilladt., Mulige værdier for denne mulighed yes eller all for at tillade, at alle TCP-videresendelse, no for at forhindre, at alle TCP-videresendelse, local for at gøre det muligt for lokale forwardings, og remote for at tillade fjernkørsel forwardings.

en anden mulighed af interesse er AllowStreamLocalForwarding, som kan bruges til at videresende Uni. – domænestik. Det tillader de samme værdier som AllowTcpForwarding. Standard er yes.,

For eksempel:

 AllowTcpForwarding remote AllowStreamLocalForwarding no

GatewayPorts konfiguration som beskrevet ovenfor påvirker også remote port forwardings. Mulige værdier var no (kun lokale forbindelser fra server host tilladt; standard), yes (alle på Internettet kan oprette forbindelse til eksterne porte videresendes), og clientspecified (kunde kan angive en IP-adresse, der kan oprette forbindelse, kan man hvis ikke andet er angivet).,

Sådan forhindrer du, at SSH Port for .arding omgår fire .alls

Vi anbefaler, at port for .arding udtrykkeligt deaktiveres, når det ikke er nødvendigt. Forlader port for .arding aktiveret kan udsætte organisationen for sikkerhedsrisici og bagdøre. For eksempel, hvis en server, der kun er beregnet til at levere SFTP-filoverførsler, tillader portforarardinger, kan disse videresendelser bruges til at få utilsigtet adgang til det interne netværk fra intranettet.

problemet er, at portvideresendelse i praksis kun kan forhindres af en server eller fire .all., En virksomhed kan ikke kontrollere alle servere på internettet. Firewall-baseret kontrol kan også være en vanskelig opgave, som de fleste organisationer har servere i Amazon AWS og andre cloud-tjenester, og disse servere er normalt adgang til via SSH.

Leave a Comment