VPN

Skip to content

VPN, eller Virtual Private Network, er en løsning som lar oss opprette en sikker (kryptert) forbindelse til et annet nettverk og enhet(er) over internett.

Først, hva er et privat nettverk? (ikke VPN)

Et privat nettverk er et nettverk som er isolert fra andre nettverk, Dette kan være et bedriftsnettverk, et hjemmenettverk, eller et annet type nettverk som ikke er åpent for alle. Et åpent nettverk, som for eksempel på en flyplass, er også teknisk sett et privat nettverk, men de er som regel konfigurert til å isolere enhetene fra hverandre for å øke sikkerheten.

Tenkt scenario

Se for deg at du har en printer hjemme som du ønsker å bruke til å skrive ut et dokument. Denne skriveren er koblet til ditt hjemmenettverk, og har derfor en privat IP-adresse som kun er tilgjengelig for enheter som er koblet til ditt eget nettverk. Du kan bruke din maskin hjemme hos deg til å skrive ut uten problemer, men din nabo er på et annet nettverk og kan ikke nå skriveren din helt uten videre.

Du kan heller ikke kommunisere med printeren din fra f.eks. skolen eller andre nettverk, fordi printeren ikke er eksponert til internett (noe den heller ikke burde være av sikkerhetsmessige årsaker).

Merk: Ingen regler uten unntak…

Noen enheter tilbyr derimot løsninger hvor de bruker en VPN relaterte teknologi for å la deg skrive ut dokumenter fra hvor som helst i verden, så lenge du har internett-tilgang. Dette kan medføre en sikkerhetsrisiko, så vær obs på hva du kobler til nettverket ditt, særlig med IOT enheter eller overvåkningskameraer.

Har du lagt merke til at hver gang du kobler til et nytt nettverk, så får du er spørsmål om du kobler til et “privat” eller “offentlig” nettverk?

Dette er for at Windows (eller andre operativsystemer) bruker denne informasjonen til å bestemme hvilke brannmursregler som skal brukes for å beskytte enheten din. Et privat nettverk er vanligvis usikret (alle tilkoblede enheter har tillit til hverandre automatisk), og er derfor sårbar mot andre enheter på samme nettverk. Til gjengjeld så kan du enklere dele printere, filer og andre ressurser når maskiner er på samme nettverk.

Kommersielle aktører

Det finnes mange kommersielle aktører som tilbyr VPN-tjenester, som reklamerer med at de kan beskytte ditt personvern på internett og la deg surfe anonymt. Dette er ikke nødvendigvis hele sannheten, og det er viktig å være klar over hva en VPN faktisk gjør.

How VPN Works Meme

I praksis så flytter man nettverksforbindelsen til et annet sted (gjerne et annet land), da vi bruker VPN-tjenere som en mellomledd fra vår klient og til internett.

Kommersiell VPN != sikkerhet

Mange aktører markedsfører seg selv som en tjeneste som tilbyr økt sikkerhet, men for de fleste brukere så er dette ikke tilfelle. Når vi besøker nettsteder som bruker HTTPS (til og med på public wifi), så er forbindelsen allerede kryptert, og en VPN vil derfor ikke nødvendigvis tilby noen ekstra sikkerhet. Den kan heller ikke “skjule” aktiviteten din fra internettleverandøren din helt.

I enkelte land eller steder derimot kan det være fordelaktig, men det er viktig å være klar over at du flytter tilliten din fra internettleverandøren din til VPN-leverandøren.

Offentlige nettverk

Vi hører ofte at vi ikke må koble oss til usikrede offentlige nettverk, som på kafeer, flyplasser, hoteller, osv. Dette er ikke nødvendigvis problematisk så lenge vi bruker HTTPS (kryptert) til å besøke nettsteder.

Det som kan være problematisk er dersom noen setter opp et “falskt” nettverk med f.eks. en ondsinnet Captive Portal (en nettside som til vanlig krever innlogging eller aksept av vilkår før vi får tilgang til internett).

Captive Portal

Har du sjekket om du har “automatisk tilkobling” til åpne nettverk på mobilen eller laptopen din? Dette kan gjøre at enheten din kobler seg til et ondsinnet nettverk uten at du er klar over det.

Hva kan vi bruke en VPN til?

En VPN kan brukes til å koble til enheter på tvers av nettverk, som om de var på samme (private) nettverk, på en tryggere måte enn å eksponere enhetene direkte til internett (åpne porter i brannmuren). Merk at vi må ha likevel en VPN-tjener som vi kan koble til, vi kan enten sette den opp selv (krever åpning i brannmur), eller bruke en aktør som tilbyr et relè (mellomledd) for oss. Populære alternativer er OpenVPN, WireGuard, og IPsec.

Friendship ended wtih OpenVPN now WireGuard is my best friend

Eksempel

Du har en gaming PC som du ønsker å koble til med laptopen din når du er på skolen via Remote Desktop programvare (RDP). Du kan da sette opp en VPN-løsning som lar deg koble til hjemmenettverket ditt, og deretter bruke RDP til å koble til gaming PCen din som om du var hjemme.

I vårt tilfelle vil vi bruke den til å få tilgang til ressursene her på skolen fra andre steder i verden, og vi skal senere se på cloud computing hvor vi ønsker å koble oss til virtuelle servere i skyen på en trygg måte. Til vanlig åpner vi en port til vår server for å sette dette opp, før vi låser ned serveren etterpå (som regel en Site-to-site VPN).

Eneste praktiske forskjell er at vi får en annen IP-adresse over vårt VPN nettverk (f.eks. 100.64.x.x/10 brukes ofte til VPN), men funksjonaliteten er som om vi var på samme nettverk. Dette betyr at vi kan bruke f.eks. RDP, SSH, FTP (File Transfer Protocol), osv. uten å måtte åpne opp tjenestene våre i brannmuren.

Easy Oppgave 1 - Installasjon av TailScale VPN

Heldigvis for oss, er installasjon av VPN enkelt, særlig om man bruker en tjeneste som TailScale. Dette er en kommersiell tjeneste som tilbyr en enkel måte å sette opp et WireGuard VPN på, som gir oss mer enn nok funksjonalitet for våre behov på sitt gratisnivå (100 enheter).

TailScale Free Tier

Følg installasjonsprosessen som i dokumentasjonen: https://tailscale.com/download

Merk

Du trenger VPN på alle enhetene du ønsker å koble til nettverket med. Dette inkluderer både servere, PCer, mobiler, osv.

Medium Oppgave 2 - Sett opp en Exit Node

En Exit-Node i TailScale er en enhet i nettverket ditt som fungerer som en gateway for all trafikk fra andre enheter i TailScale-nettverket. Dette dirigerer all trafikk gjennom denne enheten, noe som kan være nyttig for å få tilgang til ressurser på et bestemt nettverk, eller få ny IP-adresse for å omgå geografiske begrensninger.

Vi bruker Nginx Proxy Manager for å begrense tilganger til enkelte ressurser basert på IP-adresse (f.eks. din Proxmox server), med en Exit-Node på skolen vil du kunne få en IP-adresse som er “på skolen” uansett hvor du er i verden.

Følg dokumentasjonen for å sette opp en Exit-Node: https://tailscale.com/kb/1103/exit-nodes#configure-an-exit-node

Obs! “Edit Routes” meny

Ikke glem steget om å skru på “Use as Exit Node” i TailScale menyen på enheten du har satt opp som Exit-Node. Dette er et vanlig steg å glemme.

Exit Nodes Everywhere

Exit-Node på en VPS i sky!

Dersom du setter opp en virtuell maskin i et annet land via f.eks. Azure (hvor du får gratis kreditt som student), så kan du enkelt sette opp en Exit-Node for å få en IP-adresse i det landet - på samme måte som en kommersiell VPN-tjeneste, med mindre restriksjoner og mer lærdom!