Amikor az internetes lábnyomod biztosításáról van szó, talán hallottál már a VPN-ekről, ugye? A VPN közvetítőként működik a számítógéped és az internet között. A teljes forgalom áthalad a VPN-szerveren, hatékonyan elfedve az IP-címedet és a tartózkodási helyedet.
Azonban a VPN nem az egyetlen formája a proxyszervernek. A SOCKS (Socket Secure) egy hasonló hálózati protokoll, amely lehetővé teszi a szerverekkel való kommunikációt egy tűzfalon keresztül azáltal, hogy a hálózati forgalmat az ügyfél nevében irányítja. A VPN-hez képest a SOCKS nagyobb rugalmasságot és ellenőrzést biztosít a hálózati konfiguráció felett. Akkor hasznos, ha nem tudja telepíteni a VPN-klienst, vagy nem bízik a VPN-szolgáltatóban.
Ez az útmutató bemutatja, hogyan hozhat létre egy SSH SOCKS 5 proxy alagutat, és hogyan irányíthatja át az internetes forgalmát az alagúton keresztül.
Előfeltételek
A bemutatóhoz egy Ubuntu desktopot futtató helyi gépet és egy Ubuntu szervert futtató távoli gépet használtunk. Szüksége van a SSH konfigurálva mielőtt zökkenőmentesen működne. Mivel SOCKS proxyt használunk, a kapcsolat teszteléséhez egy olyan alkalmazásra van szükségünk, amely képes használni azt. Firefox egy tökéletes példa. Ez egy modern webböngésző, amely támogatja a SOCKS 5 proxyalagutat.
Ha Windows-t használ, akkor vagy a WSL (Windows Subsystem for Linux) -t használja egy helyi Linux környezet beállításához, vagy a PuTTY, egy nyílt forráskódú alkalmazást, amely képes különféle hálózati protokollok, például a Telnet, rlogin stb. megvalósítására.
A SOCKS-alagút konfigurálása
-
A SOCKS-alagút beállítása (macOS/Linux)
A helyi számítógépen be kell állítanunk egy SSH-kulcsot a biztonságos kapcsolat biztosítása érdekében. Az SSH-kulcsot a távoli rendszeren is regisztrálni kell. Ez a(z) SSH-kulcs alapú hitelesítés konfigurálásáról szóló útmutató részletesen bemutatja a folyamatot.
A következő SSH-parancs egy SOCKS-alagutat hoz létre a távoli szerverhez:
|
1 |
ssh -i ~/.ssh/id_rsa -D 2000 -f -C -q -N <remote_username>@<remote_server> |

Bontsuk le a parancsot:
-
-i: Megmondja az SSH-nak, hogy melyik SSH-kulcsot használja a kapcsolathoz.
-
-D: Azt jelzi az SSH-nak, hogy egy SOCKS alagutat szeretnénk kiépíteni. Ami a portot illeti, a(z) 1024 számú portot használjuk. Ez nem egy fix érték. Bármilyen portot választhat 1024 és 65536.
-
-f: Az SSH folyamat a háttérben fog futni.
-
-C: Az SSH tömöríti az adatokat, mielőtt elküldené a távoli szerverre. Ez csökkenti az adatfogyasztást és növeli a hatékony sávszélességet.
-
-q: Az eszköz csendes módban történő futtatása.
-
-N: Azt jelzi az SSH-nak, hogy az alagút kiépítése után nem küld parancsot.
A futtatás után ellenőrizhetjük, hogy a folyamat megfelelően elindult-e. A következő parancs információkat jelenít meg az összes futó SSH folyamatról:
|
1 |
ps aux | grep ssh |

Most már biztonságosan bezárhatja a terminálablakot. Az SSH folyamat a háttérben a tervezett módon fog működni.
-
SOCKS alagút beállítása (Windows)
A Windows-felhasználók számára a PuTTY használata egyszerűbb megoldás. Először is le kell töltenie a PuTTY-t:

A telepítés után indítsa el a PuTTY-t:

A bal oldali panelen lévő Session lapon adja meg a szervere Host Name (or IP address) mezőjét. A Connection type résznél válassza az SSH lehetőséget. Ezután lépjen a Connection >> SSH >> Tunnels menüpontra. Itt a Destination mezőben válassza ki a képernyőképen látható opciókat:

Ezután kattintson az Open gombra. Egy terminálablak fog felugrani, hogy SSH-n keresztül csatlakozzon a távoli szerverhez. Jelentkezzen be a távoli szerverre:

A SOCKS-alagút megvalósítása
Az alagút most már be van állítva. Bármely SOCKS-ot támogató alkalmazás használhatja az alagutat. Bemutatóként a Firefox egy kiváló példa.
Először nyissa meg a Firefoxot. A jobb felső sarokban kattintson a menü ikonra. Lépjen a Beállítások:

Ezután keressen rá a proxy szóra. Kattintson a Beállítások gombra a Annak beállítása, hogyan kapcsolódjon a Firefox az internethez:

Ezután válassza ki a Kézi proxybeállítás lehetőséget. A SOCKS-kiszolgáló, használja a localhost vagy 127.0.0.1. Ezután a porthoz adja meg azt a portot, amelyet a SOCKS-alagútnak szenteltünk. Ne felejtse el kijelölni a(z) SOCKS_v5:

Végül jelölje be a(z) DNS proxyzása SOCKS_v5 használatakor. Kattintson az OK gombra a folytatáshoz.
Ezután nyisson meg egy új lapot, és próbáljon megnyitni egy tetszőleges weboldalt. Például ellenőrizheti az IP-címét a CheckMyIP.
A proxy visszaállítása
Ha már nincs szüksége a proxykapcsolatra az SSH-alagúthoz, biztonságosan letilthatja azt a Firefox proxybeállításaiban:

Az ablakban válassza a Rendszer proxybeállításainak használata lehetőséget, majd kattintson az OK gombra.
A SOCKS-alagút bezárása
-
Az alagút bezárása macOS/Linux rendszeren
Az alagút bezárásához manuálisan le kell állítanunk az SSH-folyamatot. Szükségünk van az SSH-folyamat PID-jére (folyamatazonosítójára). A következő parancs megmutatja az összes futó SSH-folyamat PID-jét:
|
1 |
ps aux | grep ssh |
Keresse meg az alagút létrehozására szolgáló paranccsal futó SSH-folyamatot. Állítsa le a folyamatot:
|
1 |
kill <tunnel_ssh_pid> |
Ha nincs opció megadva, a kill parancs egy általános SIGTERM jelet küld a célfolyamatnak. További információt tudhat meg a Linux folyamatkezelésről ebből az útmutatóból.
-
Az alagút bezárása Windows rendszeren
A PuTTY ablak bezárásának be kell zárnia az alagút-kapcsolatot.
Hibaelhárítás
Íme néhány gyakori probléma, amellyel találkozhat, amikor a SOCKS protokollt próbálja használni a forgalom irányítására.
-
Tűzfal
Ha tűzfalkorlátozás miatt nem tud kapcsolatot létesíteni, akkor valószínű, hogy a tűzfal úgy van konfigurálva, hogy blokkolja a csatlakozást a(z) 22. Ez az az alapértelmezett port, amelyet az SSH használ a távoli rendszerekhez való csatlakozáshoz. Néhány port alapértelmezés szerint nyitva marad, például a(z) 80 (általános webes forgalom) és a(z) 443 (TLS, biztonságos webes forgalom).
Ha az SSH-szerver nem szolgáltat webes tartalmat, akkor használhatjuk az alapértelmezett portok egyikét ( 80 vagy 443 ) a(z) port helyett22. Ajánlott a(z) portot használni,443 mivel alapértelmezés szerint titkosított forgalmat vár. A kimenő forgalmat is titkosítani fogja. A módosításhoz meg kell változtatnunk az SSH konfigurációs fájlt. Nyissa meg a fájlt egy szövegszerkesztőben:
|
1 |
sudo nano /etc/ssh/sshd_config |
Az SSH több portot is használhat a céljaira. Görgessen le a konfigurációs fájlban, és keresse meg a port szekciót:

Miután elvégezte a módosításokat, mentse el a fájlt, és zárja be a szerkesztőt. A módosítás alkalmazásához indítsa újra az SSH-szolgáltatást:
|
1 |
sudo service ssh restart |
Annak ellenőrzéséhez, hogy az új port működik-e, próbáljon meg csatlakozni a távoli szerverhez az új port használatával:
|
1 |
ssh <remote_username>@<remote_server> -p 443 |
Ha a kapcsolat sikeres volt, biztonságosan használhatjuk a(z) 443 portot az SSH-alagút létrehozásához. Íme a módosított parancs a SOCKS-alagút kiépítéséhez:
|
1 |
ssh -i ~/.ssh/id_rsa -D 2000 -f -C -q -N <remote_username>@<remote_server> -p 443 |
Itt a kapcsoló-p arra utasítja az SSH-t, hogy a portot használja443.
Záró gondolatok
Napjainkban a magánélet védelme és a biztonság a legnagyobb aggodalmak közé tartozik. Számos módja van a biztonságos böngészésnek, ha ellenséges hálózaton tartózkodik. A legtöbb esetben a VPN használata megfelelő biztonságot nyújt a hálózati forgalom számára. Másrészt egy SOCKS-alagút biztosítja a szükséges biztonságot, ha nem tud bízni vagy nem bízik a VPN-ben. A SOCKS-alagút használata emellett teljes ellenőrzést biztosít a beállítások felett.
Kellemes számítógépezést!
Hozzászólások
Még nincsenek hozzászólások. Legyen Ön az első.