Zpět na seznam článků     Číst komentáře (9)     Verze pro tisk

SSH Tunelovani (zakladni)

Autor: Tecquilka   
17.5.2006

Uvadim letmi pohled na ssh tunelovani ("co to vlastne je") a dva zpusoby. Neuvadim tunelovani Xek, ktere jsem zatim nezkousel ...


Jste paranoidni? Vadi Vam, ze o Vas vas ISP muze kdykoliv z logu vycist vse, co jste delali (ukladani logu je ze zakona nutne zalohovat nekolik let)? Potom pro Vas mam zajimavy zpusob, ktery tento "problem" odstrani. Ukazu Vam, jak vytvorit ssh tunel, ktery sice ISP logovat muze, ale ziskana data jsou mu k nicemu, protoze jsou cryptovana.
Kazdy z Vas ma bezpochyby rad soukormi, a to i pri serfovani na strankach s pornem, ci pri stahovani warezu, nebo treba pri odesilani velmi soukromeho mailu. Duvodu je velmi mnoho. Osobne si myslim, ze clovek na sve soukromi mam pravo do te doby, dokud toho nezneuzije. Pak ma pykat. Nebudu zde ale jiz vice rozebirat me vnimani sveta a rovnou se vrhnu k nastineni: "Jak to asi funguje" a pak budu pokracovat zapisem syntaxi. Vychazim z predpokladu, ze jste jiz cetli muj clanek o aplikovani asymetrickeho sifrovani v ssh.

Takze, jak to asi vsechno funguje. Vsechny data, co odeslete putuji pres napr. lokalni sit (zpusob je zde libovolny, wifi, kabel .. je to jedno) k brane, ktera data zpracuje, zaloguje (pozor, loguji i nektere AP a na pc posilaji jen logy) a vysle je dal do site zvane internet. Ovsem jak zabezpecit data, aby Vam je Vas IPS nemohl cist? Celkem jednoduse, sifrujte. Vse co odeslete sifrujte ... Z tohoto duvodu si vytvarim sifrovany tunel, pres kterou smeruji komunikaci. Ukazi priklad na webove komunikaci. Odeslu data, ktera zasifruji na branu, ktera si je zaloguje a posle je dal na server, kde mam ssh account, zde se data rozsifruji a poslou dale do Internetu na urcene misto. K pouziti pro webovou komunikaci navic potrebuji nejake proxy server (pri pouziti ssh serveru jako proxy, ktera hned posle data dal primo na koncovy webserver, mi nedoslo k odeslani dat, ale jen hlaska k instalaci dodatecneho software). Takto by to asi melo vypadat:
|MOJE_PC| <--> |Brana(loguje)| <--> |SSHAccount| <--> |sock_proxy_v4|
\___________________________________/

Toto plati u obou zpusobu, co uvedu:
1) Mapovani vzdaleneho portu na vzdalenem stroji na nami zvoleny lokalni port:
Mozna to zni silene slozite, ale neni tomu tak. Jednoduse si nastavim ssh tunel tak, ze vse, co poslu na localni pc (127.0.0.1), bude pomoci portu 22 (v defaultu je to 22, muzete menit) posilat na cilove PC s ssh accountem a zde se po zadanem portu posle dal. V materialech, ktere jsem pro nastudovani latky pouzil byl pouzit priklad vyberu posty a nevidim duvod, proc jej nepouzit i ja :D

Syntaxe: ssh -L LocalniPort:CilovePC:VzdalenyPort PCsSSHaccountem

Mam postovni server, ktery ma IP 12.13.14.15 (mail_server.cz), me pc ma 22.22.22.22, server s ssh acountem je 55.55.55.55 (ssh_account.cz). Mailserver ocekava pozadavky, pri pouziti protokolu pop3, dotazy na port 110. Jenze mam zleho spravce, ktery vsechno, co bezi pres 110 filtruje.
Zapis: ssh -L 5000:mail_server.cz:110 ssh_account.cz mi vytvori sluzbu na lokalnim pc, ktera nasloucha na portu 5000 (127.0.0.1:5000), zde prijata data jsou pomoci portu 22 protunelovana na ssh_account.cz a zde jsou po poslana dal na mail_server.cz, avsak na port 110. Cele spojeni je sifrovane. Mohu pomoci tohoto spojeni data odesilat i prijmat.

1b) "Brouzdani po webech":
Zapis je obdobny, jen misto mail_server.cz uvedu nekterou z sock proxy (pouzivam v4. jelikoz nepotrebuje autentizaci). ssh -L 5000:sock_v4.de:1080 ssh_account.cz. Web brovser, stejne jako u predchoziho prikladu mail klient nastavim na port 5000 (ne zaroven :D, stejne porty jsem pouzil jen pro demostraci). Nastavim si proxy v4. na toto: localhost:5000 nebo 127.0.0.1:5000, lisi se jen zapis, ale efekt je stejny.

2) Zpristupneni lokalniho portu na zvoleny port vzdaleny:
Opet strasne slozity zapis, ale vysvetleni banalni, uvedu priklad. Jsem schovany za NATem, takze nemohu provozovat vlastni napr. webovy server tak, aby na nej mohli lide z webu pristupovat. Tedy jde to, ale zde uz je nutnosti prinutit ISP, aby vam namapoval nejaky port (napr. vse co dojde na branu na port 5500 bude poslano tomu a tomu pocitaci v nasi privatni siti). Toto reseni je o dohode. Ja mam jine reseni, mohu vyuzit verejne IP serveru, na kterem mame ssh acount. Zde zvoleny port (napr. 2525) bude namapovan na nas port, ale veskera komunikace je tahnuta pomoci ssh tunelu, ktery je stale otevreny == je mi jedno, ze jsem za NAT a ze nejsem videt z internetu.

Syntaxe: ssh -R VzdalenyPort:LokalniPC:LokalniPort PCsSSHaccountem

Hodnotu LokalniPC nastavujte vzdy na localhost nebo na 127.0.0.1 Zde je konkretni priklad: ssh -R 80:localhost:800 ssh_account.cz. Pomoci tohoto nastaveni vse, co dojde na port 80 (web) u pc oznaceneho ssh_account.cz bude tunelem smerovano az na puj pc, a to na port 800.


To je vse, neni v tom zadna veda, mozna se nekomu tento clanek bude zdat ubohy ... at zda, myslim ze se najde vzdy nekdo, kdo hleda neco kratkeho a vystizneho.Malem jsem se nezminil, na serveru je dulezite mit roota, jelikoz jen on muze forwarding.

Líbil se Vám článek?
Budeme potěšeni, pokud vás zaujme také reklamní nabídka

Social Bookmarking

     





Hodnocení/Hlasovalo: 1/1

1  2  3  4  5    
(známkování jako ve škole)