Czy VPN zapewnia anonimowość?

Nie jest już chyba żadną nowością czy zaskoczeniem, że nie możemy się czuć anonimowi w Internecie. Nawet jeśli nasza aktywność nie jest powiązana bezpośrednio z nami poprzez identyfikatory portali społecznościowych, nadal można nas identyfikować innymi sposobami, a jest ich kilka. Nasz dostawca Internetu doskonale wie na które strony wchodziliśmy czy z jakich serwisów korzystaliśmy. Jedni z Państwa powiedzą, że nie mają nic do ukrycia, inni, że są oburzeni brakiem prywatności. Niezależnie od tego do której grupy się Państwo zaliczają, warto mieć świadomość, że istnieją technologie, które dość szybko kojarzone są z prywatnością i anonimowością. Zastanówmy się, czy faktycznie je zapewniają.

Wirtualne Sieci Prywatne, czyli VPN. Gdybyśmy zaczęli losowych ludzi spotkanych na ulicy wypytywać czym według nich jest VPN, prawdopodobnie usłyszelibyśmy takie odpowiedzi jak na przykład “taka bezpieczna sieć, która ukrywa numer IP”, “metoda łączenia się z biurem” albo “taka sieć, dzięki której można być anonimowy”. I co prawda każda z tych odpowiedzi niesie ze sobą odrobinę prawdy, to brak pełnego kontekstu sprawia, że często nabieramy błędnego wyobrażenia o tym czym tak naprawdę jest, a także czym nie jest VPN. Usystematyzujmy sobie tę wiedzę tak, żeby po wysłuchania tego odcinka każdy z Panstwa sam mógł sobie odpowiedzieć na pytanie czy VPN faktycznie zapewnia anonimowość i prywatność.

Zacznijmy od tego czym jest VPN. VPN możemy sobie wyobrazić tak naprawdę jak każdą inną usługę typu klient-serwer. Nasz komputer jest klientem a serwer to po prostu inny komputer, który oczekuje na połączenia od klientów. Serwer dodatkowo weryfikuje klientów, którzy próbują się połączyć oraz zapewnia pewne dodatkowe funkcjonalności. Z punktu widzenia aplikacji VPN, korzystamy z usługi tak samo, jak z wielu innych. Po prostu łączymy się z serwerem. Jednakże efekt takiego połączenia jest na swój sposób wyjątkowy, ponieważ uzyskujemy dzięki niemu dostęp do dodatkowej sieci. Z punktu widzenia naszego urządzenia będzie to w zasadzie taka sama sieć jak każda inna. Są jednak dwa aspekty, które czynią tę sieć wyjątkową. Po pierwsze, dodatkowa sieć, będzie mogła fizycznie przebiegać przez dowolną liczbę pośredników, jak na przykład nasz dostawca Internetu, liczne systemy autonomiczne czy urządzenia pośredniczące, ale z naszej perspektywy jako użytkownika będzie widoczna jako sieć bezpośrednio połączona z naszym urządzeniem. Innymi słowy sieć, do której się połączymy może być fizycznie od nas oddzielona wieloma sieciami, ale dla nas będzie widoczna tak, jakbyśmy do niej byli podłączeni bezpośrednio. Drugi aspekt takiego połączenia to szyfrowanie. Cała nasza aktywność, która będzie zachodzić w tym dodatkowym wirtualnym połączeniu będzie szyfrowana w obie strony komunikacji na całej drodze pomiędzy serwerem a naszym klientem. Mawiamy, że takie połączenie, które tworzy dodatkową sieć wirtualną, a w tym przypadku również szyfrowaną, jest tak zwanym “tunelem”. Mówimy na to “tunel”, ponieważ w takim tunelu jesteśmy w stanie schować naszą komunikację, nawet jeśli strony internetowe, z którymi się kontaktujemy same nie zapewniają szyfrowania. Muszę jednak zwrócić uwagę, że tunel jest obecny jedynie pomiędzy serwerem a klientem. Zatem jeśli serwer przekazuje nasze połączenie gdzieś dalej, powinniśmy pamiętać o odpowiednich środkach bezpieczeństwa, jak choćby TLS. VPN uruchamia się tam, gdzie serwer może przekazywać nasze połączenia do jakiejś sieci zaufanej. I dochodzimy de facto do meritum zastosowań VPN. VPN ma najczęściej zastosowanie jako brama umożliwiająca połączenie z biurem czy jakąś zdalną infrastrukturą.

Aby usystematyzować naszą wiedzę o VPN i lepiej zrozumieć jego działanie, warto zrozumieć ogólny mechanizm łączenia się z tą siecią. Mechanizm jest dość podobny do “uścisku dłoni”, który opisywałem w poprzednim odcinku, jednakże jest jeszcze bardziej restrykcyjny. W tym przypadku zarówno klient jak i serwer posiadają swoje własne pary kluczy kryptograficznych. Czyli każda strona posiada swój własny klucz publiczny, który udostępnia drugiej stronie, oraz własny klucz prywatny, którego trzyma tylko dla siebie. Każdy klucz z pary działa tak, że jeśli zaszyfrujemy wiadomość jednym z nich, odszyfrować ją możemy za pomocą tego drugiego klucza. Czyli jeśli zaszyfrujemy wiadomość kluczem publicznym, odczytać ją może tylko właściciel klucza prywatnego i odwrotnie. Ze względu na to, że klucza prywatnego nigdy się nie udostępnia a publiczny może być ogólnodostępny, szyfrowanie za pomocą klucza prywatnego na ogół nazywamy “podpisywaniem”. Jeśli ktoś “podpisze” daną wiadomość swoim kluczem prywatnym, ktoś w posiadaniu klucza publicznego zawsze może zweryfikować, czy wiadomość została faktycznie podpisana odpowiednim kluczem. W procesie połączenia z VPN klient i serwer wymieniają się swoimi kluczami publicznymi. To tak, jakby np. serwer wysłał mi swój klucz publiczny mówiąc “masz tu mój klucz publiczny, szyfruj nim wiadomości, które będziesz adresować do mnie, bo tylko ja zrozumiem ich treść”. Dodatkowo obie strony komunikacji VPN posiadają certyfikat “urzędu certyfikacji”, dzięki któremu mogą zweryfikować wzajemnie tożsamość. Obie strony mogą mieć pewność, że klucz publiczny, który otrzymały od drugiej strony przez Internet, faktycznie należy do tej drugiej strony a nie został przechwycony gdzieś w drodze i podmieniony na jakiś klucz spreparowany. Kiedy obie strony zweryfikują się poprawnie, klient generuje losowy ciąg znaków, który zostaje zaszyfrowany kluczem publicznym serwera. Ciąg znaków jest wykorzystany do stworzenia wspólnego klucza sesji. Od tej pory zarówno klient jak i serwer używają do szyfrowania klucza wspólnego. W trakcie takiej sesji powstaje “tunel”, przez który przechodzą wiadomości tylko i wyłącznie szyfrowane kluczem ustalonym przed chwilą. Serwer staje się także routerem, czyli każde połączenie przechodzi przez niego i w razie potrzeby zostaje transmitowane dalej. Komercyjni dostawcy VPN działają tak, że pozwalają na puszczenie całego naszego ruchu przez ich serwery. Dla tego, jeśli połączymy się z serwerem w Madrycie, możemy w przeglądarce internetowej zobaczyć, że strony internetowe są w języku Hiszpnaskim. Dzieje się tak, ponieważ serwer w Madrycie jest teraz naszym routerem a strona, z którą się łączymy automatycznie dopasowała język do IP nadawcy. Kiedy jesteśmy połączeni z takim serwerem VPN w Madrycie, nasz dostawca Internetu wie tylko tyle, że korzystamy z serwera VPN, który stoi gdzieś w Madrycie. Nie wie nic poza tym. Jednakże całą naszą komunikację zna już wtedy dostawca VPN. Czyli w efekcie po prostu sprawiliśmy, że naszą aktywność w Intenecie zna po prostu ktoś inny. Co gorsza, dostawca VPN często wymaga rejestracji, co ułatwia mu powiązanie naszej osoby z konkretną aktywnością. Anonimowości w ten sposób zdecydowanie nie zyskujemy.

A teraz powiedzmy sobie czym VPN zdecydowanie nie jest i czego nie robi. Czasem można się zetknąć z opiniami “używam VPN, jestem bezpieczny”. Samo stwierdzenie “być bezpiecznym” brzmi szczerze mówiąc trochę zabawnie w kontekście komputerów, ale spróbujmy wymienić kilka najpopularniejszych mitów. VPN nie chroni nas przed szkodliwym oprogramowaniem. Jest to tak naprawdę tylko metoda przekazywania połączen przez szyfrowany tunel. Nie ma nic wspólnego ze skanowaniem czy blokowaniem jakiegokolwiek oprogramowania. Jeśli używając VPN nawiążemy połączenie z jakąś podejrzaną stroną, lub odbierzemy mail z wirusem, efekt będzie taki sam, jakbyśmy to robili bez VPN. Kolejny mit dotyczy anonimowości. VPN jej nie zapewnia. Skoro serwer VPN odgrywa rolę routera, to nadpisuje numer IP w trakcie trasowania. Serwer docelowy z którym się połączymy za pośrednictwem VPN faktycznie ujrzy numer IP serwera VPN. Warto zadać sobie jednak pytanie – co z tego. Znaczna większość internautów nie posiada publicznego numeru IP, a za każdym razem, kiedy internauta chce się z kimś połączyć, jego IP jest wielokrotnie nadpisywane przez routery, które i tak stoją na drodze do serwerowni jego dostawcy Internetu. W takich okolicznościach serwer docelowy, przed którym chcemy ukryć IP i tak zobaczy raczej jakieś IP należące do naszego dostawcy Internetu i w ten sposób nie powiąże naszej osoby z tą aktywnością. Może natomiast powiązać naszą osobę poprzez ciasteczka, które przechowuje nasza przeglądarka internetowa. Jeśli mamy w naszej przeglądarce zapamiętane ciasteczka, które mają za zadanie identyfikację klientów, serwer docelowy doskonale będzie wiedział, czy łączymy się przez VPN czy bezpośrednio. Poza tym, jeśli postanawiamy się zalogować za pomocą swoich osobistych poręczeń (użytkownik i hasło), cała anonimowość się koczy. Ostatecznie dokonaliśmy jawnego logowania i serwer wie, że to my, niezależnie czy przez VPN czy bezpośrednio. Zetknąłem się również ze stwierdzeniem, że VPN jest nielegalny. Jest to absolutna nieprawda. Niezliczone firmy korzystają z VPN, aby udostępnić swoje zasoby pracownikom pracującym zdalnie. VPN jest też intensywnie eksploatowany jako połączenia typu “site to site” czyli pomiędzy dwoma ośrodkami oddalonymi od siebie geograficznie, ale muszącymi pozostać w stałej łączności. Być może ten stereotyp się zrodził, kiedy ktoś używał tej technologii w złych celach.

Skoro już wiemy, że VPN tak naprawdę nie zapewnia anonimowości, zastanówmy się do czego możemy go wykorzystać. Kiedy jego zastosowanie ma sens? Najbardziej naturalnym przykładem zastosowania VPN jest zdalny dostęp do sieci biura. Załóżmy, że w biurze mamy bazę plików, bazę danych, oraz kilka komputerów. Z każdym z tych komponentów chcemy mieć możliwość się połączyć zdalnie. Jeśli nie mamy VPN, każdy komponent powinien być jakoś udostępniony i widoczny w Internecie. Wiąże się to z dodatkową konfiguracją usług, routera oraz co najgorsze, z dodatkowym ryzykiem, że ktoś znajdzie podatności i je wykorzysta do zaatakowania naszej infrastruktury. W takiej sytuacji lepiej by było wszystkie usługi działające w biurze pozostawić tak, żeby działały tylko w jego obrębie, ale udostępnić serwer VPN do Internetu jako jedyna usługa dostępna z zewnątrz. Uprawniony klient VPN mógłby się zalogować, przechodząc restrykcyjny proces autoryzacji i po jej zakończeniu korzystać z usług znajdujących się w biurze dokładnie tak, jakby się w nim znajdował fizycznie. Wymagałoby to oczywiście konfiguracji serwera VPN w swoim biurze.

VPN może być również użyteczny w trakcie korzystania z jakiejś niezaufanej sieci. Zdarzyło się komuś z Państwa podłączyć się do wifi w kawiarni i nie być zapytanym o hasło? VPN jest całkiem dobrą opcją, kiedy korzystamy z sieci, której nie do koca ufamy, ponieważ na pewnym odcinku zapewnia szyfrowanie. Jeśli ktoś w kawiarni spreparował punkt dostępu Wi-Fi, a my się do niego podłączymy, możemy być podsłuchiwani. VPN zapewni nam szyfrowanie nawet jeśli połączenie będzie przekazywane w formie otwartego tekstu. Znowuż, należy pamiętać, że szyfrowanie VPN zachodzi tylko na odcinku od klienta do serwera a nie dalej. Jeśli zatem nie mamy do końca pewności czy możemy podjąć takie ryzyko, lepiej po prostu się powstrzymać.

Zatem czy warto używać VPN żeby poczuć się bardziej anonimowo i bezpiecznie w Internecie? Nie, ponieważ VPN nie został stworzony z myślą o anonimowości. Możemy oczywiście ukryć naszą komunikację przed naszym dostawcą Internetu, ale będzie ona wtedy przeniesiona na dostawcę VPN. Skoro nie ufamy dostawcy Internetu, to czemu mamy ufać dostawcy VPN? Więcej uzyskamy poprzez zmianę nawyków, na bardziej ostrożne korzystanie z Internetu. VPN może tutaj tylko posłużyć jako dodatek.

Czy warto używać VPN, żeby korzystać ze zdalnych zasobów? Jak najbardziej, VPN powstał z myślą o stworzeniu bezpiecznego tunelu, dzięki któremu możliwe jest skorzystanie z nie tylko jednego, ale wielu zasobów zdalnej sieci. W pewnym sensie upraszcza infrastruktury IT, ponieważ zamiast udostępniać wiele usług w Internecie, pozwala udostępnić jedną, która niejako umożliwia hurtowo udostępnić je wszystkie i to w dość bezpieczny sposób.

Świat IT nie znosi próżni. Kiedy powstaje potrzeba, dość szybko pojawia się i narzędzie. Jest to cecha szczególnie charakterystyczna dla Open Source. Tak naprawdę w budowaniu infrastruktur IT problemem nie jest brak narzędzi, tylko znalezienie i dobranie odpowiednich narzędzi do swoich potrzeb. VPN zdecydowanie jest świetnym narzędziem do łączenia z sieciami, w których mamy jakieś ukryte usługi. Jednakże dla zachowania anonimowości istnieją znacznie lepsze narzędzia, o których porozmawiamy w kolejnym odcinku.