da en en da en en sv da nb da da da da da en en da et da da da da da da en da en da da en en sv fr de de en en en en en nb da en da en en sv fr en en en da en da en en sv fr de de fr fr fr sv en en en en en en en en en da en en en da da nb da da en da da da da da da da da da de en en sv fr de de fr fr fr sv en fr en ja fr de fr es nb fr de en en sv de de fr en fr it fr de fr fr fr fr en en en es en en da en en en en en en en en en en en en en en en en en en en en en en en en en en en en et da da ro en en da en da da da da da da da en da ru en nb da da da da da en da da da da da da da nb en en sv fr de de fr fr sv en en en en ru en da en en da nn da da da sv da nb nb en da da da da en nl da sv da en
OpenVPN Access Server til sikring af adgang til lokalt netværk – NerdGirl
Forbud fører sjældent noget godt med sig
(Last Updated On: 23. oktober 2020)
OpenVPN Access Server gør det nemt at opsætte og konfigurere en VPN. Noget der kan være ret kompliceret at gøre manuelt, især hvis det ikke er noget man er van til at arbejde med.
Den er gratis at bruge for op til 2 aktive forbindelser, og dermed fin til mit setup.
Forhindre adgang udefra til Web GUI
Jeg har angivet her hvad formålet med denne VPN er, fordi at resten af dokumentet naturligvis afspejler dette.
Det skal også siges at jeg på ingen måde er ekspert, og at der derfor kan komme rettelser til nedenstående notater i fremtiden.
Det jeg skal bruge denne VPN til, er adgang udefra ind i et lokalt netværk. Fra klienten vil det kun være trafik til dette netværk der går gennem VPN. Alt hvad der ellers sker på klienten (videochat, surfe på nettet) vil ikke gå gennem denne VPN server.
Følgende er udført på en Ubuntu 20.04 LTS. Men OpenVPN Access Server har installationspakker til flere forskellige distroer.
I skrivende stund er nedenstående den anbefalede metode til installation af OpenVPN Access Server (openvpn-as) på Ubuntu.
Da jeg allerede har ca-certificates, wget, net-tools og gnupg kan jeg springe det over (linje 2). Hvis du lige har kørt en apt update, kan du også skippe den, og dermed gå direkte til wget i linje 3.
# apt -y install ca-certificates wget net-tools gnupg
# apt update && apt -y install openvpn-as
Og ja, du skal lave en apt update i linje 4 for at din install vil fungere…
Hvis du efter apt update får denne fejl:
N: Skipping acquire of configured file ‘main/binary-i386/Packages’ as repository ‘http://as-repository.openvpn.net/as/debian focal InRelease’ doesn’t support architecture ‘i386
Løser du det ved at føje [arch adm64] til linjen i repo filen:
/etc/apt/sources.list.d/openvpn-as-repo.list: deb [arch=amd64] http://as-repository.openvpn.net/as/debian focal main
deb [arch=amd64] http://as-repository.openvpn.net/as/debian focal main
Derefter apt update igen.
Bemærk i output for installationen der afslutter med information om hvordan du tilgår admin og klient UI. Ip adressen (som i nedenstående er et tænkt eksempel) vil være din servers offentlige ip.
+++++++++++++++++++++++++++++++++++++++++++++++ Access Server 2.8.6 has been successfully installed in /usr/local/openvpn_as Configuration log file has been written to /usr/local/openvpn_as/init.log Access Server Web UIs are available here: Admin UI: https://123.456.789.123:943/admin Client UI: https://123.456.789.123:943/ +++++++++++++++++++++++++++++++++++++++++++++++
Access Server 2.8.6 has been successfully installed in /usr/local/openvpn_as
Configuration log file has been written to /usr/local/openvpn_as/init.log
Access Server Web UIs are available here:
Nu skal adgangskoden til openvpn administratoren sættes:
Du kan nu logge ind på Admin UI  med brugeren openvpn og den valgte adgangskode i din browser. Din browser vil beklage sig over at siden er usikker fordi din server ikke er en officielt anerkendt CA og dit certifikat er self-signed, men det ignorerer du bare (for nu) og fortsætter.
Efter login bliver du muligvis mødt af en formular til indtastning af en såkaldt Activation Key… men det er kun aktuelt hvis du har købt en licens.
Gå til Configuration -> VPN Settings.
Det lokale netværk som denne VPN giver adgang til, hedder 10.42.24.0/24. Jeg har derfor i Dynamic IP Address Network angivet 10.42.25.0/24 til VPN’en.
Should client Internet traffic be routed through te VPN?, er sat til “No” fordi denne VPN kun skal bruges som adgang udefra ind i et lokalt netværk.
Group Default IP Address Network (Optional) er blank.
Specify te private subnets to which all clients should be given access (one per line), har værdien 10.42.24.0/24, svarende til hele mit private/lokale netværk.
Gå til User Management -> User Permissions og tilføj en bruger. Tryk på More settings ud for brugeren og sæt en adgangskode.
Gå til Configuration -> Network Settings og scroll ned til Admin Web Server. Hvis du foretrækker at Web GUI kun er tilgængeligt via det lokal netværk, kan du angive Yes ud for den lokale ip adresse og No ud for Listen on all interfaces. Bemærk at når du gemmer denne ændring og genstarter servicen, kan admin GUI ikke forbinde påny, da du stadig er på den offentligt tilgængelige ip i din browsers adressebar. Du skal derfor ændre ip adressen til admin GUI i din browser, og logge ind påny.
Forhindre adgang udefra til Web GUI
Bemærk: Dette løsning kræver at du har udført det der står længere nede i denne artikel under Portkonflikt med Apache -> Drop port 443 for VPN.
Ja, der er login på Web GUI’et, men jeg bryder mig ikke om at afsløre at der ligger et VPN Web GUI tilgængeligt. Jeg foretrækker at der kun er adgang til dette via VPN eller min ip adresse derhjemme.
Og adgangen må kun ske via det subdomæne jeg har valgt til formålet.
Du vil dog opdage at det er totalt ligegyldigt hvad du lægger ind af regler i UFW. OpenVPN AS opdaterer nemlig reglerne direkte i iptables hver gang du ændrer dens konfiguration, og insisterer på at der skal være offentlig adgang.
Jeg har derfor ændret netværksindstillingerne, dvs. Configuration -> Network Settings således at Web GUI’et kun lytter på det lokale netværk. Udfordringen ved det er, at det nu ikke længere fungerer med det domæne du har peget over på serveren via DNS. Derfor lader jeg nu Apache håndtere domænet, og det giver også den fordel, at jeg nu har fuld kontrol over hvem og hvad der har adgang.
ServerName vpn.domain.com DocumentRoot /var/www   #Hjemme Require ip 12.34.56.78 #Local network Require ip 10.42.24.0/24 #VPN network Require ip 10.42.25.0/24   ProxyRequests off SSLProxyEngine on ProxyPreserveHost On ProxyErrorOverride Off ProxyPass / https://10.42.24.3:943/ ProxyPassReverse / https://10.42.24.3:943/ LogLevel debug ErrorLog "|/usr/bin/rotatelogs -l /var/log/apache2/vpn.domain.com/error.%Y.%m.%d 86400" CustomLog "|/usr/bin/rotatelogs -l /var/log/apache2/vpn.domain.com/access.%Y.%m.%d 86400" combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/vpn.domain.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/vpn.domain.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf   SSLOptions +StdEnvVars
ErrorLog "|/usr/bin/rotatelogs -l /var/log/apache2/vpn.domain.com/error.%Y.%m.%d 86400"
CustomLog "|/usr/bin/rotatelogs -l /var/log/apache2/vpn.domain.com/access.%Y.%m.%d 86400" combined
Jeg har Web GUI’et tilgængeligt på en offentlig ip, og har peget et subdomæne over på denne ip i DNS. Med LetsEncrypt har jeg oprettet certifikater til domænet, og disse kan nu uploades via Admin:
Gå til Configuration -> Webserver og upload dine certifikater:
Udfordringen er naturligvis nu, at disse certifikater skal udskiftet hver 3. måned. Hvis du vil automatisere den opgave, kan certifikaterne også lægges i databasen via kommandolinien:
Se: Managing Settings For Te Web Services From Te Command Line
Gå til https://123.456.789.123/ (erstat med din servers ip) og log på med den bruger du lige har lavet. Din browser downloader nu automatisk en konfigurationsfil der hedder client.ovpn, og alternativt kan du hente den manuelt ved at klikke på linket nederst på siden.
Nu skal du konfigurere den enhed du ønsker at forbinde fra (Laptop, stationær, mobil eller lign.). Her skal du finde ud af hvilken VPN klient du vil benytte til formålet.
Jeg har en laptop med Fedora og det åbenlyse valg er derfor Network Manager.
Åben Network Manager og vælg Network. Tryk på plus (+) ud for VPN og vælg Import from file…
Vælg din *.ovpn fil og indtast brugernavn og adgangskode.
Gå til IPv4 fanebladet. Under Routes angiver du dit netværk:
… og sætter flueben i Use this connection only for resources on this network.
Herefter bør du kunne forbinde din VPN.
Jeg er i en situation hvor jeg gerne ville køre Apache på samme maskine, og det er et problem for så har vi lige pludselig 2 services der gerne vil lytte på port 443.
OpenVPN benytter port 443 som en slags backup i tilfælde af at man sidder bag en firewall og ikke kan bruge port 943 (Web GUI) eller port 1194 (VPN forbindelsen).
Der er umiddelbart 2 løsninger:
Drop port 443 for VPN:
Man kan sagtens bare droppe at bruge port 443 for VPN forbindelser og Web GUI.
Gå til Configuration -> Network Settings og vælge “UDP” under Protocol frem for “Both”.
Nu kan Web GUI ikke længere tilgås uden angivelse af portnummer 943.
Konfiguration ved port 443 skal også fjernes fra eksisterende VPN klienters konfiguration.
Det betyder naturligvis, at brugere der sidder på et hotel eller bare generelt et sted hvor firewalls ikke tillader ret meget andet end gængs webtrafik, ikke kan forbinde, medmindre du tillader en anden gængs port udover 1194, som f.eks. port 4500 der ofte bliver benyttet af brugere på Microsoft VPN forbindelser.
Brug port-share til at dirigere trafik fra OpenVPN til Apache
Konfigurer en anden TLS port til Apache i /etc/apache2/ports.conf, f.eks. 22443 i stedet for 443.
Konfigurer OpenVPN AS til at videresende trafikken… :
# sacli ligger under usr/local/openvpn_as/scripts på Ubuntu: ./sacli --key "vpn.server.port_share.enable" --value "true" ConfigPut ./sacli --key "vpn.server.port_share.service --value "custom" ConfigPut ./sacli --key "vpn.server.port_share.ip_address --value 10.42.24.3 ConfigPut ./sacli --key "vpn.server.port_share.port --value 22443 ConfigPut ./sacli start
# sacli ligger under usr/local/openvpn_as/scripts på Ubuntu:
./sacli --key "vpn.server.port_share.enable" --value "true" ConfigPut
./sacli --key "vpn.server.port_share.service --value "custom" ConfigPut
./sacli --key "vpn.server.port_share.ip_address --value 10.42.24.3 ConfigPut
./sacli --key "vpn.server.port_share.port --value 22443 ConfigPut
Det skal lige siges, at jeg ikke har ikke afprøvet ovenstående (endnu).
Ubuntu: Opdater til ny LTS version
Tillad kun ssh fra det lokale netværk
I gang med Angular 13 på Linux
Brug af grep kommandoen
Installer Asbru Connection Manager på Fedora
Installer DBeaver på Fedora
Node Package Manager (npm)
Linux: Afvikle en kommando som en anden bruger
MariaDB: Slå generel log til midlertidigt
Udskift nouveau driver med NVIDIA på Fedora 33 – og fortryd
Skab overblik over dine DMARC rapporter
Kategorier Vælg kategori Aftensmad Akrylmaling Bagværk Computer Dessert Fotografi Generelt Grød Hakket oksekød Hobby Hvidkål Ikke kategoriseret Internet IT Krop og sind PHP Pizza Politik Samfund Server Tips & Tricks Vegansk Webudvikling
Arkiver Vælg måned august 2022 april 2022 marts 2022 oktober 2021 maj 2021 marts 2021 februar 2021 januar 2021 december 2020 november 2020 oktober 2020 august 2020 juli 2020 juni 2020 marts 2020 januar 2020 december 2019 november 2019 oktober 2019 august 2019 juni 2019 april 2019 februar 2019 december 2018 oktober 2018 september 2018 juli 2018 juni 2018 maj 2018 april 2018 februar 2018 januar 2018 december 2017 oktober 2017 september 2017 august 2017 juli 2017 juni 2017 maj 2017 april 2017 januar 2017 december 2016 november 2016 oktober 2016 september 2016 januar 2016 december 2015 november 2015 oktober 2015 september 2015
Proudly powered by WordPress | Theme: chichi by xtianmark.