PROXY-PALVELIMET

16.4.1999

Tommi Liimatainen

Puunjalostustekniikan osasto

Teknillinen Korkeakoulu

Tommi.Liimatainen@hut.fi

 

Tiivistelmä

 

Proxy-palvelimet ovat tulleet jäädäkseen helpottamaan suurien lähiverkkojen ulospäin internetiin suuntautuvan liikenteen ruuhkaa. Proxy-palvelimen toimintaperiaatteena on toimia välimuistina "ulkomaailman" ja lähiverkon välillä. Normaalisti www-selain hakee halutun dokumentin aina suoraan käytettävältä palvelimelta. Mikäli proxy on käytössä, hakee proxy-palvelin jokaisen halutun dokumentin ja tallettaa sen muistiinsa ennalta määritellyksi ajaksi. Mikäli joku toinen samaa proxya käyttävä haluaa hakea saman dokumentin määritellyn ajan kuluessa saa www-selainohjelma dokumentin suoraan proxy-palvelimen muistista eikä dokumentin tarjoavalta palvelimelta. Näin on mahdollista säästää erityisesti ulkomaille suuntautuvan verkko-liikennöinnin kuluissa sekä useissa tapauksissa nopeuttaa hitaiden yhteyksien päästä haettavien suosittujen dokumenttien latautumista. Proxyn avulla voidaan myös sulkea pois osoitteita siten, että erikseen määritettyihin  internet-osoitteisiin ei lähiverkon sisältä ole pääsyä.

=============================================================================================================

 

1. Johdanto

 

Proxy-palvelimen avulla on mahdollista vähentää verkkoliikennettä ulos lähiverkosta ja siten pienentää tietoliikennekustannuksia, lisätä dokumenttien saatavuutta ja käytettävyyttä sekä parantaa oman verkon turvallisuutta [3]. Normaalisti WWW-selain (esimerkiksi Netscape Navigator, Microsoft Internet Explorer) hakee näytölle tulevat dokumentit suoraan käytettävältä palvelimelta. Proxy toimii verkon palvelujen välimuistina tai yhdyskäytävänä yrityksen oman lähiverkon ja Internetin välillä. Proxyn yhteydessä toimivan välimuistin, cachen, tehtävänä on tallettaa verkosta haettu dokumentti paikallisesti määritellyksi ajaksi. Jos sama dokumentti halutaan ladata uudestaan määritellyn ajan kuluessa on se kätevästi saatavilla paikallisesta välimuistista, eikä sitä siis tarvitse uudestaan hakea verkon yli. Samalla välimuistiin talletettu dokumentti on myös muiden samaa proxy:ä käyttävien saatavissa, joten jos joku muu haluaa ladata omalle koneelleen saman dokumentin, on se nopeasti saatavissa välimuistista. Tämä helpottaa erityisesti suosittujen dokumenttien saatavuutta, koska dokumentin hakuaika lyhenee useissa tapauksissa huomattavasti (vrt. ftp-listat, tiedostot yms). Lisäksi on mahdollista asettaa proxy-palvelin hakemaan automaattisesti tiettyjä suosituimpia dokumentteja ja tiedostoja internetistä esimerkiksi yöaikaan, jolloin työntekijöiden työaikaa säästyy toimistoaikaan. Proxy-palvelimen avulla on myös mahdollista kieltää esim. lähiverkon ulkopuolelta tulevien ActiveX- ja Java-komponenttien lataaminen.

 

2. Proxy-palvelin

 

Esimerkkinä käytettävän Microsoft proxy-palvelimen ominaisuuksia tarkasteltaessa huomataan, että proxy:llä on monia erilaisia tehtäviä. Johdannossa esiteltyjen mahdollisuuksien lisäksi Proxy-palvelinta voidaan käyttää  sulkemaan lähiverkosta yhteydet joihinkin tiettyihin ennalta määriteltyihin osoitteisiin. Tämä on mahdollista juuri siitä edellä mainitusta syystä, että kaikki lähiverkosta ulospäin lähtevä liikenne on pakotettu kulkemaan proxy-palvelimen läpi. Microsoft proxy-palvelin tukee muun muassa seuraavia internetin protokollia ja Windows:in socket-tyyppisiä sovelluksia, kuten: HTTP, HTTP-S, FTP, Telnet, Gopher, IRC, RealAudio, VDOLive, POP3, SMTP, NNTP [4].

 

2.1 Microsoft proxy-palvelin

 

Microsoft proxy-palvelin 2.0 tukee vastaanotettujen ja lähetettyjen pakettien suodattamista. Toisin kuin muut paketteja suodattavat palomuurit, proxy-palvelin päättää älykkäästi ja dynaamisesti, mitkä paketit voidaan päästää suojattuun verkkoon. Ylläpito saa välittömästi varoituksen, jos verkon tietoturva on uhattuna [2]. Microsoft Proxy Server 2.0 tukee useita hälytyskynnysvaihtoehtoja ja muuttujia, mikä mahdollistaa suojauksen joustavan määrittämisen [2].

Dokumenttien julkaisu webissä on mahdollista vaarantamatta tietoturvaa, määrittämällä web-palvelin käyttämään proxy-palvelinta. Proxy-palvelin näyttää ulospäin web-palvelimelta, ja varsinainen web-palvelin voi edelleen käyttää verkon sisäisiä palveluja. Käänteisen proxy-palvelimen laajennus mahdollistaa sen, että useat Microsoft proxy-palvelimen suojassa olevat web-palvelimet voivat julkaista Internetiin [2]. Näiltä Web-palvelimilta voidaan julkaista täysin toisistaan riippumattomasti tai ne voidaan näyttää hakemistoina yhdessa suuressa virtuaalisessa web-palvelimessa.

Sovelluspalvelimet voidaan suojata määrittämällä ne käyttämään Microsoft Proxy-palvelinta. Näin on mahdollista suojata esimerkiksi Microsoft Exchange Server -palvelin [2].

Microsoft Proxy-palvelin 2.0:n tehokas suorituskyky mahdollistaa aktiivisen Internet-yhteyden kautta tulevien ja lähtevien pyyntöjen toteuttamisen [2]. Microsoft Proxy-palvelimen avulla voidaan käyttää välimuistia yksittäisten proxy-palvelinten tai taulukoiden muodostaman hierarkisen yhteyden kautta [2]. Tämä mahdollistaa jaetun käyttöönoton eri haarakonttoreissa ja osastoissa. Microsoft Proxy-palvelimen taulukoiden avulla on mahdollista jakaa välimuistin käyttäminen useille välityspalvelimille, joita voidaan käyttää ja hallita yhtenä loogisena yksikkönä [2]. Taulukoiden avulla voi tasata kuormitusta, parantaa viansietokykyä ja skaalattavuutta sekä helpottaa hallintoa.

Microsoft Proxy-palvelinta voi hallita paikallisesti tai etäyhteyden välityksellä web-selaimen avulla. Tämä tekee hallinnasta entistä joustavampaa ja helpompaa. On myös mahdollista määrittää Microsoft Proxy Server -palvelin toimimaan SOCKS-palvelimena tai ylemmällä tasolla olevan SOCKS-palvelimen SOCKS-asiakkaana [2]. Tämä helpottaa Macintoshille, Unixille tai muille asiakas-PC:ille suunnattujen Internet-palveluiden käyttämistä.

 

3. Proxy-palvelimen etuja


Proxyn käytöstä on etua kaikille käyttäjille. Yksittäinen käyttäjä saa usein luetut sivut, ftp-arkistojen sisällysluettelot, tiedostot jne. nopeasti omalle koneelleen. Jos haettuja tiedostoja ei löydy cachesta, ne siirtyvät yhtä nopeasti (tai hitaasti) kuin  proxyä ei olisi käytössä ollenkaan. Kaikille käyttäjille tulee hyötyä ensisijaisesti siitä että verkon kuormitus vähenee ja näin verkko nopeutuu entisestään. Lisäksi,  proxyä käytettäessä, yksittäisen käyttäjän lukemat WWW-sivut ja ftp:llä hakemat tiedostot tallentuvat välimuistiin ja seuraava samoja sivuja lukeva saa ne itselleen nopeasti.

Proxyn käyttäminen näyttää miltei samalta kuin ennen proxyn asettamista. Joitain eroja on:
Lukuohjelma ilmoittaa miltei välittömästi "host contacted". Tämä tarkoittaa että se sai yhteyden proxyyn, mutta ei välttämättä vielä varsinaiseen palvelimeen. Tämän jälkeen saattaa seurata lyhyt tauko jolloin ei näytä tapahtuvan mitään (silloin kuitenkin tapahtuu paljonkin - proxy on juuri ottamassa yhteyttä palvelimeen ja tarkistamassa että sen välimuistissa olevat dokumentit ovat ajan tasalla). Hetken kuluttua tuon jälkeen alkaa tiedonsiirto (tai käyttäjä saa virheilmoituksen, jos tietoa ei voida hakea).  Käyttäjä saa proxyn käyttöön siirtymisen mukana uudenlaisia virheilmoituksia. Jos käyttäjän haluamaan palvelimeen ei saada yhteyttä tai  osoite on kirjoitettu väärin, ei virheilmoitus tule enään lukuohjelmalta vaan virheen antaa proxy-palvelin.

 

4. Proxy-palvelimen haittoja

 

Joissakin tapauksissa on mahdollista, että proxy-palvelin antaa muististaan aiemmin tallennetun sivun, vaikka verkossa olisi saatavilla tuoreempikin versio samasta sivusta. Näin voi käydä esimerkiksi tuoreita uutisia sisältävien sivujen kanssa. Useimmissa www-selain ohjelmissa olevan Reload-painikkeen avulla on mahdollista varmistaa, että saa näytölleen aina uusimman mahdollisen version ladattavasta www-sivusta.

Mikäli kaikki lähiverkosta ulospäin suuntautuva liikenne on "pakotettu" kulkemaan proxy-palvelimen kautta saattaa proxy-palvelimen kaatuminen aiheuttaa lähiverkon ulkoliikenteen katkeamisen. Tämä on ongelmallista erityisesti sen kaltaisissa tilanteissa, joissa lähiverkon käyttäjämäärä on suuri. Käyttäjillä ei ole mahdollisuuksia kiertää kaatunutta palvelinta, jolloin kaikki käyttäjät ovat ilman pääsyä internetiin. Proxy-palvelimen avulla on myös mahdollista estää eräiden internetin palveluiden käyttö (erilaiset keskusteluohjelmat, internetphone jne...), joka ei useinkaan ole kaikkien käyttäjien mieleen.

 

5. Proxy -tekniikat ja palomuurit

 

Nykyaikana on mahdollista perustaa palomuuriratkaisut pakettien suodattamiseen, proxy-tekniikoihin tai molempiin. Proxyteknologiaa on tänä päivänä käytössä runsaasti, mutta sen tulevaisuudesta on olemassa kahdenlaisia käsityksiä. Eräät tahot uskovat, että palomuurien tarpeellisuus katoaa IPv6:n tulon yhteydessä.

Proxyt voidaan käytännössä jakaa kahteen eri luokkaan: klassisiin proxyihin sekä läpinäkyviin proxyihin. Klassinen proxy on ohjelma, joka tuntee yhden tai useamman sovellusprotokollan. Klassinen proxy toteuttaa sekä asiakas-, että palvelinosan protokollasta [1]. Proxyn tehtävä on välittää sovellusdataa asiakkaan ja palvelimen välillä, joilla ei välttämättä ole suoraa IP yhteyttä [1]. Verrattuna tyypilliseen asiakas palvelimeen, on klassisen proxyn esimerkissä turvallisuustavoitteena tehdä tarkistuksia ja tyyppejä saannin kontrollointiin [1].

Ehkä suurimpana ongelmana klassisen proxyn tapauksessa on se, että käytettävien ohjelmien on oltava proxykykeneviä sekä käyttäjien on oltava koulutettuja proxyjen käyttöön. Läpinäkyvä proxy on systeemi, joka näyttää pakettien suodattamiselta asiakkaalle ja klassiselta proxylta palvelimille [1]. Klassinen ja läpinäkyvä proxy tekevät samanlaisia saannin kontrollointitarkistuksia ja voivat tarjota yhtäläisen turvallisuuden ja suorituskyvyn tason [1].

Aihe Klassinen proxy Läpinäkyvä proxy
IP osoitus Systeemit jokaisessa verkossa osoittavat proxyyn Systeemit asiakasverkossa osoittavat etäisiin verkkoihin
IP reititys Systeemit jokaisessa verkossa tarvitsevat reititysmerkinnän proxylle Systeemit asiakasverkossa tarvitsevat reititysmerkinnät etäisille verkoille
IP osoitteen piilotus Systeemit proxyn molemmilla puolilla on piilotettu toisiltaan Systeemit asiakkaan puolella on piilotettu ulkomaailmalta
DNS Täysi eristys mahdollinen Sisällä olevien systeemien on ratkaistava ulkoisten nimet
Proxyn ohjelmiston vaatimukset Ajetaan standardissa TCP/IP pinossa; siirrettävä Tarvitsee erityistä TCP/IP pinoa; ei 100% siirrettävä
Asiakasohjelmiston vaatimukset Vaatii proxykykenevää ohjelmistoa tai käyttäjäkoulutusta Ei mitään muita kuin suoran yhteyden vaatimukset
Pakettien suodatus Osaa suodattaa ulkoiset osoitteet Ei pysty suodattamaan ulkoisia osoitteita
Käyttäjä vaatimukset Proxykykenevän ohjelmiston käyttö tai proxyn käytön osaaminen Ei mitään muita kuin suoran yhteyden vaatimukset
IP osoite konfliktien ratkaisu Voidaan käyttää automaattisesti yhdistävien ketjutettujen proxyjen kanssa Ei selkeätä metodia saada tätä toimimaan

Kuva 1. Klassisen ja läpinäkyvän proxyn vertailu.[1]

 

Lähdeluettelo

 

[1.] Classical versus Transparent IP Proxies, [viitattu 16.4.1999]

<http://www.tcm.hut.fi/Opinnot/Tik-110.350/Tehtavat/rfc/1919_2.html>

[2.] Microsoft proxy-server, [viitattu 17.3.1999]

<http://microsoft.com/finland/products/prodref/590_newf.htm>

[3.] Netscape Server Central, Netscape Proxy Server, [viitattu 17.3.1999]

<http://pspt.fi/kurssit/unixnt/lht/unix1/mudhead/ps_index.html>

[4.] Understanding Proxy Server, [viitattu 17.3.1999]

<http://info.stakes.fi/PrxDocs/htm/povwps.htm>

 

Lisätietoja

 

<http://www.uta.fi/laitokset/tkk/ohjeetoppaat/proxy/mikaon.html>

        Mikä on proxy/cache?

<http://keskus.hut.fi/opetus/s38118/s98/htyo/27/proxy.shtml>

        Proxy server, lyhyt kuvaus

<http://www.hlti.fi/~miikad/valimuisti.html>

        Välimuisti, mikä on proxy/cache?