Er der fejl eller mangler på siden? Så skriv gerne til hacker(snabel-a)matfystutor.dk

VPN

Fra Hackerwiki
Spring til navigation Spring til søgning

VPN står for Virtual Private Network og er en teknik der muliggør oprettelse af en sikker forbindelse ind på et netværk. De forskellige institutter på AU har en VPN-server stående, hvilket vil sige, at du med din egen computer kan oprette en sikker forbindelse, så din computer tror, at den er direkte på AU's netværk. Man kan også bruge VPN til at kunne udskrive fra sin egen bærbare, selvom dette i nogle tilfælde ikke er påkrævet, hvis man er forbundet til eduroam.

VPN er nyttigt til at tilgå tjenester som Universitetet har betalt for adgang til selvom man ikke er på uni. Dette gælder f.eks. ordbøger og videnskabelige artikler.

Kom på VPN

Fra den 1. maj 2020 skal alle benytte sig af totrinsbekræftelse. Du kan opsætte godkendelse via SMS eller Microsofts Authenticator app via:
https://account.activedirectory.windowsazure.com
Log in med <auid>@uni.au.dk samt dit password

Cisco AnyConnect

Til Windows, OS X og Linux kan man installere Cisco AnyConnect for at forbinde sig til VPN. Programmet kan downloades fra https://remote.au.dk/ ved at logge ind med:
GROUP: AU-ACCESS
USERNAME: <auid>@uni.au.dk
PASSWORD: <dit password til mit.au.dk>

For at installere programmet på Linux kan det være nødvendigt at downloade filen vpnsetup.sh. Efter dette skal man køre sudo bash ./vpnsetup.sh for at installere Cisco AnyConnect.

Efter man har installeret programmet skal man køre programmet "Cisco AnyConnect Secure Mobility Client". Inde i programmet skal man indtaste remote.au.dk/au-access som adressen og trykke Connect. Derefter skal man indtaste det samme brugernavn og password som man brugte til at downloade programmet.

For mere information, se guiden til Windows og OS X.

OpenConnect

Som et alternativ til det Cisco's propertiære AnyConnect klient kan man bruge Infradead's open source klient [[1]] der også virker til Windows, Linux og Mac. Det kan installeres på Linux med

apt-get install openconnect


Og det kan anvendes ved at skrive

openconnect -u <auid>@uni.au.dk https://remote.au.dk/AU-ACCESS


Kommadoen skal køres med superbrugerprivilegier, så der kan med fordel tilføjes et sudo foran kommadoen.

NetworkManager

Hvis du bruger NetworkManager (på Linux), kan du i stedet for ovenstående bruge nm-connection-editor (Network Connections) eller Gnome control panel til at sætte AU's VPN op med.

Tilføj en ny Cisco AnyConnect Compatible VPN (openconnect) forbindelse og indtast https://remote.au.dk/AU-ACCESS under gateway og gem. Når du forbinder skal du indtaste følgende login oplysninger:

USERNAME: <auid>@uni.au.dk
PASSWORD: <dit password til mit.au.dk>


Fordele ved VPN

Når du er koblet på VPN er du på nettet gennem AU's linje og kan dermed tilgå en lang række sider som ordbøger, tidsskrifter mm. som Universitetet har betalt for adgang til.

Derudover kan man printe ud fra instituttets printere og tilgå sit personlige drev.

Hvis du sidder på Universitetet kan du desuden undgå at skulle logge på netværket separat for at komme ud på internettet med det trådløse netværk. Derudover er kommunikationen krypteret når man er på VPN, så man sikkert kan benytte det trådløse netværk.

SSH over VPN med openconnect og ocproxy

Rav, 26. maj 2017

Opdateret 29. okt 2023: Tilføjet nye nødvendige parametre (ref)

Hvis du bruger Linux og openconnect, kan du nøjes med at køre visse programmer (f.eks. SSH eller din webbrowser) over VPN ved at køre openconnect i SOCKS proxy modus. (Tak til Monperrus' side om emnet.)

Installér openconnect og ocproxy. Kør derefter følgende shell-script for at starte en SOCKS-server på localhost:9052.

#!/bin/sh

# server[/group]
SERVER=https://remote.au.dk/AU-ACCESS
# VPN username
USERNAME=au306325@uni.au.dk

SOCKS_PORT=9052
/usr/sbin/openconnect \
 	--useragent=AnyConnect \
 	--no-external-auth \
	--servercert sha256:9c67c12687405c0300ecef3099aba63facbf0d823e2f3c0e2c549bf6036f37d1 \
	--reconnect-timeout 60 \
	--script-tun \
	--script "ocproxy -D $SOCKS_PORT" \
	-u "$USERNAME" \
	"$SERVER"

Du vil blive bedt om at indtaste dit VPN-kodeord (dvs. samme som til mit.au.dk). (Hvis du har en kommando eller en fil med dit AU-kodeord, kan du tilføje --passwd-on-stdin til openconnect-kaldet for at pipe kodeordet ind.)

Hvis du får en fejl der indeholder Server SSL certificate didn't match:, så skyldes det at AU IT har ændret public key for certifikatet på remote.au.dk, og så skal du fjerne --servercert-linjen. (Du kan finde den nye public key med gnutls-cli --insecure remote.au.dk.) Certifikatet 9c67c1268... er fra 2020-03-10 og er lavet med Let's Encrypt.

For at køre SSH til f.eks. fh.cs.au.dk kan du installere netcat (BSD-variant, ikke GNU) og tilføje følgende i din .ssh/config:

Host fh-socks
HostName fh.cs.au.dk
ProxyCommand nc -X 5 -x 127.0.0.1:9052 %h %p

Derefter vil ssh fh-socks forbinde via VPN så længe ovenstående shell-script kører.

For medarbejdere

Rav, 24. september 2018

Opdateret 29. okt 2023: Tilføjet nye nødvendige parametre (ref)

Fra 4. februar 2019 kan medarbejdere ikke længere benytte AU-ACCESS til VPN, men skal i stedet logge på STs medarbejder-VPN hvor man skal bruge 2FA (totrinsbekræftelse). Det kræver at man følger AU ITs guide til at installere en bestemt 2FA app på sin smartphone. (Oprindeligt var udmeldingen at ændringen ville ske pr. 22. oktober 2018, men jeg kunne fortsat bruge AU-ACCESS indtil for nylig. --Rav (diskussion) 11. feb 2019, 21:46 (CET))

Ovenstående shell-script kan stadig anvendes hvis man laver følgende rettelser:

  • SERVER=https://remote.au.dk/st
  • Når man skriver sit kodeord, skal man tilføje et og-tegn '&' efterfulgt af den nuværende sekscifrede TOTP-kode fra app'en.

Hvis man ønsker at benytte --passwd-on-stdin kan man benytte følgende script:

#!/bin/sh

# https://server[:port][/group]
SERVER=https://remote.au.dk/st
# VPN username
USERNAME=au306325@uni.au.dk

# Command outputting your VPN password
PASSWORD=`pass au | head -1`

read -p "TOTP: " TOTP
SOCKS_PORT=9052
echo "$PASSWORD&$TOTP" | /usr/sbin/openconnect \
 	--useragent=AnyConnect \
 	--no-external-auth \
	--servercert sha256:c131461ac8f287a8b2af6a5d887ddb568dc8a5d6dcd1c57c2552b2e979b2ea7b \
	--reconnect-timeout 60 \
	--script-tun \
	--script "ocproxy -D $SOCKS_PORT" \
	-u "$USERNAME" \
	--passwd-on-stdin \
	"$SERVER"