Proxy servery

Miroslav Tempír, xtempir@fi.muni.cz


Obsah


V obecném kontextu pod pojmem proxy chápeme software zprostředkující určitou službu. Nejpoužívanější a nejznámější službou Internetu je v dnešní době www, takže není divu, že nejznámějším proxy službou je právě zprostředkování přístupu k www. Proto se v tomto referátu budu věnovat především principu činnosti těchto proxy serverů a konkrétně pak ukážu konfiguraci nejpoužívanějšího z nich: proxy serveru Squid.

Princip činnosti HTTP proxy

Proxy je program pracující na aplikační úrovni. Vůči svým klientům vystupuje v roli serveru - přijímá požadavky a předává je dál jménem původního klienta vzdáleným serverům. Pokud je proxy server umístěn na rozhraní dvou sítí, může pak fungovat v roli aplikačního firewallu. Proxy server může nabízet další lákavou funkci - kešování obsahu. Používá k tomu osvědčenou technologii vyrovnávacích pamětí: zapamatuje si odpověď na dotaz, a pokud se v dohledné době stejný dotaz zopakuje, poskytne rovnou uloženou odpověď. Tím lze dosáhnout snížení zatížení linky do Internetu a zároveň zrychlit přístup k často přistupovaným objektům.

Motivace

Problémy


Squid

Squid je nejpoužívanějším HTTP proxy serverem pro unixové systémy.
Podporuje: Celkem rozsáhlý, ale dobře komentovaný, konfigurační soubor. K rozjetí proxy serveru pro malou síť ale stačí pozměnit jen několik málo parametrů.

Základní nastavení

Transparentní proxy

Koncept transparentní proxy umožnuje přesměrovat na proxy server běžný provoz na síti bez vědomí klientské stanice prostředky operačního systému (v Linuxu iptables). Konfigurace Linuxu:
iptables -t nat -A PREROUTING -p tcp --dport 80 -i ! eth0 -j REDIRECT --to-port 3128 (eth0 je vnější rozhraní routeru do Internetu, squid máme na portu 3128)

Konfigurace Squida:

	httpd_accel_host virtual
	httpd_accel_port 80
	httpd_accel_with_proxy on
	httpd_accel_uses_host_header on
Nevýhodou použití transparentní proxy je nemožnost potlačit jej použití ze strany klientské aplikace. Aplikace nemá žádnou možnost jak se vyhnout tomu, aby její spojení bylo přesměrované routerem na proxy.

Zpracování logů

Squid ukládá informace o svém provozu do souborů:
calamaris.pl < access.log > stats.html

Další HTTP proxy

Privoxy je HTTP proxy server, který spravuje cookies, kontroluje obsah webových stránek, odstraňuje z nich reklamy a různé bannery a potlačuje tzv. vyskakovací okna. Požadované objekty nekešuje, ale vždy znovu získává ze vzdáleného webserveru. Vychází z projektu Junkbuster.

Proxy jiných protokolů a na jiných vrstvách