Natrag na blog

Usmjeravanje web prometa bez VPN-a pomoću SOCKS tunela

Usmjeravanje web prometa bez VPN-a pomoću SOCKS tunela

Kada je riječ o osiguravanju vašeg otiska na webu, možda ste čuli za VPN-ove, zar ne? VPN djeluje kao posrednik između vašeg računala i interneta. Sav promet prolazi kroz VPN poslužitelj, učinkovito maskirajući vašu IP adresu i lokaciju.

Međutim, VPN nije jedini oblik proxy poslužitelja. SOCKS (Socket Secure) je sličan mrežni protokol koji omogućuje komunikaciju s poslužiteljima kroz vatrozid usmjeravanjem mrežnog prometa u ime klijenta. U usporedbi s VPN-om, SOCKS nudi više fleksibilnosti i kontrole nad mrežnom konfiguracijom. Koristan je kada ne možete instalirati VPN klijent ili ne vjerujete pružatelju VPN usluga.

Ovaj vodič će prikazati kako uspostaviti SSH SOCKS 5 proxy tunel i usmjeriti vaš web promet kroz tunel.

Preduvjeti

Za demonstraciju smo koristili lokalno računalo s Ubuntu desktopom i udaljeno računalo s Ubuntu poslužiteljem. Morate imati konfiguriran SSH prije nego što sve proradi glatko. Budući da koristimo SOCKS proxy, za testiranje veze potrebna nam je aplikacija koja ga može koristiti. Firefox je savršen primjer. To je moderan web preglednik koji podržava SOCKS 5 proxy tunel.

Ako ste na Windowsima, tada ili koristite WSL (Windows Subsystem for Linux) za postavljanje lokalnog Linux okruženja ili koristite PuTTY, aplikaciju otvorenog koda koja može implementirati različite mrežne protokole poput Telneta, rlogina itd.

Konfiguriranje SOCKS tunela

  • Postavljanje SOCKS tunela (macOS/Linux)

Na lokalnom računalu moramo konfigurirati SSH ključ kako bismo osigurali sigurnu vezu. SSH ključ također mora biti registriran na udaljenom sustavu. Ovaj vodič o konfiguriranju autentifikacije temeljene na SSH ključu detaljno prikazuje postupak.

Sljedeća SSH naredba uspostavit će SOCKS tunel do udaljenog poslužitelja:

Rastavimo naredbu:

  • -i: Govori SSH-u koji SSH ključ koristiti za vezu.

  • -D: Govori SSH-u da želimo uspostaviti SOCKS tunel. Što se tiče porta, koristimo port 1024. To nije fiksna vrijednost. Možete odabrati bilo koji port između 1024 i 65536.

  • -f: SSH proces će se pokrenuti u pozadini.

  • -C: SSH će komprimirati podatke prije slanja na udaljeni poslužitelj. To može smanjiti potrošnju podataka i povećati efektivnu propusnost.

  • -q: Pokrenite alat u tihom načinu rada.

  • -N: Govori SSH-u da se nakon uspostavljanja tunela neće slati nikakva naredba.

Nakon pokretanja možemo provjeriti je li proces ispravno započeo. Sljedeća naredba ispisat će informacije o svim pokrenutim SSH procesima:

Routing grep ssh

Sada možete sigurno zatvoriti prozor terminala. SSH proces će raditi kako je predviđeno u pozadini.

  • Postavljanje SOCKS tunela (Windows)

Za korisnike Windowsa, korištenje PuTTY-ja je lakše rješenje. Prvo morate preuzeti PuTTY:

Routing download putty

Nakon instalacije pokrenite PuTTY:

Routing putty screen1

Na kartici Session na lijevoj ploči, unesite Host Name (or IP address) vašeg poslužitelja. Što se tiče Connection type, odaberite SSH. Zatim idite na Connection >> SSH >> Tunnels. Ovdje, pod poljem Destination, odaberite opcije prikazane na snimci zaslona:

Routing putty screen2

Zatim kliknite Open. Pojavit će se prozor terminala za povezivanje s udaljenim poslužiteljem putem SSH-a. Prijavite se na udaljeni poslužitelj:

Routing putty screen 3

Implementacija SOCKS tunela

Tunel je sada postavljen. Svaka aplikacija koja podržava SOCKS može koristiti tunel. Za demonstraciju, Firefox je izvrstan primjer.

Prvo otvorite Firefox. U gornjem desnom kutu kliknite ikonu izbornika. Idite na Settings:

ubuntu screen1

Zatim pretražite proxyKliknite Postavke u odjeljku Configure how Firefox connects to the internet:

firefox preferences

Nakon toga odaberite Manual proxy configuration. Što se tiče SOCKS Host, koristite localhost ili 127.0.0.1. Zatim za port unesite port koji smo namijenili za SOCKS tunel. Ne zaboravite odabrati SOCKS_v5:

firefox proxy conf

Na kraju označite opciju Proxy DNS pri korištenju SOCKS_v5. Kliknite U redu za nastavak.

Zatim otvorite novu karticu i pokušajte pristupiti bilo kojoj web stranici. Na primjer, možete provjeriti svoju IP adresu na CheckMyIP.

Poništavanje proxyja

Kada vam više ne treba proxy veza s SSH tunelom, možete je sigurno onemogućiti u postavkama proxyja za Firefox:

Routing firefox reverting proxy conf

U prozoru odaberite Koristi postavke proxyja sustava i kliknite U redu.

Zatvaranje SOCKS tunela

  • Zatvaranje tunela na macOS/Linuxu

Da bismo zatvorili tunel, moramo ručno prekinuti SSH proces. Potreban nam je PID (ID procesa) SSH procesa. Sljedeća naredba otkrit će PID-ove svih pokrenutih SSH procesa:

Uočite SSH proces koji se izvodi s naredbom za stvaranje tunela. Prekinite proces:

Ako nije definirana nijedna opcija, naredba kill poslat će općeniti SIGTERM signal ciljanom procesu. Više o upravljanju procesima u Linuxu možete saznati iz ovog vodiča.

  • Zatvaranje tunela na Windowsima

Zatvaranjem prozora PuTTY trebala bi se zatvoriti i veza tunela.

Rješavanje problema

Evo nekoliko uobičajenih problema s kojima se možete susresti kada pokušavate koristiti SOCKS za usmjeravanje prometa.

  • Vatrozid

Ako ne možete uspostaviti vezu zbog ograničenja vatrozida, vjerojatno je vatrozid konfiguriran da blokira vezu s portom 22. To je zadani port koji SSH koristi za povezivanje s udaljenim sustavima. Neki portovi ostaju otvoreni prema zadanim postavkama, na primjer, port 80 (opći web promet) i port 443 (TLS, sigurni web promet).

Ako SSH poslužitelj ne poslužuje web sadržaj, možemo koristiti jedan od zadanih portova ( 80 ili 443 ) umjesto porta 22. Preporučuje se korištenje porta 443 jer on prema zadanim postavkama očekuje šifrirani promet. Također će šifrirati odlazni promet. Da bismo unijeli promjenu, moramo izmijeniti konfiguracijsku datoteku SSH-a. Otvorite datoteku u uređivaču teksta:

SSH može koristiti više portova za svoju svrhu. Pomaknite se prema dolje u konfiguracijskoj datoteci i pronađite odjeljak s portovima:

Routing sshd config

Nakon što unesete promjene, spremite datoteku i zatvorite uređivač. Ponovno pokrenite SSH uslugu kako biste primijenili promjenu:

Da biste provjerili radi li novi port, pokušajte se povezati s udaljenim poslužiteljem pomoću novog porta:

Ako je povezivanje bilo uspješno, možemo sigurno koristiti port 443 za SSH tuneliranje. Evo izmijenjene naredbe za uspostavljanje SOCKS tunela:

Ovdje zastavica -p govori SSH-u da koristi port 443.

Završne misli

U današnje vrijeme privatnost i sigurnost jedne su od najvećih briga. Postoji mnogo načina za sigurno pregledavanje kada se nalazite na neprijateljskoj mreži. U većini slučajeva korištenje VPN-a pružit će dovoljnu sigurnost vašem mrežnom prometu. S druge strane, SOCKS tunel pružit će vam potrebnu sigurnost ako ne možete ili ne vjerujete VPN-u. Posjedovanje SOCKS tunela također vam daje potpunu kontrolu nad postavljanjem.

Sretno računanje!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.