Jak surfować po sieci z zupełnie innego komputera i adresu IP bez usługi VPN

dodał 14 listopada 2016 o 07:30 w kategorii Info  z tagami:
Jak surfować po sieci z zupełnie innego komputera i adresu IP bez usługi VPN

Czasem jest tak, ze do bezpiecznego i prywatnego surfowania po sieci sam VPN nie wystarcza – a czasem jest tak, że VPN to aż za dużo. Z pomocą przychodzi wtedy zdalny pulpit, który w wielu scenariuszach może być bardziej przydatny od VPNa.

We współpracy z firmą ArubaCloud pokazaliśmy Wam, jak postawić swój serwer backupów, jak skonfigurować własny serwer VPN i podłączyć do niego komputer, telefony komórkowe oraz domowy ruter a także jak schować się przed cenzurą sieci i jak zacząć serwer zabezpieczać. Dzisiaj pokażemy, jak jeszcze możemy serwer Aruby wykorzystać, by poprawić swoje bezpieczeństwo i prywatność.

Jeśli nie macie jeszcze swojego własnego serwera, to jest to dobra okazja by się w taki wyposażyć. Aruba oferuje dwa miesiące korzystania ze swojego podstawowego serwera gratis – a po zakończeniu promocji będzie on Was kosztował zaledwie 4 złote miesięcznie. Instrukcję jak krok po kroku skorzystać z promocji i uruchomić swój serwer znajdziecie w tym artykule. Jeśli macie już swój serwer – to zapraszamy do lektury kolejnych akapitów.

Po co mi zdalny pulpit

Zdalny pulpit to najprościej rzecz ujmując możliwość korzystania z innego komputera. W naszym przypadku tym innym komputerem będzie serwer w ArubaCloud – z innym adresem IP, innym systemem operacyjnym i inną przeglądarką. Czym takie rozwiązanie różni się od VPNa?

Po pierwsze VPN zmienia (ukrywa) jedynie nasz adres IP, podczas kiedy korzystanie ze zdalnego pulpitu nie tylko daje nam inny adres IP, ale także tworzy dodatkową warstwę pomiędzy nami a serwerem, który chcemy odwiedzić. Dzięki temu serwer docelowy nie tylko widzi inny system i przeglądarkę (to akurat możemy względnie prosto sfałszować) ale także w razie gdyby serwer zdalny próbował nas zaatakować (np. poprzez błędy we wtyczkach czy przeglądarkach) to wszystko, co może osiągnąć, to uzyskanie kontroli nad naszym serwerem, gdzie nie posiadamy żadnych istotnych danych i który możemy w każdej chwili porzucić lub przywrócić do stanu sprzed ataku. Atakujący w najgorszym razie będzie mógł poznać adres IP z którego się połączyliśmy, lecz nie dostanie się do naszych danych. Dodatkowym atutem jest fakt, że zdalne zautomatyzowane ataki najczęściej wymierzone są w systemy Windows, przez co większość z nich nie ma możliwości powodzenia na naszej przeglądarce na serwerze.

Drugim dużym atutem takiej konfiguracji jest możliwość korzystania z niej do poszczególnych przypadków. Oczywiście nie wątpimy, że są wśród Was osoby, które VPNa nigdy nie wyłączają, jednak większości użytkowników nie jest on potrzebny cały czas. Zamiast go zatem włączać i wyłączać czasem prościej jest zalogować się na zdalny serwer, zrobić co jest do zrobienia i wrócić do swojego zwykłego komputera.

Przykładowe scenariusze, przy których zdalny pulpit może się przydać to:

  • odwiedziny na stronach które mogą być potencjalnie złośliwe (np. w trakcie analizy zgłoszonego podejrzenia infekcji witryny),
  • pobieranie złośliwego oprogramowania z serwerów kontrolowanych przez przestępców (nie zostawiamy śladów bezpośrednio do nas prowadzących),
  • analizy incydentów związanych z wyciekami danych (na wszelki wypadek lepiej nie robić tego z domowego adresu IP),
  • pobieranie plików z serwerów hostingowych (nigdy nie wiadomo, na co się trafi…),
  • czytanie artykułów w serwisach które ograniczają liczbę wizyt z poszczególnych adresów IP (odpalanie VPNa dla jednego artykułu to trochę strzelanie z armaty do muchy),
  • korzystanie z Tora z dodatkową warstwą bezpieczeństwa (chociaż nasz poradnik nie obejmuje tego scenariusza, to instalacja oprogramowania nie będzie problemem).

Czas zatem skonfigurować naszą usługę.

Konfiguracja serwera w Aruba Cloud

Na serwerze zdalnym musimy zainstalować wymagane oprogramowanie: system okien X window, środowisko graficzne Xfce oraz podstawowe aplikacje z grupy „Desktop”. W tym celu posłużymy się systemem zarządzania pakietami – yum:

$ sudo yum groupinstall "Desktop" "Xfce" "X Window System"

Do serwera graficznego będziemy łączyli się używając protokołu VNC. Jeśli nie mamy zainstalowanej usługi VNC wydajemy polecenie:

$ sudo yum install vnc-server

Aby zarządzać usługą VNC musimy skopiować odpowiedni plik. Plik o nazwie [email protected] kopiujemy jako [email protected]:1.service i ustawiamy w nim nazwę użytkownika dla którego będzie uruchamiana usługa VNC:

sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/[email protected]:1.service

Edytujemy plik /etc/systemd/system/[email protected]:1.service. W pliku tym zmieniamy słowo  <USER> na nazwę naszego użytkownika na serwerze. Proces VNC będzie uruchamiany z konta tego użytkownika. Dla użytkownika o loginie 'krystian’ plik wygląda następująco (zmiany nastąpiły w linii 9 oraz 10):

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l krystian -c "/usr/bin/vncserver %i"
PIDFile=/home/krystian/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

Ustawiamy hasło do połączenia z VNC:

vncpasswd

Aby uruchomić środowisko graficzne Xfce po nawiązaniu połącznia VNC edytujemy plik /home/krystian/.vnc/xstartup. W pliku tym wprowadzamy nazwy programów które chcemy, aby zostały uruchomione po nawiązaniu połączenia do środowiska X Window. My uruchomimy środowisko Xfce:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#exec /etc/X11/xinit/xinitrc
startxfce4

Następnie uruchamiamy usługę na serwerze:

sudo systemctl start [email protected]:1.service

Jeśli zdecydujemy się na uruchamianie usługi podczas startu systemu, wykonujemy polecenie:

sudo systemctl enable [email protected]:1.service

Usługa VNC zostanie uruchomiona na lokalnym adresie 127.0.0.1:5901.

Zaufana Trzecia Strona na Aruba Cloud

Mam VNC, mam środowisko graficzne, ale jak mam się podłączyć?

Usługa VNC została uruchomiona serwerze zdalnym, na porcie 5901. Usługa nasłuchuje jednak na lokalnym interfejsie localhost:5901. Zdecydowanie nie rekomendujemy uruchamiania usługi na publicznym interfejsie – ograniczymy w ten sposób ryzyko potencjalnych nadużyć związanych z możliwością wystąpienia błędów w usłudze VNC. Jak zatem mamy się teraz połączyć do loklanie uruchomionej usługi? Skonfigurujemy w tym celu tunel, w którym przekierujemy port 5901 z serwera zdalnego do naszego komputera.

Tunel SSH z systemu Windows z użyciem PuTTy

Uruchamiamy PuTTy i w głównym oknie programu PuTTY wybieramy menu Connection -> SSH -> Tunnels. Ustawiamy port źródłowy (Source port: 5901) oraz port docelowy (Destination port: localhost:5901). Następnie instalujemy klienta VNC (np. TightVNC) w którym podajemy adres komputera zdalnego: 127.0.0.1:5901.

Musimy pamiętać, że tunel otwarty jest tylko wtedy, gdy jesteśmy zalogowani na serwerze. Zamykając okno PuTTY jednocześnie zamykamy nasz tunel i zrywamy połączenie ze zdalnym pulpitem.

Tunel SSH z systemu Linux

W celu utworzenia tunelu w konsoli wydajemy polecenie:

ssh -C -L 5901:localhost:5901 [email protected]_serwera_aruba

Dzięki parametrowi -C kompresujemy dane a parametr -L 5901:localhost:5901 powoduje, że tunelujemy połączenie TCP ze zdalnego serwera z portu  5901 do naszego komputera (localhost) na port 5901. Po uzyskaniu połączenia SSH, uruchamiamy program do nawiązywania połączeń VNC. W Linuksie doskonale sprawuje się vinagre, który oprócz VNC obsługuje także inne protokoły, np. RDP.

Ustawienia Vinagre VNC

Co dalej?

Po połączeniu do serwera możemy zaninstalować potrzebne nam oprogramowanie, np. przeglądarkę WWW, klienta IRC czy paczkę Tora. Nic nie stoi też na przeszkodzie aby uruchomić kolejne usługi VNC dla innych uzytkowników. Aby dodać kolejną usługę należy utworzyć nowe konto dla użytkownika:

adduser adam

a następnie skopiować utworzony już plik /etc/systemd/system/[email protected]:1.service jako [email protected]:2.service:

cp /etc/systemd/system/[email protected]:1.service /etc/systemd/system/[email protected]:2.service

W utworzonej usłudze wystarczy zamienić <USER> na nazwę użytkownika (adam) oraz powtórzyć kroki z tego poradnika. Usługa będzie uruchomiona na porcie 5902/tcp itd.

Podsumowanie

Na koniec mała premiera – pierwszy film naszego kanału na Youtube, pokazujący krok po kroku operacje opisane powyżej. Dajcie znać czy się Wam przydał – jeśli uznacie taką formę za użyteczną, to będą kolejne.

Dla pełnej przejrzystości – za przygotowanie oraz opublikowanie powyższego artykułu otrzymujemy wynagrodzenie.