Välityspalvelin (proxy) — määritelmä ja toimintaperiaate
Välityspalvelin (proxy) selitetty: mitä se tekee, toimintaperiaate, välimuisti ja SSL-turva — opi, miten proxy nopeuttaa ja suojaa verkkoyhteyksiä.
Tietokoneverkoissa välityspalvelin on palvelin (tietokone), jonka avulla asiakkaat (ihmiset tai tietokoneet) voivat käyttää muita tietokoneita. Välityspalvelinta, joka välittää tietoja asiakkailleen muuttamatta niitä, kutsutaan yleensä yhdyskäytäväksi tai joskus tunneloitavaksi välityspalvelimeksi. Välityspalvelin toimii asiakkaan puolesta vastaanottaen pyynnöt ja välittäen ne eteenpäin — usein muuttaen, suodattaen tai tallentaen vastauksia välillisesti.
Välityspalvelimet ovat saaneet nimensä siitä, että ne toimivat välityshenkilönä tai sijaisena ja hoitavat osan asiakkaan ja kohdepalvelimen välisestä viestinnästä. Asiakkaan kannalta välityspalvelin voi tehdä palvelujen käytöstä nopeampaa, turvallisempaa tai hallitumpaa verkon ylläpitäjän tavoitteista riippuen.
Miten välityspalvelin toimii
Välityspalvelimeen yhdistävä asiakas pyytää jotain palvelua, kuten tiedostoa, yhteyttä, verkkosivua tai muuta resurssia, joka on saatavilla eri palvelimella. Välityspalvelin menee sitten toiselle palvelimelle ja pyytää asiakkaan haluamaa palvelua. Vastaus voidaan palauttaa suoraan asiakkaalle tai käsitellä välityspalvelimella ennen lähettämistä.
Yksinkertainen toimintamalli:
- Asiakas lähettää pyynnön välityspalvelimelle.
- Välityspalvelin tarkistaa pyynnön ja päättää hakea tiedon eteenpäin tai antaa vastauksen välimuistista.
- Jos tieto haetaan eteenpäin, välityspalvelin ottaa yhteyden kohdepalvelimeen ja välittää vastauksen takaisin asiakkaalle.
Välimuisti ja suorituskyky
Välityspalvelin voi muuttaa asiakkaalle antamiaan tietoja, ja jos samoja tietoja käytetään monta kertaa tai monilla eri asiakkailla, se voi käyttää niin sanottua välimuistia nopeuttaakseen toimintaa. Välimuisti on termi tiedolle, jota on käytetty ja joka on tallennettu tulevaa käyttöä varten; jos välityspalvelimella on asiakkaan haluama tieto välimuistissaan, se nopeuttaa toimintaa, koska sen ei tarvitse mennä toiselle palvelimelle antamaan asiakkaan haluamaa tietoa.
Välimuistitus vähentää länsiliikennettä, parantaa vasteaikoja ja voi pienentää taustapalvelimien kuormitusta. Välimuistissa voi olla rajoituksia (esim. vanhenemisaika, cache-control-otsakkeet), jotta sisältö pysyy tuoreena.
Välityspalvelinten tyypit ja ominaisuudet
- Forward proxy (etuvälitys): Asiakas käyttää välityspalvelinta päästäkseen ulkoiseen resurssiin. Tyypillinen yritys- tai kotiverkon proxy.
- Reverse proxy (kääntövivahteinen): Toimii kohdepalvelinten edessä ja vastaanottaa asiakkaiden pyynnöt. Käytetään kuormantasaukseen, SSL-terminointiin ja suojaukseen.
- Läpinäkyvä (transparent) proxy: Asiakas ei välttämättä tiedä käytettävänsä proxyä; käyttö voi olla verkon tasolla ohjattua.
- Anonyymit ja korkeaan anonymiteettiin pyrkivät proxyt: Piilottavat asiakkaan IP-osoitteen eri tavoilla (anonyymit, korkean tason “elite”-proxyt).
- Tunnelointi ja SOCKS: Jotkut proxyt (esim. SOCKS) voivat välittää monenlaista liikennettä (ei pelkästään HTTP), ja tunneloivat proxyt mahdollistavat salatun yhteyden eteenpäin.
Protokollat ja salaus
Jotkin välityspalvelimet käyttävät SSL-tekniikkaa (Secure Sockets Layer) suojaamaan asiakkaan ja etäpalvelimen välisen yhteyden. Tämä suojauskerros auttaa varmistamaan, että muut tietokoneet eivät voi lukea tai ymmärtää, mitä asiakas pyytää palvelimelta. Nykyään käytännössä käytetään TLS-protokollaa, joka on SSL:n seuraaja.
HTTP-proxyt tukevat usein myös CONNECT-metodia, jolla voidaan muodostaa TCP-tunneli HTTPS-yhteyksille. SOCKS-protokolla puolestaan välittää sovellustasolta riippumatonta TCP- tai UDP-liikennettä.
Käyttötapaukset
- Suorituskyvyn parantaminen ja välimuisti (sivustot, päivitykset).
- Kuormantasapaino ja korkea käytettävyys (reverse proxy + useita taustapalvelimia).
- Turvallisuus: palomuurin ominaisuudet, liikenteen suodatus, DDoS-suojaukset ja TLS-terminointi.
- Sisällön suodatus ja käyttöpolitiikat (esim. koulut ja yritykset säätelevät pääsyä).
- Yksityisyys ja anonymiteetti (käyttäjän IP-osoitteen piilottaminen).
- CDN (sisällönjakeluverkot) käyttävät proxy-tyyppisiä reunoja välimuistina ja lähentäen sisältöä käyttäjään.
Sijoittelu ja asennus
Välityspalvelin voidaan sijoittaa minne tahansa asiakkaan ja palvelimen väliseen yhteyteen, esimerkiksi asiakastietokoneessa tai missä tahansa sen välissä olevassa tietokoneessa olevaan ohjelmistoon. Yritysympäristöissä proxyt sijoitetaan usein reunalaitteisiin tai erillisiin palvelimiin keskitettyä hallintaa varten.
Edut ja riskit
Edut:
- Parantaa vasteaikoja ja vähentää taustapalvelimien kuormitusta välimuistin avulla.
- Tarjoaa keskitetyn paikan turvallisuuspolitiikoiden ja käyttörajoitusten toteutukseen.
- Mahdollistaa salauksen päätepisteen hallinnan (SSL/TLS-terminointi) ja liitäntöjen optimoinnin.
Riskit ja rajoitukset:
- Yksityisyys: välityspalvelin voi kirjata käyttäjän pyynnöt ja IP-osoitteet — luottamuksellisuutta on arvioitava.
- Välimuisti voi vanhentaa sisältöä, jos konfiguraatio ei huomioi päivityksiä.
- Välityspalvelin voi muodostua pullonkaulaksi tai käyttöestohyökkäyksen kohteeksi, ellei siitä huolehdita.
- Salaus ja välittäminen vaativat oikeat avaintenhallinta- ja sertifikaattikäytännöt; väärin toteutettu “man-in-the-middle” -terminointi voi heikentää tietoturvaa.
Hyvä käytäntö
- Määritä välimuisti- ja vanhenemissäännöt selkeästi (HTTP-otsakkeiden perusteella).
- Käytä asianmukaista lokitusta ja säilytä lokit turvallisesti, huomioi tietosuojavaatimukset.
- Pidä välityspalvelinohjelmisto ajan tasalla ja suojaa järjestelmä pääsynhallinnalla.
- Arvioi tarve läpinäkyvyydelle ja anonymiteetille — käyttäjille on tiedotettava, jos heidän liikennettään välitetään.
Yhteenvetona: välityspalvelin on monipuolinen työkalu, joka voi toimia suorituskyvyn, turvallisuuden ja hallittavuuden parantajana verkossa. Oikein konfiguroituna ja ylläpidettynä se on keskeinen osa monen organisaation verkkoarkkitehtuuria.

Välityspalvelin yhdistää kaksi tietokonetta epäsuorasti toisiinsa.
Välityspalvelimien edut
Välityspalvelimen käytöstä on monia etuja. Ensinnäkin asiakaskone voi vaihtaa tietoja etäpalvelimen kanssa ilman suoraa yhteyttä. Näin etäpalvelin ei saa tietää asiakkaan todellista Internet-osoitetta. Tätä kutsutaan joskus anonymisoinniksi, koska se tekee asiakkaasta anonyymin. Toinen etu on se, että kun välityspalvelin pystyy itse palvelemaan asiakkaan tekemän pyynnön, se ei enää ota yhteyttä etäpalvelimeen. Välityspalvelimen käyttö vähentää siis etäpalvelimen kuormitusta. Tämäntyyppisiä välityspalvelimia kutsutaan välimuistipalvelimiksi.
Suuret organisaatiot (tai jopa valtiot) käyttävät joskus välityspalvelimia valvomaan pääsyä Internetiin. Suuri pankki voi käyttää välityspalvelinta, joka sallii yhteydet vain muille pankkitoimintaan liittyville verkkosivustoille. Välityspalvelin saattaa kuitenkin estää pääsyn verkkosivustoille, jotka tarjoavat ilmaista sähköpostia tai pornografista materiaalia. Se saattaa myös estää pääsyn tiedostonjakosovelluksiin. Internetin tietyn sisällön käytön rajoittamista kutsutaan myös internetin suodattamiseksi.
Tyypit ja toiminnot
Välityspalvelimella voi olla yksi tai useampi jäljempänä kuvatuista toiminnoista:
Välimuistiinpanopalvelin
Välimuistiin tallentava välityspalvelin voi palvella asiakkaiden pyyntöjä ottamatta yhteyttä etäpalvelimeen; sen sijaan se lähettää tiedot, jotka se on tallentanut edellisen pyynnön perusteella. Tätä kutsutaan välimuistioksi.
Välimuistitietopalvelimet vähentävät etäpalvelimen työmäärää. Niissä on kuitenkin omat ongelmansa, varsinkin jos niitä ei ole määritetty hyvin. Joitakin ongelmia kuvataan RFC 3143:ssa.
Verkkovälityspalvelin
Verkkovälityspalvelin on välityspalvelin, joka keskittyy World Wide Webin välityksellä tapahtuvaan liikenteeseen. Sitä voidaan käyttää estämään loukkaavaa verkkosisältöä tai valvomaan asiakkaiden pääsyä verkkosisältöön. Niitä voivat käyttää yritykset tai maat.
Verkkovälityspalvelimia voidaan käyttää myös sen seuraamiseen, miten eri henkilöt ovat käyttäneet internet-yhteyttä.
Anonymisoiva välityspalvelin
Anonymisoiva välityspalvelin poistaa tunnistetiedot asiakkaiden pyynnöistä anonymiteetin säilyttämiseksi. Niitä voidaan käyttää myös suodatetun sisällön läpäisemiseen internetissä.
Avoin välityspalvelin
Välityspalvelinta kutsutaan avoimeksi välityspalvelimeksi, jos kaikki voivat muodostaa siihen yhteyden ja käyttää sitä. Yleensä avoimet välityspalvelimet ovat huonosti konfiguroituja välityspalvelimia. Avoimia välityspalvelimia voidaan helposti käyttää väärin; esimerkiksi huono käyttäjä voi lähettää vääristävän pyynnön etäpalvelimelle, mutta piiloutua avoimen välityspalvelimen taakse, jolloin etäpalvelimen ylläpitäjät eivät voi pysäyttää häntä. Avoimia välityspalvelimia voidaan käyttää myös roskapostitukseen. Tästä syystä jotkin verkkosivustot eivät salli yhteyksiä verkkopalvelimilleen tai niiden sisällön muokkaamista tunnettujen avoimien välityspalvelinten kautta.
Pakotettu valtakirja
Pakotettu välityspalvelin on välityspalvelin, joka käsittelee kaiken asiakkaan internetiin suuntautuvan liikenteen. Asiakas ei tiedä välityspalvelimen olemassaolosta, mutta kaikki tieto kulkee välityspalvelimen kautta. Niitä kutsutaan joskus "läpinäkyviksi" välityspalvelimiksi, koska käyttäjä ei tiedä, että välityspalvelin on asiakkaan ja etäpalvelimen välissä.
SMTP-välityspalvelin
Läpinäkyvä SMTP-välityspalvelin on SMTP-välityspalvelin, joka asetetaan lähettävän ja vastaanottavan sähköpostipalvelimen väliin. SMTP-välityspalvelimen päätarkoitus on suodattaa lähtevää roskapostia. Välityspalvelin naamioi itsensä siten, että asiakas ja palvelin uskovat keskustelevansa keskenään, vaikka välissä on välityspalvelin.
Ohjelmisto
Välityspalvelimen käyttämiseen voidaan käyttää monia ohjelmistoja. Jotkin ohjelmistot voivat toimia vain välityspalvelimena, kun taas toiset ohjelmistot voivat toimia myös palomuurina tai välimuistipalvelimena. Squid, Varnish ja Microsoft Internet Security and Acceleration Server (ISA Server) ovat tunnetuimpia välityspalvelinohjelmistoja. Jotkin välityspalvelinohjelmistot käyttävät SOCKS-protokollaa. Esimerkkinä voidaan mainita Java SOCKS Proxy Server.
Kysymyksiä ja vastauksia
K: Mikä on välityspalvelin?
V: Välityspalvelin on tietokone, jota asiakkaat käyttävät päästäkseen muihin tietokoneisiin. Se toimii välittäjänä asiakkaan ja etäpalvelimen välillä ja välittää tietoja edestakaisin muuttamatta niitä.
K: Mikä on yhdyskäytävä tai tunnelointiproxy?
V: Yhdyskäytävä tai tunnelointiproxy on eräänlainen välityspalvelin, joka välittää tietoja asiakkailleen muuttamatta niitä.
K: Miten välityspalvelin toimii?
V: Kun asiakas muodostaa yhteyden välityspalvelimeen, hän pyytää jotakin palvelua, kuten tiedostoa, yhteyttä, verkkosivua tai muuta resurssia, joka on saatavilla toisella palvelimella. Välityspalvelin menee sitten toiselle palvelimelle ja pyytää asiakkaan haluamaa asiaa.
K: Mitä välityspalvelimet voivat tehdä tiedoilla?
V: Välityspalvelimet voivat muuttaa asiakkailleen antamiaan tietoja, ja jos eri asiakkaat käyttävät samaa tietoa useita kertoja, ne voivat käyttää välimuistitallennusta nopeuttaakseen toimintaa. Välimuistitallennukseen kuuluu aiemmin käytetyn tiedon tallentaminen tulevaa käyttöä varten, jotta jos samaa tietoa halutaan käyttää uudelleen, sitä ei tarvitse pyytää toiselta palvelimelta.
K: Mihin välityspalvelimet voidaan sijoittaa suhteessa asiakkaisiin ja palvelimiin?
V: Välityspalvelimet voidaan sijoittaa minne tahansa asiakkaan ja etäpalvelimen väliin, mukaan lukien jommankumman tietokoneen ohjelmisto tai mikä tahansa tietokone niiden välissä.
K: Mitä turvatoimia jotkin välityspalvelimet käyttävät?
V: Jotkin välityspalvelimet saattavat käyttää SSL-tekniikkaa (Secure Sockets Layer) asiakkaiden ja etäpalvelimien välisten yhteyksien suojaamiseksi, jotta muut tietokoneet eivät pysty lukemaan tai ymmärtämään, mitä toisiltaan pyydetään.
Etsiä