Потребителят двукратно щраква върху 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 предоставя, докато е свързан. След прекъсване и двата изхода трябва да съвпадат с копията, които сте заснели предварително, поради което е важно да ги заснемете първо. Актуализациите на драйвера могат да върнат изискването за администратор, затова запишете версията на клиента до резултата. Пазете файловете на профила и ключовете четими само за акаунта, който ги използва, вместо да разхлабвате разрешенията за споделена инсталация.

Запишете кой може да стартира тунела, коя група го предоставя и какво все още изисква администратор. Тази бележка превръща следващата актуализация на клиента в планирана работа, а не в следобед на догадки.

Подобни статии