- Published on
Mi az a proxy?
- Authors

- Name
- Bartók Dániel
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
- A felhasználó megnyit egy weboldalt a böngészőben
- Ez a hálózati kérés beérkezik a proxy-hoz
- A proxy továbbítja a kérést a weboldalnak
- A weboldal a választ elküldi a proxy-nak
- A proxy pedig továbbítja a felhasználónak

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.

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.


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.

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é.

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.

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!