Дозволяємо установку драйверів звичайним користувачам Windows

За замовчуванням рядові користувачі системи / домену не мають прав для установки драйверів пристроїв на своїх комп’ютерах. Це підхід раціональний з точки зору забезпечення безпеки і стабільності роботи ПК, але незручний з точки зору адміністрування, адже для установки будь-якого нового драйвера в системі користувачеві необхідно вдаватися до допомоги адміністратора або служби технічної підтримки, які володіють правами адміністратора на ПК користувача.

У цій статті ми покажемо, як дозволити звичайним користувачам домену встановлювати драйвера в системі без прав адміністратора. Основна перевага пропонованого підходу – адміністратор домену сам формує список довірених драйверів, які користувачі можуть встановлювати в системі, тим самим ризик установки «шкідливого» драйвера мінімізований.

Щоб дозволити пересічним користувачам домену самим встановлювати драйвера пристроїв (без появи вікна підвищення привілеїв UAC), потрібно щоб робоче середовище користувачів відповідала таким умовам:

  • Встановлюваний драйвер повинен знаходитися в сховище драйверів (Driver Store)
  • Встановлюваний клас драйвера повинен бути дозволений для установки звичайними користувачами
  • Драйвер повинен бути підписаний валидной цифровим підписом довіреної видавця

А тепер по порядку:

Отримання каталогу з драйвером пристрою

Щоб отримати актуальну версію драйвера для конкретного пристрою – найкраще знайти і завантажити останню версію драйвера на сайті виробника. Скачаний архів з драйвером потрібно розпакувати в окремий каталог.

АЛЕ! Не всі драйвера надаються в форматі, зручному для розповсюдження. Припустимо, якийсь драйвер встановлюється пропрієтарним інсталяційних пакетом. Яким же чином витягти з системи каталог з файлами встановленого драйвера?

Після установки всі файли драйвера зберігаються централізовано, в каталозі C: \ Windows \ System32 \ DriverStore \ FileRepository \.  Щоб знайти каталог з недавно встановленим драйвером, просто відсортуйте вміст цього каталогу за датою створення / модифікації. Вуаля! Залишилося скопіювати каталог з драйвером в мережевий каталог, який буде вказано на клієнтах в якості мережного Driver Store (про це трохи нижче).

Централізоване сховище драйверів

Поняття Driver Store або сховища драйверів (докладніше про нього ми говорили в цій статті) вперше з’явилося в Windows Vista і являє собою довірену захищену область комп’ютера, що містить набір драйверів, які дозволені для установки. Таким чином, користувач може встановити в системі тільки драйвер, який вже є в сховищі драйверів. Так при установці нового драйвера адміністратором, спочатку він копіюється і реєструється в сховище драйверів і тільки потім встановлюється в системі (файли драйвера копіюються з сховища в системне розташування).

Шлях до сховища драйверів Windows задається в реєстрі параметром DevicePath (HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion). За замовчуванням сховище драйверів знаходиться в каталозі C: ​​\ Windows \ inf (% SystemRoot% \ Inf)

Можна розширити область сховища драйверів, за яким здійснюється пошук при установці нового драйвера в системі, вказавши в цьому реєстру додатковий каталог. У доменній середовищі найпростіше це зробити за допомогою розширення групових політик – Group Policy Preferences. Для цього в розділі політики Computer Configuration -> Preferences -> Registry додати новий елемент Registry Item з параметрами:

В якості додаткового довіреної каталогу сховища драйверів ми вказали мережеву папку \\ fs1 \ share \ inf (не забудьте, що обліковий запис комп’ютера повинна мати права на читання з цієї папки). Як джерело драйвером можна вказати відразу кілька мережевих каталогів, наприклад вказавши в якості значення змінної:% SystemRoot% \ inf; \\ fs1 \ share \ Printers; \\ fs2 \ Drivers \ USB; \\ fs3 \ Drivers \ VGA

Список класів драйверів, дозволених для установки

Щоб визначити код класу пристрою, відкрийте каталог з файлами драйвером пристрою. Відкрийте його inf файл і знайдіть рядок з параметром  ClassGUID. Код класу пристрою в нашому прикладі виглядає так: {4D36E97D-E325-11CE-BFC1-08002BE10318}.

Щоб вирішити це клас пристроїв для самостійної установки користувачами, відкрийте діючу (або створіть нову) групових політику і в гілці Computer Configuration -> Administrative Templates -> System -> Driver Installation знайдіть політику Allow installation of devices using drivers that match these device setup classes. Увімкніть її і в якості значення вкажіть скопійований раніше код класу пристрою.

Цифровий підпис драйвера

Щоб користувач міг самостійно встановити драйвер, він в обов’язковому порядку повинні бути підписаний, а сертифікат видавця цифрового підпису повинен знаходиться в списку довірених. Більшість драйверів великих вендорів підписані цифровими підписами Microsoft і є довіреними.

Але в цьому правилі є винятки. Щоб отримати сертифікат видавця такого драйвера, встановіть його в системі з правами адміністратора. Під час установки драйвера з’явиться попередження. Встановіть прапорець «Always trust software from …” і натисніть Install. Після установки драйвера відкрийте оснащення управління сертифікатами (certmgr.msc), Знайдіть сертифікат видавця в розділі  Trusted Published-> Certificates. Клацніть ПКМ по сертифікату потрібного видавця та експорту його в файл.

Далі цей сертифікат за допомогою групової політики потрібно поширити на всіх комп’ютерах, на яких потрібно дозволити встановлення цього драйвера користувачами. Для цього просто імпортуйте збережений сертифікат в розділ GPO Computer Configuration -> Windows Settings -> Security Settings -> Public Key Polices -> Trusted Publishers.

Порада. У тому випадку, якщо потрібно встановити драйвер, цифровий підпис якого відсутній, можна спробувати самостійно підписати його самоподпісанного сертифікатом. Детально процес описаний в цієї статті.

Отже, якщо ви все зробили правильно, користувачі вашого домену можуть самостійно (без прав адміністратора) встановлювати драйвера зумовлених пристроїв.

Ссылка на основную публикацию