Proxy systémy
Proxy server funguje jako prostředník mezi klientem a cílovým počítačem (serverem), překládá klientské požadavky a vůči cílovému počítači vystupuje sám jako klient. Přijatou odpověď následně odesílá zpět na klienta. Může se jednat jak o specializovaný hardware, tak o software provozovaný na běžném počítači. Proxy server odděluje lokální počítačovou síť (intranet) od Internetu.
Aplikační proxy je server speciálně určený pro určitý protokol nebo aplikaci. Proxy server může analyzovat obsah komunikace, případně ji pozměňovat (např. odstraňování reklam z http požadavků, blokování webových stránek podle obsahu a podobně) nebo ukládat požadavky do vyrovnávací paměti (cache), ze které mohou být při opakovaném požadavku odpovědi poskytnuty rychleji.
Typy proxy serverů
Proxy server může být umístěn na klientském počítači
nebo mezi klientem a cílovým serverem na Internetu.
Proxy server, který prochází žádosti a odpovědi nijak neupravuje, se obvykle
nazývá gateway nebo tunneling proxy.
Forward proxy je internetově orientovaná
proxy používaná k načítání z celé řady zdrojů (ve většině případů kdekoliv na
Internetu).
Reverzní proxy je obvykle internetově orientovaný proxy server,
který se používá k řízení ochrany přístupu k serveru v privátní síti, plnění
úkolů jako je vyrovnávání zatížení, autentizace, dešifrování nebo ukládání do
mezipaměti.
Forward proxy
Forward proxy jsou proxy servery, kde
klientský server určí cílový server a připojí se k němu.Jsou schopny načítat z
celé řady zdrojů (ve většině případů kdekoliv na Internetu).
Pojmy „forward proxy“ a „forwarding proxy“ jsou obecné popisy chování (přesměrování provozu), a proto jsou tedy nejednoznačné. S výjimkou reverse proxy, typy proxy popsané v tomto článku jsou více specializované podtypy obecného konceptu forward proxy.
Open proxy
Open proxy server je forward proxy server, který je přístupný
jakýmkoliv uživatelům Internetu. Gordon Lyon (expert na bezpečnost sítí)
odhaduje, že jich je na Internetu stovky tisíc.Anonymní open proxy server
umožňuje uživatelům, aby skryli svou IP adresu při procházení webu nebo
využívání jiných internetových služeb. Existují různé stupně anonymity, nicméně
existuje i několik metod pro odhalení klientského serveru bez ohledu na použitou
proxy.
Reverzní proxy
Reverzní proxy je proxy server, který se zobrazí klientům jako obyčejný server.
Žádosti jsou přesměrovány na jeden nebo více serverů, které je zpracují.
Odpovědi jsou navráceny, jakoby přišly přímo z webového serveru.
Reverzní proxy servery jsou instalovány v blízkosti jednoho či více webových serverů. Všechen příchozí provoz z Internetu s místem určení na jeden ze sousedních webových serverů prochází přes proxy server. Použití slova „reverse“ má původ ve svém protějšku „forward proxy“, jelikož reverzní proxy je blíže k webovému serveru a slouží pouze pro určitou množinu webových stránek.
Existuje několik důvodů, proč si nainstalovat reverzní proxy server:
Šifrování/SSL akcelerace: pokud jsou vytvořeny zabezpečené webové stránky, SSL
šifrování často není prováděno pomocí webového serveru a proto lze využít
reverzní proxy server, který je vybaven podporou pro SSL akceleraci. Kromě toho
může hostitel poskytnout jeden „SSL Proxy“ a tím zajistit SSL šifrování pro
libovolný počet počítačů. Odstraňuje tím potřebu SSL Server certifikátu pro
každého hostitele, s tou nevýhodou, že všichni hostitelé za SSL proxy musí
sdílet společný DNS název nebo IP adresu pro SSL spojení. Tento problém lze
obejít použitím SubjectAltName, funkcí certifikátu X.509.
Vyvažování zátěže:
reverzní proxy může distribuovat zatížení do několika webových serverů. Každý
webový server obsluhuje vlastní aplikační oblast. V takovém případě může
reverzní proxy potřebovat přepsat URL každé webové stránky (překlad z externě
známých URL do interních míst).
Ukládání statického obsahu do vyrovnávací
paměti: reverzní proxy může snižovat zátěž webových serverů pomocí ukládání do
cache paměti různého obsahu, jako jsou fotografie a další grafická data a tím
zkrátí odezvu serveru.
Komprese dat: proxy server může komprimovat obsah a
tím optimalizovat práci serveru s cílem zrychlit načítání.
Spoon feeding
(krmení lžící): dynamicky generovaná stránka může být vytvořena jako celek a
klientovi, který má pomalé připojení, zasílána po částech, takže program
generující stránku na centrálním serveru nemusí zůstávat otevřený a zbytečně
využívat systémové prostředky.
Bezpečnost: proxy server je další vrstva
ochrany a může tak ochránit před nežádoucími útoky ze strany webových serverů.
Nicméně neposkytuje žádnou ochranu proti útokům na webové aplikace a služby,
které jsou obecně považovány za mnohem větší hrozbu.
Extranet Publishing:
reverzní proxy server na internetu může být použit ke komunikaci s firewallovým
serverem interního typu, poskytujíc extranetu přístup k některým funkcím, i když
ponechává servery za firewallem. Pokud je takto použit, bezpečnostní opatření by
měla být požadována pro ochranu zbytku infrastruktury v případě, že je ohrožen
tento server, jehož webová aplikace je vystavena útoku z Internetu.
Proxy
zvyšující výkon
Proxy server, který je navržen tak, aby zmírnil specifické
žádosti nebo degradaci. PEP (Performance Enhancing Proxies) se obvykle používají
pro zlepšení výkonnosti TCP v přítomnosti vysokých RTT (Round Trip Times) a
bezdrátového spojení s vysokou ztrátou paketů. Jsou také často používány pro
vysoce asynchronní spojení, kde je velice odlišný upload a download.
Použití proxy serverů
Filtrovací proxy
Proxy servery filtrující obsah,
umožňují kontrolu a řízení obsahu v jednom nebo obou směrech přes tento server.
Běžně se pro tyto účely používá v komerčních i nekomerčních organizacích
(zvláště pak ve školách) pro kontrolu využívaní internetového připojení pro
správné účely. Servery filtrující obsah také velmi často podporují autentizaci
uživatele připojujícího se k webu. To také přináší možnost logu veškerých
informacích o konkrétních uživatelích a jejich provozu na webu (navštívené URL
apod). Také se často přímo do proxy filtru implementují různé antivirové
programy pro zabezpečení dat jdoucích k uživateli v reálném čase, ještě před
vstupem do samotné vnitřní sítě. Příklad některých běžných metod pro filtrování
obsahu: URL, DNS blacklist, URL regex filtering, MIME filtering nebo filtering
založený na klíčových slovech v obsahu. Princip je následující: Každý dotaz
směřující do otevřeného internetu musí nejprve projít rozhraním proxy filteru.
Organizace, uvnitř které se klient nachází, shromažďuje a aktualizuje data o
serverech či službách, které chce ve své síti omezit. (zpravidla se jedná
servery typu: sociální sítě, gambling, online nákupy, pornografie). Většinou se
pro kvalitní databázi využívají tzv. internetoví roboti, kteří sami na základě
"podoby-obsahu" rozpoznávají a třídí obsah. Pokud tedy požadavek klienta směrem
do internetu odpovídá některému ze zakázaných, je jeho požadavek okamžitě
zahozen.
Cachovací
proxy
Cachovací (kešovací) proxy servery byly vůbec první druh proxy
serverů. Slouží k urychlování odpovědi na dotaz, pro který již má v sobě
uloženou odpověď z minulosti, kdy skrz něj odpověď prošla. A to pro stejného či
několik jiných klientů. Cachovací proxy servery udržují kopie „odpovědí“ na
často kladené dotazy. Umožňují tak velikým organizacím značně snižovat provoz a
náklady, zatímco zvyšují výkon. Další důležité využití těchto serverů je v
snížení nákladů na hardware. Organizace, která má mnoho systémů v jedné síti
nebo jsou pod kontrolou jednoho serveru ztrácí možnost individuálního připojení
do internetu pro každý systém. V takovém případě jednotlivé systémy mohou být
připojeny k jednomu proxy serveru a ten následně připojen k hlavnímu serveru.
Překlad
Překladový proxy server je server používaný pro překlad
internetové stránky pro několik různých „trhů“. Provoz ze všech možných míst je
směrován skrz překladový proxy server k cílové internetové stránce. Data jdoucí
od cílové adresy zpět k uživateli jsou potom podle lokace klienta přeložena
právě konkrétním jazykem pro něj. Pro takový překlad se na serveru používá buď
strojový překlad nebo přirozený nebo jejich vzájemná kombinace.
DNS proxy server
Tento proxy server sbírá ze síťového provozu (nejčastěji
v lokálních sítích) DNS dotazy a předává je DNS serverům v Internetu. Také může
tyto DNS dotazy dočasně ukládat a následně s nimi pracovat.
Obcházení filtrů a censury
Pokud cílový server filtruje z nějakého důvodu
klienty kterým poskytuje svůj obsah, použitím proxy serveru lze často taková
omezení obejít. Některý obsah na internetu může být například dostupný pouze pro
určité země nebo z nějakého důvodu není možno se k němu dostat opakovaně. Tato
omezení jsou často implementovány filtrováním IP adresy klienta. Je-li však
provoz klienta směrován nejprve do proxy serveru a až ten posílá požadavky do
internetu, vystupuje pak klient v internetu právě jako proxy skrz které se ptá.
Zřetězením proxy serverů se pak klient na počátku stává směrem zpět téměř
nedohledným.
Logovací proxy
Proxy server umístěný mezi zdroj a cíl je vždy schopen
zachytit (uložit), a následně analyzovat data, který skrz něj procházejí. Právě
z toho důvodu by některá komunikace měla být šifrována (SSL protokol). Například
provoz pro přihlášení do internetového bankovnictví apod.
Brány do privátních sítí
Proxy servery mohou zastat také funkci podobnou
síťovému switchi kdy spojují dvě různé sítě.
Speciální případ proxy
Speciální případ proxy serverů je pak CGI proxy.
Takové proxy servery jsou weby, které umožňují uživatelům přistoupit k webové
stránce právě skrz sebe sama. Zpravidla implementují funkcionalitu proxy serveru
pomocí PHP nebo CGI. Tyto typy proxy serverů jsou velmi často využívány pro
přístup k internetovým stránkám kde to dané okolnosti neumožňují. Opět se jedná
zejména o školní či firemní sítě). Jsou také často používány pro získání jisté
anonymity v internetu kdy se uživatelé skryjí pod IP adresu webového serveru.
Zvýšení výkonu komunikace
Pokud se některé požadavky klienta opakují
(např. požadavek na stažení loga Wikipedie, dotazy na DNS, atd.), může si proxy
server uložit odpověď do vyrovnávací paměti a odpověď odeslat klientovi přímo,
aniž by předal komunikaci k cílovému serveru.
Bezpečnost
Aplikační proxy server může analyzovat komunikaci a zjišťovat
přítomnost např. virů. Dále může procházející požadavky šifrovat a dešifrovat.
Připojení více klientů k internetu
Klienti nemusí mít přiřazeny veřejné
IP adresy a přesto mohou mít přes proxy server přístup ke službám na Internetu
(toho je také možno docílit překladem IP adres, tzv. NAT, který je často
zkombinován s firewallem).