Erinevus lehekülje "SOCKS proxy kasutamine" redaktsioonide vahel

Allikas: Kuutõrvaja
(Sissejuhatus)
(Tööpõhimõte)
11. rida: 11. rida:
 
===Tööpõhimõte===
 
===Tööpõhimõte===
  
Olgu kasutada sellised komponendid sellistel tingimustel
+
Põhimõtteliselt töötab SOCKS lahenduse kasutamine selliselt
  
* arvutitest SOCKS klient 1 ja 2 ei saa otse internetti
+
* Klientarvutist ei saa otse pöörduda üle avaliku interneti skeemil kujutatud VNC ega HTTPS serverite poole
* tulemüüris töötab SOCKS proxy ja tulemüürist saab internetti pöörduda
+
* tulemüürist saab pöörduda VNC ja HTTPS serverite poole
* huvipakkuv teenus on kujutatud skeemil http serverina
 
  
                  http server
+
                    Klient
 
                       ___
 
                       ___
 
                       |  |
 
                       |  |
26. rida: 25. rida:
 
                       ..
 
                       ..
 
                         |
 
                         |
   SOCKS klient 1       |              SOCKS klient 2
+
                        |
     ___               _|_                ___
+
                      _|_  192.168.102.35       
   |  |--------------|   |--------------|  |
+
                      |   | tulemüür, SOCKS proxy
   |___|             |___|              |___|
+
                      |___|             
    
+
  VNC server 1         |              HTTPS server 2
              tulemüür, SOCKS proxy
+
     ___                 |                 ___
              192.168.1.254:1080/tcp
+
   |  |----------------|----------------|  |
 +
   |___|                                 |___|
 +
 
 +
   10.0.5.25:5901/tcp                            10.0.5.90:443/tcp
 +
 
 +
Kasutaja jaoks on SOCKS proxy kasutamise kogemus sarnane HTTP proxy kasutamisega, kuid SOCKS proxy kasutamisel lisandub asjaolu, et proxy töötab igasuguste protokollidega, st lisaks HTTPle nt SMTP, VNC jt. SOCKS klient ja SOCKS server suhtlevad omavahel kasutades SOCKS protokolli. Selleks, et klient saaks VNC ja HTTPS teenustele ligi pääseda, peab ta kasutama SOCKS tarkvara, näidates klientprogrammides ära SOCKS proxy aadressi ning autentides ennast sellele proxile.
 +
 
 +
Käesolevas tekstis käsitletakse juhtumit, kus SOCKS proxy serverina ei kasutata spetsiaalselt SOCKS serveri tarkvara, vaid nö tavalise OpenSSH võimalusi. Olgu eesmärgiks pääseda ligi avalikus võrgus töötavast töökohaarvutist tulemüüri taga olevas võrgusegmendis töötavatele VNC ja HTTPS teenustele.
  
Kasutaja jaoks on SOCKS proxy kasutamise kogemus sarnane HTTP proxy kasutamisega, kuid SOCKS proxy kasutamisel lisandub asjaolu, et proxy töötab igasuguste protokollidega, st lisaks HTTPle nt SMTP, DNS jt. SOCKS klient ja SOCKS server suhtlevad omavahel kasutades SOCKS protokolli.
 
  
 
SOCKS vahendajat saab kasutada kahel viisil
 
SOCKS vahendajat saab kasutada kahel viisil
40. rida: 45. rida:
 
* SOCKS toega rakendus - rakenduse, mida kasutaja kasutab sisaldab SOCKS protokolli tuge, nt Iceweasel brauser
 
* SOCKS toega rakendus - rakenduse, mida kasutaja kasutab sisaldab SOCKS protokolli tuge, nt Iceweasel brauser
 
* SOCKS teekide laadimine - kasutaja kasutab oma arvutid spetsiaalseid SOCKS teeke, nt pakett tsocks, mis võetakse kasutusele shellis nt LD_PRELOAD tee näitamisega; sisuliselt sellisest shellist seejärel käivitatud programmide jaoks asendatakse operatsioonisüsteemi võrku puudutavad call'id soksifitseeritud samaväärsete call'idega ja tulemusena kasutab nii käivitatud rakendus SOCKS serverit
 
* SOCKS teekide laadimine - kasutaja kasutab oma arvutid spetsiaalseid SOCKS teeke, nt pakett tsocks, mis võetakse kasutusele shellis nt LD_PRELOAD tee näitamisega; sisuliselt sellisest shellist seejärel käivitatud programmide jaoks asendatakse operatsioonisüsteemi võrku puudutavad call'id soksifitseeritud samaväärsete call'idega ja tulemusena kasutab nii käivitatud rakendus SOCKS serverit
 
Käesolevas tekstis käsitletakse juhtumit, kus SOCKS proxy serverina kasutatakse OpenSSH võimalusi.
 
  
 
===OpenSSH SOCKS proxy käivitamine===
 
===OpenSSH SOCKS proxy käivitamine===

Redaktsioon: 30. august 2009, kell 15:09

Sissejuhatus

SOCKS on nö üldotstarbeline vahendamise (ingl. k. proxy) protokoll, mis võimaldab klientarvutist kasutada mitmeid olulisemaid võrguteenuseid, üldiselt üle TCP, kuid teatud juhtumitel ka UDP protokolli kasutavaid teenuseid, nt nimeteenus. SOCKS protokolli on implementeeritud nii iseseisvate klient-server rakendustena kui muu tarkvara koosseisus. Käesolev tekst keskendub sellistele komponentidele

  • SOCKS server on realiseeritud OpenSSH vahenditega (v. 4 ja 5)
  • SOCKS klient sisaldab otseselt SOCKS tuge (nt Iceweasel)
  • klientprogrammi jaoks asendatakse osa võrku puudutavaid syscall'isid LD_PRELOAD keskkonnamuutujaga laaditud tsocks (transparent socks) teegi abil vastavate SOCKS funktsioonidega, põhimõtteliselt saab seejärel kasutada programme tavalisel moel (nt telnet, ssh, vnc), kuid peab arvestama, et UDP protokolli kasutavad nimelahendused ei toimu üle SOCKS kanali

Tehtud valikut põhjandab asjaolu, et ehk SOCKS ei sobi lausa nö korporatiivse vahendustegevuse jaoks, samas nö ad-hoc ehk kiirkorras tehtud piisavalt üldotstarbelis proxymise jaoks, mis eeldab serveri poolelt ainult OpenSSH olemasolu on lahendus äärmiselt praktiline kasutada. Nt kiireks kaugligipääsu korraldamiseks mingitele haldusliidestele, kui on nö selleks ettenähtud ühenduskanalid riknenud.

Tööpõhimõte

Põhimõtteliselt töötab SOCKS lahenduse kasutamine selliselt

  • Klientarvutist ei saa otse pöörduda üle avaliku interneti skeemil kujutatud VNC ega HTTPS serverite poole
  • tulemüürist saab pöörduda VNC ja HTTPS serverite poole
                    Klient
                      ___
                     |   |
                     |___|
                       |
                       ..
                   internet
                      ..
                       |
                       |
                      _|_  192.168.102.35        
                     |   | tulemüür, SOCKS proxy
                     |___|              
 VNC server 1          |               HTTPS server 2
   ___                 |                 ___
  |   |----------------|----------------|   |
  |___|                                 |___|
 10.0.5.25:5901/tcp                             10.0.5.90:443/tcp

Kasutaja jaoks on SOCKS proxy kasutamise kogemus sarnane HTTP proxy kasutamisega, kuid SOCKS proxy kasutamisel lisandub asjaolu, et proxy töötab igasuguste protokollidega, st lisaks HTTPle nt SMTP, VNC jt. SOCKS klient ja SOCKS server suhtlevad omavahel kasutades SOCKS protokolli. Selleks, et klient saaks VNC ja HTTPS teenustele ligi pääseda, peab ta kasutama SOCKS tarkvara, näidates klientprogrammides ära SOCKS proxy aadressi ning autentides ennast sellele proxile.

Käesolevas tekstis käsitletakse juhtumit, kus SOCKS proxy serverina ei kasutata spetsiaalselt SOCKS serveri tarkvara, vaid nö tavalise OpenSSH võimalusi. Olgu eesmärgiks pääseda ligi avalikus võrgus töötavast töökohaarvutist tulemüüri taga olevas võrgusegmendis töötavatele VNC ja HTTPS teenustele.


SOCKS vahendajat saab kasutada kahel viisil

  • SOCKS toega rakendus - rakenduse, mida kasutaja kasutab sisaldab SOCKS protokolli tuge, nt Iceweasel brauser
  • SOCKS teekide laadimine - kasutaja kasutab oma arvutid spetsiaalseid SOCKS teeke, nt pakett tsocks, mis võetakse kasutusele shellis nt LD_PRELOAD tee näitamisega; sisuliselt sellisest shellist seejärel käivitatud programmide jaoks asendatakse operatsioonisüsteemi võrku puudutavad call'id soksifitseeritud samaväärsete call'idega ja tulemusena kasutab nii käivitatud rakendus SOCKS serverit

OpenSSH SOCKS proxy käivitamine

 $ ssh -D 1080 eemal.loomaaed.tartu.ee

SOCKS-võimelise klientprogrammi kasutamine

SOCKS tuge sisaldavad mitmed erinevaid protokolle kasutavad kliendid, nt veebibrauserid. Nt Iceweasel brauseris toimub SOCKS serveri kirjeldamine valides

 Edit -> Properties -> Advanced -> Network -> Settings

ning täites lahtrid nt selliselt

Socks-1.gif

Eeldusel, et eelmises punktis esitatud ssh ühendus on loodud, saab kasutada brauserit, ning teenuste jaoks kuhu pöördutakse, paistavad pöördumised aadressilt eemal.loomaaed.tartu.ee.

tsocks teekide kasutamine

Tarkvara paigaldamiseks tuleb öelda

 # apt-get install tsocks

tsocks teekide kasutamist kontrollib seadistusfail /etc/tsocks.conf, nt sisuga

 local = 192.168.0.0/255.255.0.0
 local = 10.0.0.0/255.0.0.0
 
 path {
         reaches = 193.40.0.0/255.255.0.0
         server = 127.0.0.1
         server_port = 1080
         server_type = 5
 }

mis ütleb, et

  • local - 192.168/16 ja 10/8 võrkude kasutamine toimub ilma SOCKSita, st tavaliselt
  • path - kirjeldab komplekti, mis määrab, et 193.40/16 võrgu kasutamine toimub üle 127.0.0.1:1080 pordi, kus töötab versioon 5 SOCKS proxy

Kasutamiseks eeldame et üle-eelmises punktis esitatud moel on ssh ühendus loodud ning sobib öelda nt

 $ tsocks wget http://kuutorvaja.eenet.ee/ -O - | less

kus tsocks on iseenesest keskkonnamuutujatega tegelev skript, veendumiseks sobib sisse vaadata või küsida

 $ file /usr/bin/tsocks
 /usr/bin/tsocks: POSIX shell script text executable

Kasulikud lisamaterjalid