14.11.2016 | 07:30

krystian

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 vncserver@: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/vncserver@:1.service

Edytujemy plik /etc/systemd/system/vncserver@: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 vncserver@:1.service

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

sudo systemctl enable vncserver@: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 krystian@adres_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/vncserver@:1.service jako vncserver@:2.service:

cp /etc/systemd/system/vncserver@:1.service /etc/systemd/system/vncserver@: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.

Powrót

Komentarze

  • 2016.11.14 08:14 John

    Równie dobrze można to zrobić na lokalnej wirtualnej maszynie.

    Odpowiedz
    • 2016.11.15 11:43 msm

      Można, ale wtedy wychodzisz ze swojego adresu IP a tego autor artykułu chciał uniknąć. No i (dla paranoików), łatwiej o ucieczkę z VM do hosta niż do hosta przez klienta VNC.

      Z drugiej strony, można użyć whonixa, ale to trochę overkill dla odmiany.

      Odpowiedz
    • 2016.11.15 13:04 PG

      Ale wtedy wychodzisz na swiat poprzez swoje polaczenie internetowe.

      Odpowiedz
  • 2016.11.14 08:25 v0id

    A nie prościej Socks proxy przez tunel SSH i wtyczka do przeglądarki?

    Odpowiedz
  • 2016.11.14 09:39 hoek

    Fajny wpis, dawno już nie było ciekawego, praktycznego oraz bardziej technicznego poradnika. Dla użytkowników z systemem Linux polecam aplikację Remmina zamiast Vinagre. Remmina również obsługuje VNC/RDP a dodatkowo tunelowanie SSH.

    Odpowiedz
  • 2016.11.14 09:43 gregory

    Mozna skorzystać równiez serwera X zainstalowanego lokalnie . Xy można zainstalować równiez na win32, polecam VcXsrv. Dzieki takiemu rozwiązaniu możemy zrobić skróty na naszym pulpicie do zdalnej przeglądarki.

    peace

    Odpowiedz
  • 2016.11.14 10:00 Awers

    A nie lepszym zamiennikiem VNC jest X2GO?

    Odpowiedz
  • 2016.11.14 10:49 Jan

    ssh -X user@server

    $ firefox

    Voila! Zdalny Firefox przekierowany na Twoje X-y.

    All you need is love (and a bit of Linux).

    Odpowiedz
    • 2016.11.14 11:29 manto

      +1
      trzeba tylko pamiętać że Xy i firefoksa i tak trzeba zainstalować, ale konfiguracja VNC odpada :-)

      Odpowiedz
  • 2016.11.14 11:03 Michal Głuś

    Filmik super, WINCYJ!!!

    Odpowiedz
  • 2016.11.14 13:13 dymon

    sudo apt-get install xrdp
    sudo apt-get install xfce4
    echo xfce4-session >~/.xsession
    sudo service xrdp restart

    Odpowiedz
  • 2016.11.14 13:18 Lu

    Jasne. Anonimowo blah blah… A przy rejestracji:
    Imię: *
    Nazwisko: *
    Forma prawna:
    FirmaOsoba prywatna
    Firma: *
    NIP lub PESEL: *
    Telefon komórkowy: *
    Wymagany jest poprawny numer telefonu ponieważ voucher jest wysyłany SMS-em.
    Adres email: *

    Sami sie w to bawcie. Znam o wiele lepsze za btc.

    Odpowiedz
    • 2016.11.14 15:20 Maciek

      Myślę, że w używaniu zdalnego pulpitu w sposób który jest opisany w artykule nie chodzi o zapewnienie anonimowości, lecz bezpieczeństwa. To trochę różne sprawy jednak. Oczywiście o anonimowości nie ma mowy, skoro rejestrujemy się w sposób jaki wkleiłeś. Ale tu raczej chodzi o to, by ewentualne ataki/malware nie atakował Twojego własnego komputera, lecz zdalny serwer.

      Odpowiedz
    • 2016.11.14 15:33 Pawlo

      He he dokładnie też mnie to zainteresowało :) chociaż VPS za 4 zł do zabawy i na serwer LAMP dla mnie wystarczy

      Odpowiedz
    • 2016.11.15 00:34 cd_s

      Ale przeciez takie sprawy tak samo jak konta bankowe i rejestracje sim… Stawiasz winko za 5 zł i robisz na pana żula.

      Odpowiedz
      • 2016.12.04 11:46 wer

        Ale serwer zna twoje dane tj. IP i komórkę.

        Odpowiedz
    • 2016.11.26 19:23 tedek

      Poprosze o przyklady, sprawdze ;-)

      Odpowiedz
  • 2016.11.14 13:19 44min

    Fajna reklama :)

    Odpowiedz
  • 2016.11.14 17:47 hhh

    decker lepszy
    zaczekam az bedziecie udostepniac dokera, taki maly linux zajmuje jakies 4-5Mb

    Odpowiedz
  • 2016.11.14 20:46 Tomash

    Przy prędkościach jakie oferuje Aruba to napewno będzie wydajna praca. Podobnie jak reklamowany vpn,który do niczego się nie nadaje. Gdyż prywatność na ich usłudze jest zerowa. A jeśli jeszcze do tego złamiemy regulamin to Aruba od razu podaję nasze dane na tacy.

    Odpowiedz
  • 2016.11.15 00:14 Marek

    No wszystko bylo by fajnie jak by wasza zajebista aruba miala zabezpieczenie DDOS. Polasilem sie po waszym letnim artykule na arube no ale porazka jest.

    Odpowiedz
    • 2016.11.15 17:48 igrek

      Mógłbyś rozwinąć? Za te 4 złote to myślałem, żeby wziąć do zabawy, ale jak są problemy to raczej podziękuję.

      Odpowiedz
  • 2016.11.15 20:13 Lukasz

    ssh -D 8081 -C2 -N user@server -p 10023

    Odpowiedz
  • 2016.11.17 13:23 krzysiek

    Witam
    u mnie coś nie chodzi przy probie odpalenia usługi.
    „Job for vncserver@:1.service failed because the control process exited with error code. See „systemctl status vncserver@:1.service” and „journalctl -xe” for details.”

    z systemctl status vncserver@:1.service

    „vncserver@:1.service – Remote desktop service (VNC)
    Loaded: loaded (/etc/systemd/system/vncserver@:1.service; disabled; vendor preset: disabled)
    Active: failed (Result: exit-code) since Thu 2016-11-17 07:16:52 EST; 33s ago
    Process: 11281 ExecStart=/usr/sbin/runuser -l thor -c /usr/bin/vncserver %i (code=exited, status=9)
    Process: 11279 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)

    Nov 17 07:16:46 zeus systemd[1]: Starting Remote desktop service (VNC)…
    Nov 17 07:16:52 zeus systemd[1]: vncserver@:1.service: control process exited, code=exited status=9
    Nov 17 07:16:52 zeus systemd[1]: Failed to start Remote desktop service (VNC).
    Nov 17 07:16:52 zeus systemd[1]: Unit vncserver@:1.service entered failed state.
    Nov 17 07:16:52 zeus systemd[1]: vncserver@:1.service failed.

    nie mam pomysłu

    Odpowiedz
    • 2016.11.17 14:22 K

      daj output z `journalctl -xe`, za mało danych by zdiagnozować w czym problem

      Odpowiedz
  • 2016.11.17 18:58 krzysiek

    — Unit session-c5.scope has begun starting up.
    Nov 17 12:50:51 zeus runuser[11929]: pam_unix(runuser-l:session): session opened for user thor by (uid=0)
    Nov 17 12:50:51 zeus runuser[11929]: A VNC server is already running as :1
    Nov 17 12:50:51 zeus runuser[11929]: pam_unix(runuser-l:session): session closed for user thor
    Nov 17 12:50:51 zeus systemd[1]: vncserver@:1.service: control process exited, code=exited status=98
    Nov 17 12:50:51 zeus systemd[1]: Failed to start Remote desktop service (VNC).
    — Subject: Unit vncserver@:1.service has failed
    — The result is failed.
    Nov 17 12:50:51 zeus systemd[1]: Unit vncserver@:1.service entered failed state.
    Nov 17 12:50:51 zeus systemd[1]: vncserver@:1.service failed.

    Odpowiedz
    • 2016.11.17 23:19 K

      Już masz uruchomioną tą usługę dlatego masz błąd, bo próbujesz uruchomić ją drugi raz:
      Nov 17 12:50:51 zeus runuser[11929]: A VNC server is already running as :1
      spróbuj:
      `sudo systemctl restart vncserver@:1.service`

      Odpowiedz
      • 2016.11.18 11:03 krzysiek

        Witam
        kiedy wydaje komendę restart jest to samo

        Odpowiedz
  • 2016.11.19 11:57 Tomash

    Kup serwer ssd na ovh i po problemie. Nie dość że bije na głowę Arube pod każdym względem to w dodatku nie ma tak pojeb…. interfejsu. Inna bajka że za każdą reinstalację w Aruba placisz dodatkowo.

    Odpowiedz
    • 2016.12.05 22:57 Maciek

      Ja tam wrzuciłem im te 2 dyszki i się bawię, już któryś raz z kolei system zmieniałem (VPN na CentOSie wg poradnika za nic nie chciał ruszyć, a że tu gdzie jestem nowe prawa weszły w życie trzeba mi było na gwałt, to stanęło na Ubuntu 16 LTS) i nie skasowali mnie za to nic ekstra.
      Prywatność? Mam watpliwości, ale na moje potrzeby codzienne starcza.

      Odpowiedz
  • 2016.11.20 01:36 K

    Ale usługę masz już włączoną. Rób tunel i łącz się przez vnc :)

    Odpowiedz
  • 2016.11.21 23:29 Maciek

    Czy na tym VPS Cloud co mamy zainstalowane śr graficzne, możemy zainstalować VPN tak by tylko można było się zalogować na taki pulpit zdalny z tylko i wyłacznie z jednego adresu IP tworząc prawdziwy i bezpieczny tunnel ? Oczywiście że można ale czy ten VPS za 4 zł uniesie VPN wraz ze środowiskiem graficznym ? i jak zrobić by logowanie było tylko z jednego adresu IP ?

    Odpowiedz
    • 2016.11.22 22:57 K

      Możemy zainstalować vpn – serwer w Aruba Cloud powinien dać radę (nawet ten za 4 zł).

      Jeśli chcesz zezwalać na połączenia tylko z jednego adresu – ustaw regułę na firewall, której zezwalasz na połączenia na port 5901 z określonego adresu ip… szybki przykład:

      #zezwalamy na połączenie z określonego adresu ip
      iptables -A INPUT -p tcp -s Adres_ip_ktory_moze_sie_podlączyć –dport 5901 -j ACCEPT

      #całej reszcie blokujemy dostęp
      iptables -A INPUT -p tcp –dport 5901 -j DROP

      Jeśli korzystasz z VPN, jako adres IP musisz podać adres w tunelu vpn. Ponadto usługa vnc powinna nasłuchiwać na adresie serwera vnc, a nie na 127.0.0.1.

      To tak na szybko :)

      Odpowiedz
  • 2016.11.23 16:35 Robert

    Witam.
    Czy na tej maszynie da się postawić server dns.

    Odpowiedz
  • 2016.11.24 02:44 Kamil

    Jakieś gratisy od firmy Aruba dla obecnych klientów? :)

    Odpowiedz
  • 2016.12.14 14:02 Marcin

    Po wpisaniu polecenia sudo cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service

    pojawia mi się błąd:

    cp: cannot stat ‘/lib/systemd/system/[email protected]’: No such file or directory

    a mam zainstalowany vnc-server, próbowałem już odinstalowywać i instalować ponownie, nie pomogło. Co mogę jeszcze zrobić?

    Odpowiedz
  • 2016.12.14 14:32 Marcin

    Po którejś z kolei próbie przeinstalowywania vnc-serwer w końcu się udało, lecz nie mam teraz w pliku /home/marcin/.vnc/xstartup
    w katalogu .vnc jest tylko plik passwd
    nie mam zielonego pojęcia dlaczego, robiłem tak samo jak jest na filmiku

    Odpowiedz
  • 2016.12.14 18:52 Andrzej

    Cześć, wreszcie udało mi się wszystko skonfigurować.
    Mam tylko pytanko czy to się tak zawsze tnie wszystko? 1 gb ramu dla CenOs to chyba wystarczająco.
    Tnie się tak, że widać animacje jak przeciągam okno przeglądarki :(

    Odpowiedz
  • 2016.12.14 19:53 Andrzej

    Jakieś sterowniki do karty graficznej muszę zainstalować?

    Odpowiedz
  • 2016.12.23 17:36 Darek

    Cześć. Bawiłem się z ustawieniami myszki na połączeniu zdalnego pulpitu coś odznaczyłem i pojawił mi się komunikat „Connection has been gracefuly closed” I teraz przy każdej próbie połączenia się mam ten komunikat.

    Resetowałem już serwer niestety nic nie pomogło. Byłbym wdzięczny za pomoc, bo nie mam zielonego pojęcia jak to naprawić ;(

    Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

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

Komentarze