Kjør OpenVPN på Windows uten å gjøre brukere til administratorer
OpenVPN trenger privilegium for adapteren og rutene sine, ikke for alt. Bruk tjenesten og deleger nettverksrettigheter, og bekreft deretter fra brukerkontoen.
En bruker dobbeltklikker på OpenVPN-GUI-en, godkjenner en UAC-forespørsel og gjentar det samme ritualet ved neste gjenoppkobling. Forespørselen er ikke en pakkefeil: klienten oppretter en virtuell adapter og redigerer rutetabellen, og begge er privilegerte endringer. Det nyttige spørsmålet er hvilke av disse rettighetene brukeren faktisk trenger. En tjeneste pluss en smal delegering dekker tilkoblingen uten å dele ut administrator-medlemskap.
Hvilke operasjoner krever faktisk forhøyelse
Tunnelen avsluttes på et virtuelt nettverksgrensesnitt, og installasjon av det grensesnittet er en driveroperasjon som krever administratorrettigheter én gang. Etter at adapteren finnes, skriver hver tilkobling fortsatt ruter og endrer, avhengig av profilen, DNS-konfigurasjonen. Det er disse to trinnene som utløser forhøyelse på en vanlig konto. Ingenting i autentisering eller kryptering krever administratorrettigheter, og nettopp derfor kan privilegiet skilles ut.
Skill installasjonstid fra tilkoblingstid før du velger en tildeling. De har forskjellige eiere og forskjellige levetider.
Bruk tjenesten som den privilegerte komponenten
Den støttede ordningen kjører en Windows-tjeneste som har de nødvendige rettighetene, mens en GUI ber tjenesten om å koble til. Da kjører aldri privilegert kode inne i brukerens økt.
sc query OpenVPNService
sc qc OpenVPNServiceEn kjørende tjeneste der den binære stien peker på den installerte klienten, er det første faktumet som må bekreftes før noe delegeres. Tjenesten eier adapteren og rutene, så brukeren starter og stopper bare en tilkobling. Dette er formen å bruke på delte maskiner, fordi kontoen som klikker på koble til ikke har noen varig rettighet. Les deskriptoren med sc sdshow før du redigerer den, og ta vare på en kjent god kopi av utdataene.
Deleger ruteendringer til en innebygd gruppe
For en klient som må kjøre interaktivt, er den delegerte innebygde gruppen Network Configuration Operators. Den dekker nettverksinnstillinger og ruteendringer, men utelukker programvareinstallasjon og generelt administrativt arbeid.
net localgroup "Network Configuration Operators" alice /add
sc sdshow OpenVPNServiceÅ legge til kontoen er ikke stille: standardpolicyen utløser fortsatt én forespørsel per økt, så tildelingen reduserer hva forhøyelse kan gjøre i stedet for å fjerne den. Dokumenter medlemskapet, fordi det akkumuleres stille og nesten aldri gjennomgås. På tjenesteveien kan en deskriptorendring med sc sdset delegere start og stopp til en gruppe, selv om en skrivefeil i deskriptoren kan nekte startrettigheter for enhver konto, og det å angre krever en administrator. Test enhver deskriptorendring på en laboratoriemaskin før den når en produksjonsvert.
Bekreft fra brukerkontoen
Konfigurasjon utført i en administratorøkt beviser ingenting om kontoen som skal bruke den. Logg på som den brukeren, koble til og sammenlign maskintilstanden før og etter.
route print -4
Get-DnsClientServerAddressRutetabellen bør få tunnelrutene, og resolveren bør peke på serverne som VPN-en tilbyr mens du er tilkoblet. Etter frakobling bør begge utdataene stemme med kopiene du tok på forhånd, og derfor er det viktig å ta dem først. Driveroppdateringer kan gjeninnføre administratorkravet, så noter klientversjonen ved siden av resultatet. Hold profil- og nøkkelfiler lesbare bare for kontoen som bruker dem, i stedet for å lempe på tillatelsene for en delt installasjon.
Skriv ned hvem som kan starte tunnelen, hvilken gruppe som gir den, og hva som fortsatt krever en administrator. Den noten gjør den neste klientoppdateringen til planlagt arbeid i stedet for en ettermiddag med gjetting.