S tím, jak v žilách Internetu koluje stále více škodlivého kódu virů a spywaru, se lidé postupně učí své počítače před vnějším nebezpečím chránit. Pro srovnání není nutné chodit daleko: stačí si vzpomenout, co vám asi „obyčejní“ brouzdalové řekli ještě před pár lety na otázku, jestli používají firewall. Dnes je tento program standardní součástí Windows, stejně jako počítačových kurzů ve víkendových přílohách deníků. Firewall vás však ochrání jen (a je-li správně nakonfigurovaný) před neschváleným provozem z a do počítače. Nezabrání například tomu, aby při běžném přístupu k webových stránkám zanechal otisk vašeho čtenářského palce slušně širokou stopu v logovacím souboru serveru, na kterém se stránka nachází. Taková vizitka může čítat mnoho desítek řádků s popisem, co a kdy jste četli, odkud jste sem přišli (případně kam dále jdete), verzi vašeho operačního systému, prohlížeče, nastavení počtu barev a rozlišení… Zejména však vaši IP adresu, která vás jednoznačně identifikuje, ať jste připojeni pevnou linkou, kabelem, WiFi přípojkou či dial-upem. A zatímco z barevné hloubky a rozlišení toho o vás potenciální slídil mnoho nezjistí (maximálně pravděpodobnou velikost monitoru či vadu zraku), IP adresa je už údaj, se kterým se dá provádět ledacos.
Typický záznam z logu webového serveru, zaznamenávající přístup ke konkrétnímu souboru, pak může vypadat třeba takhle:
194.228.244.187 - - [02/Jul/2004:11:46:34 +0200]
"GET /texts.php?textid=78 HTTP/1.0" 200 49675
"http://scvk28.scvk.cz:7778/portal/page?_pageid=34,
32066&_dad=portal&_schema=PORTAL" "Mozilla/4.0
(compatible; MSIE 6.0; Windows NT 5.1)"
Hned první údaj je IP adresa, ze které přišel požadavek, následuje čas a vlastní příkaz k získání souboru texts.php
. Snadno zjistíme i předchozí URL, ze kterého žádost přišla, typ prohlížeče a operační systém. Nyní dejme tomu, že provozovatel sítě webových serverů disponuje analyzérem, kterým v log souborech „pospojuje“ jednotlivé záznamy podle shodných IP adres. Pokud určitá skupina uživatelů preferuje právě jeho weby, má k dispozici poměrně přesný obraz jejich pohybu, zvyklostí a zájmů podle stahovaných dokumentů. Není však nutné dráždit představivost takto složitými konstrukcemi. Jste-li jako neznámý uživatel z nějakého důvodu podezřelí z nelegální činnosti (třeba přístupu na web, který může, nebo nemusí obsahovat něčím závadný obsah), je povinen provozovatel tohoto webu vydat záznamy z log souboru orgánům činným v trestním řízení. Podle IP adresy a údajů od vašeho poskytovatele připojení pak získají vaši adresu (máte-li se svým ISP uzavřenou smlouvu), telefonní číslo (v případě připojení přes dial-up) a další údaje, potřebné k vašemu řádnému „proklepnutí.“
Kromě výše uvedených dat, která mohou vaši anonymitu ohrozit, je možno uvést další, třeba HTTP headers (hlavičky). Jedná se o proměnné, které si mezi sebou posílají klient (prohlížeč) a server. Za nebezpečné z tohoto hlediska je pak možné považovat hlavičky User-agent (typ klienta), Authorization (autorizace ve formě uživatelského jména a hesla) a WWW-Authenticate, From (emailová adresa uživatele, je-li známa) a Referer (odkud požadavek přišel), případně ještě X-Forwarded-for. Samozřejmě také není možné vyloučit třeba situaci přímého odposlechu ze strany providera – v tomto případě je jediným účinným protiprostředkem dobré šifrování – a jiné metody zjišťování podrobností o vaší identitě, jako je například zneužívání chyb v prohlížečích či emailových klientech k zasílání falešných odkazů či obrázků za účelem získání vaší IP adresy. To je však už problematika příliš obšírná a řešitelná odlišnými prostředky, než abychom se jí mohli v rámci jednoho článku zabývat. Pro tentokrát se proto spokojíme s úlohou zajištění dostatečné míry anonymity při práci s WWW stránkami v prohlížeči.
Jaké jsou možnosti?
Jednotlivé druhy anonymizačních prostředků lze odstupňovat podle jejich účinnosti při skrývání výše zmíněných údajů o uživatelově návštěvě. Za nejjednodušší lze z tohoto hlediska považovat proxy a cache servery, tedy programy, které slouží jako prostředník při komunikaci mezi klientem a serverem. Tím sice vystupují jako jakési maskování, kdy server místo vaší IP adresy vidí adresu proxy, nelze je však považovat za nástroje k dosažení skutečné anonymity (to platí zejména pro proxy servery v lokální síti, což je častý úkaz zejména ve firemním či akademickém prostředí). Jejich smyslem je poskytovat aplikační ochranu, nikoliv ochranu soukromí uživatelů. Dají se však použít k filtrování reklamních prvků a cookies a také nebezpečných HTTP proměnných (viz výše). Jste-li však omezeni v přístupu k jejich konfiguraci (jste řadový uživatel v síti), rozhodně nemůžete na tuto jejich funkci spoléhat. Mnohé proxy navíc mohou posílat proměnnou X-Forwarded-for s vaší skutečnou IP adresou, takže potom je jejich anonymizační funkce okleštěna úplně (na druhou stranu, oblíbený squid disponuje alespoň omezenými možnostmi anonymizace klienta prostřednictvím konfiguračních direktiv anonymize_headers
, fake_user_agent
a forwarded_for
). Prakticky vždy pak proxy servery samy zaznamenávají vaši IP adresu a další údaje o vás, a byť je třeba dále neposílají, zůstávají tyto záznamy o vaší činnosti k dispozici případným pátračům stejně jako v případě web serverů.
O dost lepším prostředkem ke skrývání identity jsou pak otevřené (open) proxy servery. Jejich otevřenost spočívá v tom, že narozdíl od správně nastaveného proxy serveru vyřizují požadavky od kohokoliv (tedy ne jen od autorizovaného uživatele, např. ve vnitřní síti). Pokud se vám navíc podaří najít takovou otevřenou proxy v dostatečně odlehlém koutu světa, máte velkou šanci, že v případě zpětného pátrání po vašich stopách budou mít vaši lovci dost náročný úkol. Stále však platí pravidlo dostatečného ověření toho, co o vás vlastně cílovému serveru řeknou. Některé z nich mohou posílat hlavičku X-Forwarded-for či jiné nebezpečné proměnné, s velmi velkou pravděpodobností pak logují požadavky s adresami, ze kterých přišly. Dohledatelní jste tedy stále; můžete však alespoň tuto možnost ztížit zřetězením takto otevřených proxy serverů tak, že požádáte některý, aby kontaktoval druhý a ten další atd., až se poslední v řetězci připojí k požadovaným stránkám.
Otevřených proxy serverů funguje na Internetu veliké množství a není ani velký problém najít stránky, které je evidují (namátkou třeba http://az.ru/tophacker/Proxy.htm nebo http://tools.rosinstrument.com/proxy/). Je však nutné upozornit, že v řadě případů je jejich otevřenost způsobena spíš neznalostí administrátora než záměrem, takže jejich použití lze považovat spíše za zneužití.
Zdaleka nejlepší možností, jak svoji anonymitu při brouzdání webem zachovat, pak představují WWW anonymizéry. Krátce řečeno, jsou to servery, které jsou k skrývání identity přímo určené. Fungují sice na podobném principu jako open proxy servery (stojí jako prostředník mezi klientem a cílovým serverem, kterému zasílají klientův požadavek a předávají mu odpověď), avšak oproti proxy serverům k tomu přidávají několik výhod. Především je jejich používání legální, neboť jejich provozovatelé o této činnosti vědí (a počítají s ní). Dále často nabízejí šifrovaný přístup a určitý komfort při používání – přepisují například odkazy na cílové stránce tak, abyste po kliknutí na ně přistupovali na další stránky opět přes anonymizér. Prakticky ve všech případech nepředávají dále vaši IP adresu a většinou ani nebezpečné HTTP hlavičky.
Jak jistě tušíte, suma výhod musí být i zde vyvážena penálem nevýhody. Tu tentokrát představuje především rozšířený zvyk vybírat za jejich používání poplatky. Free verze pak většinou bývají pomalé a/nebo omezené v některé z funkcí. To je i případ nejznámějšího Anonymizer.com, který v bezplatné verzi nabízí jen pomalé připojení, avšak edituje i HTTP hlavičky.
Známý je i ruský Anonymizer.ru, který však má potíže s češtinou na stránkách. Web-warper je rychlý a navíc nabízí i komprimaci požadovaných stránek, neodstraňuje však HTTP proměnné. MyShield vyžaduje registraci, The Cloak nabízí řadu nastavení, avšak HTTP proměnné ponechává. Anonymization.net nabízí i toolbar, HTTP hlavičky odstraňuje. Anonymouse.ws je pomalý a má potíže s češtinou, avšak s HTTP headery si poradí. Z české nabídky pak nesmíme pominout anonymizér na serveru Katedrála, který je vcelku rychlý, avšak podle testů HTTP hlavičky v požadavcích ponechává.
A ještě důležité zjištění, co se logování týče: ani u anonymizérů si nemůžete být jistí, že vaše požadavky a IP adresu nezaznamenává. Řada z nich také v podmínkách k používání přímo stanovuje, že v případě potřeby (nelegální užití) vydají tyto záznamy odpovědným orgánům. To však nemusí trápit toho, kdo s pomocí anonymizéru hodlá jen uchránit svoji identitu před nežádoucí pozorností provozovatelů webů nebo jeho uživatelů. Zkušení „piráti“ si pak anonymitu zajišťují úplně jinak: předem připravenou sítí počítačů, které si předtím zpřístupnili útokem či trojským koněm. Jelikož jejich majitelé ani netuší, že je někdo vůbec využívá jako „proxy server,“ neexistují v nich žádné logy o průchozích požadavcích. To je však už téma na docela jiný článek.