Published on

Mi az a proxy?

Authors
  • avatar
    Name
    Bartók Dániel
    Twitter

A mai bejegyzésben egy olyan eszköz kerül bemutatásra, amit már szinte mindenki használt a tudta nélkül. Ugyanis a legtöbb internetes kommunikációban fontos résztvevő. Például akkor is, amikor a Kedves Olvasó meglátogatja a Zsebinformatikus weboldalát.

Mi az a proxy?

A proxy egy olyan köztes rendszer, amely a kliens (például böngésző) és a célszerver (például webhely) között helyezkedik el. Úgy is tekinthetünk rá, mint egy postásra. A kliens által küldött üzeneteket továbbítja a célszervernek. Az onnan jövő válaszokat pedig vissza a kliensnek. Így igazából a böngésző és a webhely nem közvetlenül, hanem egy harmadik fél bevonásával "beszélget".

Proxy működése lépésenként

  1. A felhasználó megnyit egy weboldalt a böngészőben
  2. Ez a hálózati kérés beérkezik a proxy-hoz
  3. A proxy továbbítja a kérést a weboldalnak
  4. A weboldal a választ elküldi a proxy-nak
  5. A proxy pedig továbbítja a felhasználónak
Mi az a proxy?

Ami egyébként érdekes, hogy ilyenkor a legtöbb esetben nem a felhasználó az egyetlen, aki nem tudja, hogy (legalább) háromszereplős a kommunikáció. Amíg ő azt gondolja közvetlenül éri el az oldalt, addig a webhely sem tudja, hogy a kérés eredeti forrása valójában nem a proxy volt.

A továbbiakban megnézzük, milyen esetekben szokás proxy-t alkalmazni, illetve, hogy használatától függően milyen típusai vannak.

Mire használunk proxy-t?

1. Felhasználó védelme

A mai internetes világban kimondottan fontos az, hogy böngészés közben elkerüljük a virtuális karambolokat. Hiszen, ahogy az oldal indulásakor a bemutatkozóban is írtam, míg a való életben a legtöbb baleset figyelmetlenségből adódik, addig a virtuális volán mögött szánt szándékkal próbálnak balesetet okozni, elég csak a különféle vírusokra és adathalász próbálkozásokra gondolni. Számos eszköz mellett a proxy-t is tudjuk egyfajta védelmi hálóként használni. Ehhez pedig az előző rész végén ismertetett érdekességet fogjuk felhasználni. Itt említettem, hogy proxy használat esetén a célszerver valójában nem is ismeri a kérés eredeti feladóját, tehát igazából ez eredeti forrásról, azaz rólunk nincs is információja. Így például az IP címünket sem tudja. Tehát proxy-t használhatunk:

  • adatvédelem növelésére

  • különféle nyomkövető rendszerek ellen

  • földrajzi korlátozások megkerülésére (Nem egyszer fordult elő, hogy különféle kézilabda mérkőzések élő internetes közvetítése valami oknál fogva le volt tiltva a magyarországi nézőknek.)

Az utóbbira egyébként általában VPN szolgáltatást szoktak használni, tervben van egy ilyen cikk is, ott majd bővebben kitérek a két eszköz összehasonlítására is.

Proxy, mint védelmi háló

2. Tartalmak gyorsítótárazása

Biztosan találkoztál már olyannal Kedves Olvasó, hogy amikor először látogattál meg egy weboldalt, az sokára töltött be. Például lassan jelentek meg a képek és videók. Viszont a következő alkalommal már nem tapasztaltál ilyet. A háttérben ilyenkor az történik, hogy a gyakran letöltött erőforrásokat (pl. képeket, videókat, weboldalakat) a proxy eltárolhatja és azt nem kell mindig a weboldalról megszereznie. Így nem csak a sávszélesség használattal, de az idővel is tud spórolni. Ezen felül pedig az egyes weboldalakra is kisebb terhelés jut, mert az adott tartalmat nem kell minden egyes alkalommal elküldenie a felhasználónak. Ezt hívjuk gyorsítótárazásnak (caching). Természetesen a proxy-n felül a böngésző is képes erre, sőt vannak különféle globális méretű megoldások is. Ezeket magyarul tartalom-elosztó/szolgáltató hálózatoknak (CDN - Content Delivery Network) nevezzük, a jövőben erről is lesz szó bővebben. A proxy ezen használati módját kimondottan vállalati hálózatokban és az internetszolgáltatóknál használják.

Gyorsítótár nélkülGyorsítótárral

3. Tartalomszűrés

Szinte a legtöbb céges környezetben és az iskolákban is olyan zárt számítógépes hálózatot használnak, amely a külvilág számára az internetről nem érhető el. Ezt intranetnek hívják, és egy ilyenhez kapcsolódni távolról VPN-nel, vagy helyben közvetlenül lehetséges. Az ilyen esetekben szokás a proxy-t tartalomszűrés és hozzáférés szabályozásra is használni. Ez a gyakorlatban azt jelenti, hogy intranetes hálózatra kapcsolódva nem minden internetes weboldal és tartalom érhető el. Például iskolákban tanítási időben a hálózatról nem lehet elérni a közösségi oldalakat. Ezen felül a tudottan veszélyes oldalakat és felnőtt tartalmat tartalmazó helyeket is tiltani szokták. Ezen felül pedig minden kimenő forgalmat is naplóz, így használatával még azt is megállapíthatjuk, hogy ki akart a tilosban járni.

Tartalomszűrés proxyval

Természetesen ezek csak a legnépszerűbb használati esetek, ezen felül még számos van, illetve ezeket a mi szükségleteink szerint akár vegyíthetjük is.

Proxy típusai működés szerint

Nem csak használati mód, hanem működés szerint is megkülönböztethetjük a proxy-kat.

1. Forward Proxy

Angolul tudók előnyben, ugyanis a neve már sugallja a működését (forward, azaz előre). Lényege, hogy továbbítja a kliens (böngésző) kéréseit a célszerver felé, a kommunikáció során a kliens nevében jár el. Használatával mindhárom fentebb említett használati eset megvalósítható. Leginkább zárt hálózatokban (cégek, iskolák) használják tartalomszűrés céljából. Fontos, hogy ebben az esetben a felhasználónak szükséges beállítani a proxy használatát. Ezt általában a böngészőben vagy operációs rendszer szinten történhet. Ennek egy speciális típusa az átlátszó (transparent) proxy, ahogy a neve is sugallja, a használathoz a felhasználónak semmit nem szükséges beállítania, általában egy másik hálózati eszköz (például router) elkapja a kéréseinket és átirányítja azokat a proxy felé.

Forward proxy

2. Reverse Proxy

Az előző eset fordítottja. Míg ott a kimenő hívásokat továbbította, ez a típus a bejövőket kezeli. Lényegében közvetlenül a célszerver előtt helyezkedik el és annak a nevében jár el. Két leggyakrabban használt funkciója a terheléselosztás és a TLS terminálás.

Az előbbit általában a nagy és fontos rendszerek a magas rendelkezésre állás megvalósításához használják. Lényege, hogy az adott alkalmazás több szerveren is fut számos példányban és a reverse proxy feladata, hogy a beérkező kéréseket a lehető legegyenletesebben ossza szét ezen szerverek között. Illetve, ha például az egyik szerver kiesik valamilyen hiba folytán, akkor oda ne küldjön kéréseket, ezáltal ne, vagy csak minimálisan legyen kiesés a kiszolgálásban.

A biztonságos weboldalak bejegyzésben volt szó a https-ről, amely az alapját adja annak, hogy a hálózati kommunikációnk titkosítva legyen. Sok esetben ez a titkosított csatorna a reverse proxy-ig tart, viszont onnantól a célszerverig már titkosítatlan forgalom történik. Ez egy jól bevált praktika, hiszen a proxy és a célszerver egy nagyon elzárt és biztonságos "helyen" található, így ott már nyugodtan lehet titkosítatlan (http) kapcsolatot használni. Ezzel a célszerver oldalon sok erőforrást tudunk megspórolni, illetve egyszerűbben kezelhető infrastruktúrát is kapunk.

Reverse proxy

Ez lett volna nagyvonalakban a proxy bemutatása, remélem hasznos volt!

Ti hallottatok már róla, esetleg tudatosan használtátok is?

Írjátok meg a hozzászólásokban!

Támogass egy kávéval