SSH SOCKS proxy létrehozása Linux szerveren keresztül

Korlátozott hozzáféréssel rendelkező hálózattal rendelkezik? Valaki szűri az internetforgalmát, és korlátozza a képességeit? Nos, ha van SSH-hozzáférése az internet felé, akkor valószínűleg beállíthatja saját SOCKS5 proxyját és az összes webes forgalmát SSH-n keresztül csatornázhatja.

Ettől kezdve, amit a laptopján/számítógépén csinál, azt titkosítva elküldi a SOCKS5 proxynak (az SSH-kiszolgálójának), és ez a kiszolgáló küldi a forgalmat kifelé.

Ez egy szteroidos SSH-alagút, amelyen keresztül könnyedén továbbíthatja a HTTP- és HTTPs forgalmat.

És még csak nem is olyan nehéz. Ez az útmutató Linux/Mac OSX felhasználóknak szól, akiknek közvetlen hozzáférése van egy terminálhoz, de ugyanez a logika érvényes a PuTTy-ra Windowson is.

SOCKS5 SSH-alagút beállítása

A SOCKS 5 alagút beállítása 2 alapvető lépésben történik. Az első az SSH-alagút létrehozása egy távoli kiszolgálóhoz.

Ha ez megtörtént, beállíthatja a böngészőt, hogy csatlakozzon az SSH-kliens által megnyitott helyi TCP-porthoz, amely az adatokat a távoli SSH-kiszolgálón keresztül továbbítja.

Ez néhány kulcsfontosságú intézkedésből áll:

  1. SSH-kapcsolatot nyit egy távoli kiszolgálóhoz. A kapcsolat megnyitásakor az SSH-ügyfél megnyit egy helyi TCP-portot is, amely csak az Ön számítógépe számára elérhető. Ebben a példában a helyi TCP portot :1337-et fogom használni.
  2. Beállítod a böngésződet (Chrome/Firefox/…), hogy ezt a helyi proxyt használja ahelyett, hogy közvetlenül az internetre menne.
  3. A távoli SSH-kiszolgáló elfogadja az SSH-kapcsolatodat, és kimenő proxy_/vpn_-ként fog működni a SOCKS5 kapcsolathoz.

Egy ilyen kapcsolat indításához futtasd a következő parancsot a terminálodban.

ssh -D 1337 -q -C -N felhasznalo@sajat.vpsem.local

Ez a parancs a következőt teszi:

  • -D 1337: SOCKS proxy megnyitása a helyi 1337 porton. Ha ez a port foglalt, próbáljon meg egy másik portszámot. Ha több SOCKS proxyt akar nyitni több végponthoz, válasszon mindegyikhez más portot.
  • -C: az adatok tömörítése az alagútban, sávszélesség megtakarítása.
  • -q: csendes üzemmód, nem ad ki semmi kimenetet helyben
  • -N: ne hajtson végre távoli parancsokat, hasznos a portok továbbításához.
  • felhasznalo@sajat.vpsem.local: a távoli SSH-kiszolgáló, amelyhez hozzáfér.

Ha ezt futtatja, az ssh addig marad az előtérben, amíg a CTRL+C billentyűkombinációval meg nem szünik a kapcsolódás. Ha inkább a háttérben szeretné futtatni, akkor add hozzá a -f parancsot, hogy egy háttérben futó paranccsá alakítsd:

ssh -D 1337 -q -C -N -f felhasznalo@sajat.vpsem.local

Most már van egy SSH alagút a számítógépe és a távoli állomás között, ebben a példában sajat.vpsem.local.

SOCKS proxy használata Chrome böngészőben

Következő lépés: beállítani a böngészőben, hogy használja a proxyt. Chrome esetén a rendszer beállításokban kell ezt beállítani, míg Firefoxnál alkalmazás beállításainál lehet.

A Chrome-ban lépjen a chrome://settings/ képernyőre, és a keresőben keresse meg a Proxy beállításokat.

Erre rákattintva, megnyitja a rendszer proxy beállításait. Itt lehet a SOCKS-proxy résznél megadni a korábban beállított 1337-es portot.

SOCKS proxy használata Firefox böngészőben

Firefox böngésző esetén, lehetőség van a rendszerbeállítások használatára, vagypedig magában a böngészőben is beállíthatjuk a proxy-t. A beállításokat megnyitva, csak keressünk rá a proxy szóra

A Beállítások ablakban, pedig a Kézi lehetőségnél a SOCKS proxy-t állítsuk be.

Titkosított adatforgalom

Ennek a proxy megoldásban van néhány előnye és néhány hátránya. Például a forgalom nagy része titkosítva megy a saját gépünk, és a VPS-ünk, vagy szerverünk között:

Amit a böngésző és a helyi SOCKS proxy között küld, az titkosítva van, ha HTTPS webhelyet látogat meg, és egyszerű szöveg, ha HTTP webhelyet látogat meg.

Amit az SSH-kliens a számítógépe és a távoli kiszolgáló között küld, az mindig titkosított.

Amit a távoli kiszolgáló tesz a kért webhelyhez való csatlakozáshoz, az lehet titkosított (ha HTTPS webhelyről van szó), vagy lehet egyszerű szöveg, sima HTTP esetén.

A SOCKS proxy egyes részei titkosítva vannak, mások nem.

A tűzfal korlátainak megkerülése

Ha valahol korlátozott hozzáféréssel rendelkezik, előfordulhat, hogy nem nyithat SSH-kapcsolatot egy távoli kiszolgálóhoz. Csak egy SSH-kapcsolatot kell létrehoznia, és máris készen áll.

Ezért alternatívaként futtassa az SSH-kiszolgáló portját további portokon, például :80, :443 vagy :53: a webes és DNS-forgalom általában engedélyezett a hálózatokon kívül. A legjobb választás a :443, mivel ez már egy titkosított protokoll, és kisebb az esélye, hogy a deep packet inspection middleware blokkolja a kapcsolatodat, mert nem az elvárt protokollt követi.

A :53 működésének esélye is meglehetősen csekély, mivel a legtöbb DNS UDP-alapú, és a TCP-t csak zónaátvitelnél vagy ritka DNS-es alkalmakkor használják.

SOCKS5 proxy tesztelése

Látogasson el bármelyik “mi az IP-címem” weboldalra, és frissítse az oldalt a SOCKS proxy beállítása előtt és után.

Ha minden rendben ment, az IP-jének a távoli SSH-kiszolgáló IP-jére kell változnia, mivel mostantól ez a kimenő IP a webböngészéshez.

Ha az SSH-alagút leállt, összeomlott vagy még nem indult el, a böngészője kedvesen közli, hogy a SOCKS proxy nem válaszol.