Карыстальнік двойчы пстрыкае па OpenVPN GUI, пацвярджае запыт UAC і паўтарае тую ж рытуальную дзею пры наступным перападлучэнні. Запыт — не памылка ўпакоўкі: кліент стварае віртуальны адаптар і рэдагуе табліцу маршрутызацыі, і абодва гэта прывілеяваныя змены. Карыснае пытанне — якія з гэтых правоў карыстальніку сапраўды патрэбныя. Служба плюс вузкае дэлегаванне забяспечваюць злучэнне, не выдаючы членства адміністратара.

Якія аперацыі сапраўды патрабуюць павышэння правоў

Тунэль сканчаецца на віртуальным сеткавым інтэрфейсе, а ўсталяванне гэтага інтэрфейсу — аперацыя драйвера, якая адзін раз патрабуе правоў адміністратара. Пасля з’яўлення адаптара кожнае злучэнне ўсё яшчэ запісвае маршруты і, у залежнасці ад профілю, змяняе канфігурацыю DNS. Менавіта гэтыя два крокі выклікаюць павышэнне правоў у звычайным уліковым запісе. Нішто ў аўтэнтыфікацыі ці шыфраванні не патрабуе правоў адміністратара, і менавіта таму прывілей можна аддзяліць.

Аддзяліце час усталявання ад часу злучэння, перш чым выбіраць дазвол. У іх розныя ўладальнікі і розныя тэрміны жыцця.

Выкарыстоўвайце службу як прывілеяваны кампанент

Падтрыманая схема запускае службу Windows, якая валодае патрэбнымі правамі, а GUI просіць службу падключыцца. Тады прывілеяваны код ніколі не выконваецца ўнутры сеанса карыстальніка.

sc query OpenVPNService
sc qc OpenVPNService

Працуючая служба, шлях да бінарнага файла якой паказвае на ўсталяваны кліент, — гэта першы факт, які трэба пацвердзіць, перш чым што-небудзь дэлегаваць. Служба валодае адаптарам і маршрутамі, таму карыстальнік толькі запускае і спыняе злучэнне. Менавіта такую схему варта ўжываць на агульных машынах, бо ўліковы запіс, які націскае кнопку падключэння, не мае пастаянных прывілеяў. Чытайце дэскрыптар з дапамогай sc sdshow перад рэдагаваннем і захоўвайце вядомую спраўную копію вываду.

Дэлегуйце змены маршрутаў убудаванай групе

Для кліента, які павінен працаваць інтэрактыўна, дэлегаваная ўбудаваная група — Network Configuration Operators. Яна ахоплівае сеткавыя налады і змены маршрутаў, выключаючы ўсталяванне праграм і агульную адміністрацыйную працу.

net localgroup "Network Configuration Operators" alice /add
sc sdshow OpenVPNService

Даданне ўліковага запісу не адбываецца маўкліва: палітыка па змаўчанні ўсё яшчэ падымае адзін запыт за сеанс, таму дазвол паменшвае тое, што можа зрабіць павышэнне правоў, а не прыбірае яго. Дакументуйце членства, бо яно ціха назапашваецца і амаль ніколі не пераглядаецца. На шляху праз службу рэдагаванне дэскрыптара з дапамогай sc sdset можа дэлегаваць запуск і спыненне пэўнай групе, хаця друкарская памылка ў дэскрыптары можа пазбавіць правоў запуску ўсе ўліковыя запісы, а адмяніць гэта можа толькі адміністратар. Праверце любую змену дэскрыптара на лабараторнай машыне, перш чым яна трапіць на прадукцыйны хост.

Праверце з уліковага запісу карыстальніка

Канфігурацыя, зробленая ў сеансе адміністратара, нічога не даказвае пра ўліковы запіс, які будзе ёю карыстацца. Увайдзіце як гэты карыстальнік, падключыцеся і параўнайце стан машыны да і пасля.

route print -4
Get-DnsClientServerAddress

Табліца маршрутызацыі павінна атрымаць маршруты тунэля, а распазнавальнік — паказваць на серверы, якія VPN дае падчас злучэння. Пасля адключэння абодва вывады павінны супасці з копіямі, зробленымі загадзя, і менавіта таму важна зняць іх спачатку. Абнаўленні драйвера могуць вярнуць патрабаванне правоў адміністратара, таму запішыце версію кліента побач з вынікам. Трымайце файлы профілю і ключоў чытэльнымі толькі для ўліковага запісу, які імі карыстаецца, замест таго каб паслабляць дазволы для агульнай усталёўкі.

Запішыце, хто можа запускаць тунэль, якая група гэта дазваляе і што ўсё яшчэ патрабуе адміністратара. Гэтая нататка ператварае наступнае абнаўленне кліента ў планавую працу, а не ў паўдня здагадак.

Падобныя артыкулы