INTERNET.wrzesieñ.2004
WARSZTAT
NA CD
NEWSY
Z OK£ADKI
FIRMA
MAGAZYN
PROGRAMY
57
poradnik
Dlaczego warto
używać proxy
Dlaczego warto
używać proxy
W pogoni za informacj¹ zapominamy (albo nie jesteœmy
œwiadomi), ¿e serfowanie po Internecie coraz czêœciej
stanowi po¿ywkê dla wszelkiego rodzaju firm zajmuj¹cych
siê zbieraniem informacji o internautach: ich preferencjach,
miejscach, z których siê ³¹cz¹, stronach, które ogl¹daj¹,
e-zakupach itd. Jednoczeœnie du¿a iloœæ zapytañ do
najpopularniejszych serwisów internetowych powoduje,
¿e sieæ w godzinach szczytu jest zapchana i œci¹gniêcie
danych z odleg³ego serwera staje siê niemo¿liwe albo
przynajmniej mocno utrudnione. Rozwi¹zaniem s¹ serwery
poœrednicz¹ce, tzw. proxy.
Micha³ Zimnicki
Czym jest proxy?
Serwer proxy jest œcian¹ ogniow¹ (firewallem)
i cache’em zarazem. Mo¿e pracowaæ jako swo-
jego rodzaju filtr poœrednicz¹cy miêdzy w³a-
œciwym serwerem internetowym a kompute-
rem, z którego przegl¹damy strony. Schemat
jego dzia³ania pokazuje rys. 1.
Rys. 1. Schemat dzia³ania serwera proxy
Jego zadaniem jest z jednej strony ochro-
na sieci lokalnej przed nieautoryzowanymi
próbami dostêpu, z drugiej zaœ zmniejszanie
ruchu na ³¹czach poprzez buforowanie naj-
czêœciej pobieranych plików i udostêpnianie
ich u¿ytkownikom. Dziêki temu, ¿e ca³y ruch
miêdzy sieciami przechodzi przez serwer pro-
xy, mo¿e on stosowaæ ró¿norodne techniki
filtrowania danych i odrzucania niepo¿¹da-
nych informacji z zewn¹trz, a tak¿e zapisy-
waæ i analizowaæ poczynania u¿ytkowników
sieci wewnêtrznej.
Serwer proxy zbiera i zapisuje najczêœciej
wywo³ywane przez u¿ytkowników pliki do
specjalnej bazy danych, nazywanej cache. Pa-
miêæ cache serwera proxy mo¿e ju¿ zawieraæ
informacje, których u¿ytkownik potrzebuje,
nie musi wiêc ponownie ³¹czyæ siê z odle-
g³ym serwerem. Serwer proxy mo¿e równie¿
pomóc w dostêpie do danych znajduj¹cych
siê na serwerach ob³o¿onych pewnymi ogra-
niczeniami (na przyk³ad mo¿liwoœæ dostêpu
tylko dla komputerów z pewnych rejonów
œwiata). Dla przeciêtnego internauty w³aœnie
ta w³aœciwoœæ serwera proxy jest najbardziej
interesuj¹ca.
Aby korzystaæ z podobnych udogodnieñ,
nale¿y odpowiednio skonfigurowaæ przegl¹-
darkê: nale¿y podaæ adres serwera proxy wraz
z numerami portów, przez które dostêpne s¹
poszczególne us³ugi internetowe.
Internet
Serwer internetowy
Serwer proxy
Klient proxy
Sieæ wewnêtrzna
NA CD
NEWSY
Z OK£ADKI
FIRMA
MAGAZYN
PROGRAMY
WARSZTAT
INTERNET.wrzesieñ.2004
58
poradnik
function FindProxyForURL(url, host)
{
// Sprawdzamy, czy nazwa hosta zawiera kropki. Jeœli nie, to
// przegl¹darka przyjmuje, ze jest to nazwa lokalna i ³¹czy
// siê bezpoœrednio
if(isPlainHostName(host))
return ”DIRECT”;
// Tak samo sprawa wygl¹da w przypadku podania IP z sieci LAN
// (przyjmuj¹c, ¿e LAN ma IP z puli 192.168.x.x)
else if (shExpMatch(url,”*://192.168.*.*/*”))
return ”DIRECT”;
// Je¿eli próbujemy po³¹czyæ siê ze stron¹ WWW na naszym
// serwerze w domenie, niech przegl¹darka robi to
// bezpoœrednio.
else if (shExpMatch(url,”*.domenalokalna.pl/*”))
return ”DIRECT”;
// Je¿eli próbujemy siê po³¹czyæ ze stron¹ w zasobach
// polskiego Internetu, niech wykorzystany zostanie lokalny
// serwer proxy (np. squid). W przypadku jego nieosi¹galnoœci
// po³¹czenie bêdzie zestawiane bezpoœrednio.
else if (shExpMatch(url,”*.pl/*”))
return ”PROXY 192.168.1.1:8192; DIRECT”;
else
{
// Konfiguracja proxy dla konkretnych protoko³ów
// kolejno http, https, gopher i ftp.
// Domyœlnie (podobno) i tak wszystkie zg³oszenia
// spoza Polski id¹ poprzez transparentne
// proxy w3cache.tpnet.pl. Nic nie stoi na
// przeszkodzie, ¿eby spróbowaæ u¿yæ innego proxy
// (np. w3cache.icm.edu.pl) lub najbli¿szego
// geograficznie. Je¿eli po³¹czenie z proxy
// nie uda siê, to bêdziemy starali siê ³¹czyæ
// bezpoœrednio.
if( url.substring(0, 5) == ”http:” )
{
return ”PROXY w3cache.icm.edu.pl:8080; DIRECT”;
}
else if( url.substring(0, 6) == ”https:” )
{
return ”PROXY w3cache.icm.edu.pl:8080; DIRECT”;
}
else if( url.substring(0, 6) == ”gopher:” )
{
return ”PROXY w3cache.icm.edu.pl:8080; DIRECT”;
}
else if( url.substring(0, 6) == ”ftp:” )
{
return ”PROXY w3cache.icm.edu.pl:8080; DIRECT”;
}
else
{
// I na koniec regu³ka, ¿eby w ostatecznoœci
// (nieznany protokó³, b³¹d, serwer proxy
// nieosi¹galny) nastêpowa³o bezpoœrednie
// po³¹czenie
return ”DIRECT”;
}
}
}
Skrypty te s¹ obs³ugiwane przez wiêkszoœæ prze-
gl¹darek internetowych. Przyk³adowy skrypt jest
tak skonfigurowany, ¿e zagraniczne strony ³aduje
poprzez proxy w3cache.icm.edu.pl, natomiast
polskie domeny (z domen¹ .pl) obs³uguje lokal-
ny serwer proxy uruchomiony pod adresem
192.168.1.1. Odwo³ania do domeny obs³ugiwa-
nej przez lokalny serwer WWW oraz do kompu-
terów z sieci LAN proxy pomija.
Nasz przyk³adowy skrypt zapisujemy do pli-
ku, np. proxy.pac, a nastêpnie wskazujemy jego
lokalizacjê na dysku twardym jako nasz skrypt
konfiguracyjny.
Trzeci¹ funkcj¹ serwera proxy jest za-
gwarantowanie u¿ytkownikom anonimowo-
œci w Internecie. S³u¿¹ do tego tzw. anony-
mous proxy.
Rodzaje serwerów proxy
Transparent (przeŸroczyste) – w zasadzie
niezauwa¿alne zarówno dla u¿ytkownika,
jak i serwera, sk¹d pobierane s¹ dane. Nie
maskuj¹ danych u¿ytkownika w sieci. Je-
dyn¹ ich zalet¹ jest mo¿liwoœæ korzystania
z cache’u w celu przyspieszenia wczyty-
wania strony.
Anonymous (anonimowe) – serwer nie
wysy³a ¿adnych wiadomoœci o u¿ytkowni-
ku, ale zg³asza siê jako serwer proxy na
serwerze docelowym, sk¹d pobiera dane,
których za¿¹da³ u¿ytkownik.
High Anonymity (ca³kowicie anonimowe)
– serwer nie wysy³a ¿adnych wiadomoœci
o u¿ytkowniku, ani o tym, ¿e jest serwe-
rem proxy.
Dlaczego warto u¿ywaæ
anonimowych serwerów proxy?
Art. 54. ust.1. Konstytucji Rzeczypospoli-
tej Polskiej brzmi: „Ka¿demu zapewnia siê
wolnoœæ wyra¿ania swoich pogl¹dów oraz
pozyskiwania i rozpowszechniania informa-
cji.” Ka¿da us³uga dostêpna poprzez Inter-
net mo¿e pos³u¿yæ do zdobycia ró¿nego ro-
dzaju wiadomoœci o u¿ytkowniku. Dotyczy
to szczególnie przegl¹daj¹cych strony WWW.
Odpowiednio napisany serwis potrafi za po-
moc¹ zmiennych systemowych wyci¹gn¹æ
z komputera serfuj¹cego po sieci niemal
wszystko: adres IP, typ systemu operacyj-
nego i przegl¹darki, jakie witryny odwiedza
dany u¿ytkownik. Na podstawie tych danych
np. agencje marketingowe mog¹ póŸniej
wysy³aæ reklamy. Na podstawie adresu IP
mo¿na uzyskaæ nawet przybli¿ony adres, pod
którym zainstalowane jest ³¹cze (dotyczy to
na przyk³ad u¿ytkowników SDI), wystarczy
wpisaæ uzyskany IP do bazy RIPE (odsy³acz
nr
w ramce na nastêpnej stronie).
Przygotowanie skryptu automatycznej konfiguracji proxy
INTERNET.wrzesieñ.2004
WARSZTAT
NA CD
NEWSY
Z OK£ADKI
FIRMA
MAGAZYN
PROGRAMY
59
poradnik
szoœci¹ z³oœliwych wstawek na stronie, a jed-
noczeœnie ukrywa IP internauty, dane o jego
przegl¹darce i systemie operacyjnym, podsta-
wiaj¹c w to miejsce dane serwera.
Istniej¹ tak¿e tzw. CGI proxy. Jest to proxy,
którego u¿ywamy bezpoœrednio przez przegl¹-
darkê internetow¹. Przyk³adowe serwery tego
typu to http://www.anonymization.net lub http://proxify.com.
Po wejœciu na stronê jednego z tych serwerów
wpisujemy adres strony WWW, któr¹ chcemy
obejrzeæ. Proxy pobiera ¿¹dan¹ stronê i prze-
kazuje do naszej przegl¹darki, jednoczeœnie
podmieniaj¹c na serwerze nasze dane na swoje.
Nie musimy zatem konfigurowaæ komputera do
korzystania z proxy, a jedynie poszczególne wi-
tryny ogl¹damy anonimowo.
Niestety czêœæ serwisów internetowych nie
akceptuje zapytañ od serwerów proxy. Poja-
wia siê komunikat 502 Proxy Error, ¿e ¿¹dany
dokument nie mo¿e byæ dostarczony. Zdarza
siê równie¿, ¿e pojawia siê komunikat 305 Use
proxy, który z kolei wymusza u¿ycie proxy.
Pe³en spis kodów b³êdów HTTP zawiera do-
kument RFC 2616 dostêpny w Internecie (patrz
odsy³acz nr
w ramce powy¿ej).
Nie nale¿y tak¿e zapominaæ, ¿e anonimo-
we proxy chroni¹c nasze dane przed innymi
jednoczeœnie zapamiêtuj¹ je u siebie. Dlatego
przed u¿yciem znalezionego anonimowego
serwera proxy koniecznie powinniœmy spraw-
dziæ do kogo tak naprawdê ten serwer nale¿y
(sprawdzamy w bazie RIPE), bo w³aœcicielem
mo¿e byæ firma telekomunikacyjna, uczelnia,
jak równie¿... grupa hakerska.
Korzystanie z serwera poœrednicz¹cego ma
jeszcze jedn¹ wadê: niektóre strony wczytuj¹
siê wolniej, zw³aszcza te z dynamicznie gene-
rowan¹ zawartoœci¹. Wynika to z opóŸnieñ po-
wstaj¹cych w czasie, gdy proxy przeszukuje
swój cache, zanim pobierze nowe dane z ory-
ginalnego serwisu.
Konfiguracja proxy
Konfiguracjê serwera proxy mo¿na wykonaæ
na dwa sposoby:
Za pomoc¹ skryptu automatycznej konfi-
guracji (zalecane) podajemy adres interne-
towy serwera, na którym le¿y skrypt lub
wskazujemy lokalny plik na dysku (rys. 2).
Ustawienie „na sztywno” serwera proxy,
czyli np. 192.168.1.254 port 8192 (rys. 3).
Jednak trzeba pamiêtaæ, ¿e jest to rozwi¹-
zanie ma³o elastyczne i w przypadku awa-
rii tego serwera strony WWW nie bêd¹ siê
otwieraæ. Warto te¿ zaznaczyæ, ¿eby lokal-
ne adresy nie by³y przetwarzane przez pro-
xy (w lokalnych adresach mo¿na dodaæ te
zdalne, o których wiemy, ¿e szybciej ³¹czy-
my siê z nimi bezpoœrednio).
Podsumowuj¹c
Serwery poœrednicz¹ce s¹ us³ug¹ popularn¹
w Internecie. Zwiêkszaj¹ bezpieczeñstwo ko-
rzystania z sieci, przyspieszaj¹ wczytywanie
stron. Maj¹ oczywiœcie równie¿ szereg wad,
np. opóŸnienia czy blokady dostêpu do serwi-
sów poprzez proxy. O ile potrafi¹ skutecznie
chroniæ nasz¹ anonimowoœæ w Internecie, to
ADRESY ANONIMOWYCH PROXY
http://www.proxy4 free.com/page1.html
http://www.atomintersoft.com/products/alive-proxy/proxy-list
http://www.anonymitychecker.com/page1.html
http://polityka.wz.cz/forum
http://www.stayinvisible.com/index.pl/proxy_list
http://www.samair.ru/proxy/13.htm
http://www.publicproxyservers.com/p age1.html
BAZY Z SERWERAMI PROXY
http://www.multiproxy.org/env_check.htm
http://www.proxy.prv.pl
http://soldierproxy.s5.com/CurrentList.htm
http://www.novelsoft.com/dark/proxy/index.html
http://www.openproxies.com
SERWISY TESTUJ¥CE ANONIMOWOŒÆ
http://www.stayinvisible.com/index.pl/test_your_ip_nocache
http://www.tamos.com/bin/proxy.cgi
http://allfree.webprovider.com/proxychk.html
http://www.all-nettools.com/tools1.htm
http://www.tamos.com/netres/pr.cgi
http://tools.rosinstrument.com/cgi-bin/fp.pl
http://www.dawgssecurity.com
http://thor.prohosting.com/~tcpip/cgi-bin/env.cgi
INNE PRZYDATNE ADRESY
–
http://ripe.net/db/whois/whois.html
–
http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
Rys. 2. Ustawienie proxy za pomoc¹ skryptu
automatycznej konfiguracji. W IE wybieramy
z menu opcjê Narzêdzia | Opcje internetowe,
klikamy zak³adkê Po³¹czenia, a na niej przycisk
Ustawienia sieci LAN (A). Nastêpnie zaznaczamy
opcjê U¿yj skryptu automatycznej konfiguracji
i w polu Adres podajemy œcie¿kê dostêpu
do niego (B)
Rys. 3. „Sztywne” ustawienie serwera proxy
Ujawnianie IP wi¹¿e
siê równie¿ z niebezpie-
czeñstwem wyszukania
dziur w systemie u¿yt-
kownika za pomoc¹ ogól-
nodostêpnych programów
i tzw. exploitów, czêsto
wbudowanych w kod stro-
ny. Niektóre z tych progra-
mów mog¹ tylko zawiesiæ
komputer, ale inne, bar-
dziej zaawansowane,
mog¹ uzyskaæ dostêp do
zawartoœci dysku twarde-
go lub pamiêci. Wiadomo,
czym to siê mo¿e skoñ-
czyæ.
U¿ywanie serwera po-
œrednicz¹cego w znacz-
nym stopniu zmniejsza,
a w niektórych przypad-
kach wrêcz niweluje takie
zagro¿enia. Strony WWW
s¹ najpierw przetwarzane
przez serwer proxy i do-
piero potem dostarczane
koñcowemu odbiorcy, czy-
li internaucie. Taka proce-
dura radzi sobie z wiêk-
A
B
swojemu administratorowi udostêpniaj¹ infor-
macje o nas i o tym, kiedy i jakie strony od-
wiedziliœmy. Czy warto wiêc z nich korzystaæ?
Na to pytanie nie da siê odpowiedzieæ wprost,
trzeba to sprawdziæ doœwiadczalnie.