Как заблокировать использование USB накопителей в Windows?

Как заблокировать использование USB накопителей в Windows?

При подключении нового USB устройства к компьютеру, Windows автоматически определяет устройство и устанавливает подходящий драйвер. В результате пользователь практически сразу может использовать подключенное USB устройство или накопитель. Если политика безопасности вашей организации предполагает запрет использования переносных USB накопителей (флешки, USB HDD, SD-карты и т.п), вы можете заблокировать такое поведение. В этой статье мы покажем, как заблокировать использование внешних USB накопителей в Windows, запретить запись данных на подключенные флешки и запуск исполняемых файлов с помощью групповых политик (GPO).

Настройка групповой политики блокировки USB носителей в Windows

В Windows вы можете гибко управлять доступом к внешним накопителям (USB, CD / DVD и др.) с помощью групповых политик Active Directory (мы не рассматриваем радикальный способ отключения USB портов через настройки BIOS). Вы можете заблокировать только USB накопителей, при этом другие типы USB устройств (мышь, клавиатура, принтер, USB адаптеры на COM порты), будут доступны пользователю.

В этом примере мы создадим попробуем заблокировать USB накопителей на всех компьютерах в OU домена с именем Workstations (можно применить политику запрета использования USB ко всему домену, но это затронет в том числе сервера и другие технологические устройства).

  1. Откройте е консоль управления доменными GPO (msc), найдите в структуре структуре Organizational Unit контейнер Workstations, щелкните по нему правой клавишей и создайте новую политику (Create a GPO in this domain and Link it here); Создать новую групповую политику
  2. Задайте имя политики — Disable USB Access.Политика Disable USB Access
  3. Перейдите в режим редактирования GPO (Edit).

Отредактировать GPO

Настройки блокировки внешних запоминающих устройств есть как в пользовательском, так и в компьютерных разделах GPO:

  • User Configuration-> Policies-> Administrative Templates-> System->Removable Storage Access (Конфигурация пользователя -> Административные шаблоны -> Система ->Доступ к съемным запоминающим устройствам);
  • Computer Configuration-> Policies-> Administrative Templates-> System-> Removable Storage Access (Конфигурация компьютера-> Административные шаблоны -> Система ->Доступ к съемным запоминающим устройствам).

Если нужно заблокировать USB накопители для всех пользователей компьютера, нужно настроить параметры в разделе “Конфигурация компьютера”.

В разделе “Доступ к съемным запоминающим устройствам” (Removable Storage Access) есть несколько политик, позволяющих отключить возможность использования различных классов устройств хранения: CD/DVD дисков, флоппи дисков (FDD), USB устройств, ленты и т.д.

  • Компакт-диски и DVD-диски: Запретить выполнение (CD and DVD: Deny execute access).
  • Компакт-диски и DVD-диски: Запретить чтение (CD and DVD: Deny read access).
  • Компакт-диски и DVD-диски: Запретить запись (CD and DVD: Deny write access).
  • Специальные классы: Запретить чтение (Custom Classes: Deny read access).
  • Специальные классы: Запретить запись (Custom Classes: Deny write access).
  • Накопители на гибких дисках: Запретить выполнение (Floppy Drives: Deny execute access).
  • Накопители на гибких дисках: Запретить чтение (Floppy Drives: Deny read access).
  • Накопители на гибких дисках: Запретить запись (Floppy Drives: Deny write access).
  • Съемные диски: Запретить выполнение (Removable Disks: Deny execute access).
  • Съемные диски: Запретить чтение (Removable Disks: Deny read access).
  • Съемные диски: Запретить запись (Removable Disks: Deny write access).
  • Съемные запоминающие устройства всех классов: Запретить любой доступ (All Removable Storage classes: Deny all access).
  • Все съемные запоминающие устройства: разрешение прямого доступа в удаленных сеансах (All Removable Storage: Allow direct access in remote sessions).
  • Ленточные накопители: Запретить выполнение (Tape Drives: Deny execute access).
  • Ленточные накопители: Запретить чтение (Tape Drives: Deny read access).
  • Ленточные накопители: Запретить запись (Tape Drives: Deny write access).
  • WPD-устройства: Запретить чтение (WPD Devices: Deny read access) – это класс портативных устройств (Windows Portable Device). Включает в себя смартфоны (например, доступ хранилищу Android телефона) , планшеты, плееры и т.д.
  • WPD-устройства: Запретить запись (WPD Devices: Deny write access).

Как вы видите, для каждого класса устройств вы можете запретить запуск исполняемых файлов (защита от вирусов), запретить чтение данных и запись/редактирование информации на внешнем носителе.

политики управления доступом к съемным запоминающим устройствам

Максимальная ограничительная политика — All Removable Storage Classes: Deny All Access (Съемные запоминающие устройства всех классов: Запретить любой доступ) – позволяет полностью запретить доступ к любым типам внешних устройств хранения. Чтобы включить эту политику, откройте ее и переведите в состояние Enable.

All Removable Storage Classes: Deny All Access

После настройки политики и обновления параметров GPO на клиентах (gpupdate /force) внешние подключаемые устройства (не только USB устройства, но и любые внешние накопители) будут определять ОС, но при попытке их открыть появится ошибка доступа:

Location is not available
Drive is not accessible. Access is denied

USB Location is not available

Совет. Аналогичное ограничение можно задать, через реестр, создав в ветке HKEY_CURRENT_USER (или ветке HKEY_LOCAL_MACHINE) SoftwarePoliciesMicrosoftWindowsRemovableStorageDevices ключ Deny_All типа Dword со значением 00000001.

В этом же разделе политик можно настроить более гибкие ограничения на использование внешних USB накопителей.

К примеру, вы можете запретить запись данных на USB флешки, и другие типы USB накопителей. Для этого включите политику Removable Disk: Deny write access (Съемные диски: Запретить запись).

Removable Disk: Deny write access

После этого пользователи смогут читать данные с USB флешки, но при попытке записать на нее информацию, получат ошибку доступа:

Destination Folder Access Denied
You need permission to perform this action

Destination Folder Access Denied

С помощью политики Removable Disks: Deny execute access (Съемные диски: Запретить выполнение) можно запретить запуск исполняемых файлов и скриптов с USB дисков.

Removable Disks: Deny execute access

Как заблокировать USB накопители только определенным пользователям?

Довольно часто необходимо запретить использовать USB диски всем пользователям компьютера, кроме администраторов.
Проще всего сделать исключение в политике с помощью Security Filtering GPO. Например, вы хотите запретить применять политику блокировки USB к группе администраторов домена.

  1. Найдите вашу политику Disable USB Access в консоли Group Policy Management;
  2. В разделе Security Filtering добавьте группу Domain Admins;gpo Security Filtering
  3. Перейдите на вкладку Delegation, нажмите на кнопкуAdvanced. В редакторе настроек безопасности, укажите что, группе Domain Admins запрещено применять настройки этой GPO (Apply group policy – Deny).запретить применение политики ограничения USB к админам

Может быть другая задача — нужно разрешить использование внешних USB накопителей всем, кроме определённой группы пользователей. Создайте группу безопасности “Deny USB” и добавьте эту группу в настройках безопасности политики. Для этой группы выставите разрешения на чтение и применение GPO, а у группы Authenticated Users или Domain Computers оставить только разрешение на чтение (сняв галку у пункта Apply group policy).

gpo auth users read

Добавьте пользователей, которым нужно заблокировать доступ к USB флешкам и дискам в эту группу AD.

Запрет доступа к USB накопителям через реестр и GPO

Вы можете более гибко управлять доступом к внешним устройствам с помощью настройки параметров реестра через механизм Group Policy Preferences (GPP). Всем указанным выше политикам соответствуют определенные ключи реестра в ветке HKLM (или HKCU) SOFTWAREPoliciesMicrosoftWindowsRemovableStorageDevices (по умолчанию этого раздела в реестре нет).

  1. Чтобы включить ту или иную политику нужно создать в указанном ключе новую ветку с именем класса устройств, доступ к которым нужно заблокировать (столбец
  2. В новой ветке реестра нужно создать REG_DWORD параметром с именем ограничения, которое вы хотите внедрить:
    Deny_Read — запретить чтения данных с носителя;
    Deny_Write – запретить запись данных;
    Deny_Execute — запрет запуска исполняемых файлов.
  3. Задайте значение параметра:
    1 — заблокировать указанный тип доступа к устройствам этого класса;
    0 – разрешить использования данного класса устройств.

 

Название параметра GPO Подветка с именем Device Class GUID Имя параметра реестра
Floppy Drives:
Deny read access
{53f56311-b6bf-11d0-94f2-00a0c91efb8b} Deny_Read
Floppy Drives:
Deny write access
{53f56311-b6bf-11d0-94f2-00a0c91efb8b} Deny_Write
CD and DVD:
Deny read access
{53f56308-b6bf-11d0-94f2-00a0c91efb8b} Deny_Read
CD and DVD:
Deny write access
{53f56308-b6bf-11d0-94f2-00a0c91efb8b} Deny_Write
Removable Disks:
Deny read access
{53f5630d-b6bf-11d0-94f2-00a0c91efb8b} Deny_Read
Removable Disks:
Deny write access
{53f5630d-b6bf-11d0-94f2-00a0c91efb8b} Deny_Write
Tape Drives:
Deny read access
{53f5630b-b6bf-11d0-94f2-00a0c91efb8b} Deny_Read
Tape Drives:
Deny write access
{53f5630b-b6bf-11d0-94f2-00a0c91efb8b} Deny_Write
WPD Devices:
Deny read access
{6AC27878-A6FA-4155-BA85-F98F491D4F33}
{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}
Deny_Read
WPD Devices:
Deny write access
{6AC27878-A6FA-4155-BA85-F98F491D4F33}
{F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE}
Deny_Write

Вы можете создать эти ключи реестра и параметры вручную. На скриншоте ниже я создал ключ RemovableStorageDevices, а в нем подраздел с именем {53f5630d-b6bf-11d0-94f2-00a0c91efb8b}. С помощью REG_DWORD параметров я запретил запись и запуск исполняемых файлов с USB накопителей.

политика ограничения RemovableStorageDevices в реестре

Запрет использования USB накопителей вступит в силу немедленно после внесения изменения (не нужно перезагружать компьютер). Если USB флешка подключена к компьютеру, она будет доступна до тех пор, пока ее не переподключат.

Чтобы быстро заблокировать чтение и запись данных на USBнакопители в Windows, можно выполнить такой PowerShell скрипт:

$regkey='HKLM:SoftwarePoliciesMicrosoftWindowsRemovableStorageDevices{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}'
$exists = Test-Path $regkey
if (!$exists) {
New-Item -Path 'HKLM:SoftwarePoliciesMicrosoftWindowsRemovableStorageDevices' -Name '{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}' -Force | Out-Null
}
New-ItemProperty -Path $regkey -Name 'Deny_Read -Value 1 -PropertyType 'DWord' -Force | Out-Null
New-ItemProperty -Path $regkey -Name 'Deny_Write' -Value 1 -PropertyType 'DWord' -Force | Out-Null

В доменной среде эти параметры реестра можно централизованно распространить на компьютеры пользователей с помощью GPP. Подробнее настройка параметров реестра через GPO описана в статье Настройка параметров реестра на компьютерах с помощью групповых политик.

Данные ключи реестра и возможности нацеливания политик GPP с помощью Item-level targeting позволят вам гибко применять политики, ограничивающие использование внешних устройств хранения. Вы можете применять политики к определённым группам безопасности AD, сайтам, версиям ОС, OU и другим характеристикам компьютеров (в том числе можно выбирать компьютеры через WMI фильтры).

Примечание. Аналогичным образом вы можете создать собственные политики для классов устройств, которые в данном списке не перечислены. Узнать идентификатор класса устройства можно в свойствах драйвера в значении атрибута Device Class GUID.

Полное отключение драйвера USB накопителей в Windows

Вы можете полностью отключить драйвер USBSTOR (USB Mass Storage Driver), который необходим для корректного определения и монтирования USB устройств хранения.

На отдельно стоящем компьютере вы можете отключить этот драйвер, изменив значение параметра Start (тип запуска) с 3 на 4. Можно это сделать через PowerShell командой:

Set-ItemProperty "HKLM:SYSTEMCurrentControlSetservicesUSBSTOR" -name Start -Value 4

отключить службу USBSTOR в windows 10 через реестр

Перезагрузите компьютер и попробуйте подключить USB накопитель. Теперь он не должен появиться в проводнике или консоли управления дисками, а в диспетчере устройств вы увидите ошибку установки драйвера устройства.

С помощью Group Policy Preferences вы можете отключить запуск драйвера USBSTOR на компьютерах домена. Для этого нужно внести изменения в реестр через GPO.

Эти настройки можно распространить на все компьютеры. Создайте новую групповую политику, назначьте ее на OU с компьютерами и в разделе Computer Configuration -> Preferences -> Windows Settings -> Registry создайте новый параметр со значениями:

  • Action: Update
  • Hive: HKEY_LOCAK_MACHINE
  • Key path: SYSTEMCurrentControlSetServicesUSBSTOR
  • Value name: Start
  • Value type: REG_DWORD
  • Value data: 00000004

отключить usbstor драйвер с помощью групповой политики

История подключения USB накопителей в Windows

В некоторых случая при анализе работы блокирующих политик вам нужно получить информацию об истории подключения USB накопителей к компьютеру.

Чтобы вывести список USB накопителей, подключенных к компьютеру прямо сейчас, выполните такую команду PowerShell:

Get-PnpDevice -PresentOnly | Where-Object { $_.deviceId -match '^USBSTOR' }

powershell вывести подключенные usb диски в windows

Status OK указывает, что данное устройство подключено и работает нормально.

Журнал событий Windows позволяет отслеживать события подключения/отключения USB накопителей.

  1. Эти события находятся в журнале Event Viewer -> Application and Services Logs -> Windows -> Microsoft-Windows-DriverFrameworks-UserMode -> Operational;
  2. По умолчанию Windows не сохраняет историю об подключениях. Поэтому вам придется включить вручную (Enable Log) или через GPO;логи подключения usb диско в windows event viewer
  3. После этого вы можете использовать событие с EventID 2003 (Pnp or Power Management operation to a particular device) для получения информации о времени подключения USB накопителя и Event ID 2102 (Pnp or Power Management operation to a particular device) о времени отключения флешки:
    Forwarded a finished Pnp or Power operation (27, 2) to the lower driver for device SWDWPDBUSENUM_??_USBSTOR#DISK&VEN_UFD_2.0&PROD_SILICON-POWER16G&REV_PMAP#12010208030E6C10D00CE7200A6&0#{53F56307-B6BF-11D0-94F2-00A0C91EFB8B} with status 0x0.

    событие EventID 2102 usb диск подключен

Также вы можете использовать бесплатную утилиту USBDriveLog от Nirsoft которая позволяет вывести в удобном виде всю историю подключения USB флешек и дисков к компьютеру пользователю (выводится информацию об устройстве, серийный номер, производитель, время подключения/отключения, и device id).

утилита usbdrivelog показывает историю подключений usb дисков в windows

Разрешить подключение только определенной USB флешки

В Windows вы можете разрешить подключение только определенных (одобренных) USB флешки к компьютеру.

При подключении любого USB накопителя к компьютеру, драйвер USBSTOR устанавливает устройство и создает в ветке реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumUSBSTOR отдельную ветку. в которой содержится информация о накопителе (например,
 Disk&Ven_Kingstom&Prod_DT_1010_G2&Rev_1.00
).

ветка usbstor в реестре со список всех подключавшихся usb носителей

Вы можете вывести список USB накопителей, которые когда-либо подключались к вашему компьютеру следующей PowerShell командой:

Get-ItemProperty –Path HKLM:SYSTEMCurrentControlSetEnumUSBSTOR**| select FriendlyName

usbstor вывести историю подключения usb накопителей с помощью powershell

Удалите все записи для подключенных ранее USB флешек, кроме тех, которые вам нужны. Затем нужно изменить разрешения на ветку реестра USBSTOR так, чтобы у всех пользователей, в том числе SYSTEM и администраторов, были только права на чтение. В результате при подключении любой USB накопителя, кроме разрешенного, Windows не сможет установить устройство.

Также можно создать и привязать задания планировщика к EventID подключения USB диска к компьютеру и выполнить определенное действие/скрипт (пример запуска процесса при появлении события в Event Viewer).

Например, вы можете сделать простой PowerShell скрипт, который автоматически отключает любые USB накопителя, если серийный номер не совпадает с заданной в скрипте:

$usbdev = get-wmiobject win32_volume | where{$_.DriveType -eq '2'}
If ($usbdev.SerialNumber –notlike “32SM32846AD”)
{
$usbdev.DriveLetter = $null
$usbdev.Put()
$usbdev.Dismount($false,$false) | Out-Null
}


powershell скрипт - отмонтировать usb флешку

Таким образом можно организовать простейшую проверку подключаемых ко компьютеру USB флешек.

Windows 10
Как заблокировать использование USB накопителей в Windows?