SSH Port Forwarding példa

mi az SSH Port Forwarding, más néven SSH Tunneling?

SSH port forwarding egy mechanizmus SSH tunneling alkalmazás portok az ügyfél gép a szerver gép, vagy fordítva. Használható titkosítás hozzáadására a régi alkalmazásokhoz, tűzfalakon keresztül, néhány rendszergazda és informatikai szakember pedig arra használja, hogy otthoni gépeikből hátsó ajtókat nyisson a belső hálózatba. A hackerek és a rosszindulatú programok is visszaélhetnek azzal, hogy hozzáférjenek az internetről a belső hálózathoz., A szélesebb körű áttekintéshez lásd az SSH tunneling oldalt.

helyi továbbítás

a helyi továbbítás egy port továbbítására szolgál az ügyfélgépről a szerver gépre. Alapjában véve az SSH kliens egy konfigurált porton hallgatja a kapcsolatokat, majd amikor kap egy kapcsolatot, egy SSH szerverre továbbítja a kapcsolatot. A kiszolgáló egy konfigurált célporthoz csatlakozik, esetleg egy másik gépen, mint az SSH szerver.,

Tipikus felhasználási helyi port forwarding a következők:

  • Alagút ülések fájlátvitel keresztül ugrás szerverek

  • Csatlakozás szolgáltatáshoz a belső hálózaton kívülről

  • Csatlakozás távoli fájl megosztása az Interneten keresztül

Jó néhány szervezet esetében az összes bejövő SSH hozzáférés keresztül, egyetlen ugrás-kiszolgáló. A szerver lehet egy szabványos Linux / Unix doboz, általában némi extra keményedés, behatolás felismerés,és / vagy naplózás, vagy lehet, hogy egy kereskedelmi jump szerver megoldás.,

sok jump szerver lehetővé teszi a Bejövő port továbbítását, miután a kapcsolatot hitelesítették. Az ilyen port-továbbítás kényelmes, mert lehetővé teszi a tech-hozzáértő felhasználók számára, hogy a belső erőforrásokat meglehetősen átláthatóan használják. Például továbbíthatnak egy portot a helyi gépen a vállalati intranet webszerverhez, egy belső levelezőszerver IMAP portjához, egy helyi fájlkiszolgáló 445 és 139 portjához, egy nyomtatóhoz, egy verzióvezérlő tárolóhoz vagy a belső hálózat szinte bármely más rendszeréhez. Gyakran előfordul, hogy a port egy belső gép SSH portjára van alagútban.,

az OpenSSH-ben a helyi port továbbítás a -L opció:

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

Ez a példa megnyitja a kapcsolatot a gw.example.com jump szerverrel, és továbbítja a kapcsolatot a 80-as porthoz a helyi gépen a 80-as portra div id=”759d89bc30″>.

alapértelmezés szerint bárki (akár különböző gépeken is) csatlakozhat az SSH ügyfélgép megadott portjához., Ez azonban ugyanazon a gazdagépen található programokra korlátozható egy kötési cím megadásával:

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

aLocalForward opció az OpenSSH kliens konfigurációs fájlban a továbbítás konfigurálására használható anélkül, hogy a parancssorban meg kellene adnia.

Remote Forwarding

az OpenSSH-ben a távoli SSH port forwardings a -R opcióval van megadva. Például:

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

Ez lehetővé teszi, hogy a távoli kiszolgálón bárki csatlakozhasson a TCP port 8080-hoz a távoli kiszolgálón., A kapcsolat ezután visszakerül az ügyfélközpontba, majd az ügyfél TCP kapcsolatot hoz létre a 80-as porthoz a localhostrendszeren. A localhost helyett bármilyen más Gazdanév vagy IP-cím használható a csatlakozni kívánt gazdagép megadásához.

Ez a konkrét példa hasznos lenne, hogy valaki a külső hozzáférést egy belső webszerver. Vagy egy belső webes alkalmazás nyilvános internetre való kitettsége. Ezt egy otthonról dolgozó alkalmazott vagy egy támadó teheti meg.,

alapértelmezés szerint az OpenSSH csak a távoli továbbított portokhoz való csatlakozást teszi lehetővé a szerver gazdagépről. Az sshd_config kiszolgálófájlban azonban aGatewayPorts opció használható ennek vezérlésére. A következő alternatívák lehetségesek:

 GatewayPorts no

Ez megakadályozza a kiszolgálón kívüli továbbított portokhoz való csatlakozást.

 GatewayPorts yes

Ez lehetővé teszi, hogy bárki csatlakozzon a továbbított portokhoz. Ha a szerver a nyilvános interneten van, az interneten bárki csatlakozhat a porthoz.,

 GatewayPorts clientspecified

Ez azt jelenti, hogy az Ügyfél megadhat egy IP-címet, ahonnan a porthoz való kapcsolatok megengedettek. Ennek szintaxisa:

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

ebben a példában csak a 52.194.1.73 8080-as porthoz tartozó IP-cím kapcsolatai engedélyezettek.

OpenSSH is lehetővé teszi a továbbított távoli port megadott 0. Ebben az esetben a szerver dinamikusan hozzárendel egy portot, majd jelentést tesz az ügyfélnek. Ha a -O forward opcióval használja, az ügyfél kinyomtatja a kiosztott portszámot a szabványos kimenetre.,

Nyitó Hátsóajtó a Vállalkozás

a Távoli SSH port forwarding gyakran alkalmazzák a munkavállalók nyílt hozzáférés a vállalkozás. Például a munkavállaló beállíthat egy ingyenes szintű kiszolgálót az Amazon AWS-ről, majd bejelentkezhet az irodából az adott kiszolgálóra, meghatározva a távoli továbbítást a szerver egyik portjáról a belső vállalati hálózat valamelyik kiszolgálójára vagy alkalmazására. Több távoli előre lehet megadni, hogy több alkalmazáshoz is hozzáférjen.,

a munkavállaló a kiszolgálón is beállítaná a GatewayPorts yes értéket (a legtöbb alkalmazottnak nincs rögzített IP-címe otthon, így nem korlátozhatják az IP-címet).

például a következő parancs megnyitja a hozzáférést egy belső Postgres adatbázishoz az 5432-es porton, valamint egy belső SSH porthoz A 2222-es porton.

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

szerver oldali konfiguráció

aAllowTcpForwarding opciónak az OpenSSH kiszolgáló konfigurációs fájljában engedélyeznie kell a kiszolgálón a port továbbításának engedélyezéséhez. Alapértelmezés szerint a továbbítás megengedett., Ennek az opciónak a lehetséges értékei: yes vagy all az összes TCP továbbítás engedélyezéséhez, no az összes TCP továbbítás megakadályozásához, local a helyi továbbítások engedélyezéséhez, és remote a távoli továbbítások engedélyezéséhez.

egy másik érdekes lehetőség aAllowStreamLocalForwarding, amely felhasználható Unix domain aljzatok továbbítására. Lehetővé teszi ugyanazokat az értékeket, mint a AllowTcpForwarding. Az alapértelmezett érték: yes.,

például:

 AllowTcpForwarding remote AllowStreamLocalForwarding no

a GatewayPorts a fent leírt konfigurációs opció a távoli portok továbbítását is érinti. A lehetséges értékek: no (csak a kiszolgáló állomás helyi kapcsolatai engedélyezettek; alapértelmezett), yes (az interneten bárki csatlakozhat távoli továbbított portokhoz), és clientspecified (az Ügyfél megadhat egy IP-címet, amely csatlakozhat, bárki, ha nincs megadva).,

hogyan lehet megakadályozni, hogy az SSH Port továbbítása megkerülje a tűzfalakat

javasoljuk, hogy a port továbbítását kifejezetten tiltsák le, ha nincs rá szükség. A port forwarding engedélyezése lehetővé teszi a szervezet biztonsági kockázatoknak és hátsó ajtóknak való kitettségét. Ha például egy olyan kiszolgáló, amely csak SFTP-fájlátviteleket kíván biztosítani, lehetővé teszi a portok továbbítását, akkor ezek a továbbítások felhasználhatók arra, hogy az Intranetből nem kívánt hozzáférést kapjanak a belső hálózathoz.

a probléma az, hogy a port továbbítását a gyakorlatban csak szerver vagy tűzfal akadályozhatja meg., Egy vállalkozás nem tudja irányítani az összes szervert az Interneten. A tűzfal-alapú vezérlés is trükkös lehet, mivel a legtöbb szervezet rendelkezik szerverekkel az Amazon AWS-ben és más felhőszolgáltatásokban, és ezeket a szervereket általában SSH segítségével érik el.

Leave a Comment