При подключении нового USB устройства к компьютеру, Windows автоматически определяет устройство и устанавливает подходящий драйвер. В результате пользователь практически сразу может использовать подключенное USB устройство или накопитель. Если политика безопасности вашей организации предполагает запрет использования переносных USB накопителей (флешки, USB HDD, SD-карты и т.п), вы можете заблокировать такое поведение. В этой статье мы покажем, как заблокировать использование внешних USB накопителей в Windows, запретить запись данных на подключенные флешки и запуск исполняемых файлов с помощью групповых политик (GPO).
В Windows вы можете гибко управлять доступом к внешним накопителям (USB, CD / DVD и др.) с помощью групповых политик Active Directory (мы не рассматриваем радикальный способ отключения USB портов через настройки BIOS ). Вы можете заблокировать только USB накопителей, при этом другие типы USB устройств (мышь, клавиатура, принтер, USB адаптеры на COM порты ), будут доступны пользователю.
В этом примере мы создадим попробуем заблокировать USB накопителей на всех компьютерах в OU домена с именем Workstations (можно применить политику запрета использования USB ко всему домену, но это затронет в том числе сервера и другие технологические устройства).
Настройки блокировки внешних запоминающих устройств есть как в пользовательском, так и в компьютерных разделах GPO:
Если нужно заблокировать USB накопители для всех пользователей компьютера, нужно настроить параметры в разделе “Конфигурация компьютера”.
В разделе “Доступ к съемным запоминающим устройствам” ( Removable Storage Access ) есть несколько политик, позволяющих отключить возможность использования различных классов устройств хранения: CD/DVD дисков, флоппи дисков (FDD), USB устройств, ленты и т.д.
Как вы видите, для каждого класса устройств вы можете запретить запуск исполняемых файлов (защита от вирусов), запретить чтение данных и запись/редактирование информации на внешнем носителе.
Максимальная ограничительная политика — All Removable Storage Classes: Deny All Access (Съемные запоминающие устройства всех классов: Запретить любой доступ) – позволяет полностью запретить доступ к любым типам внешних устройств хранения. Чтобы включить эту политику, откройте ее и переведите в состояние Enable .
После настройки политики и обновления параметров GPO на клиентах (gpupdate /force) внешние подключаемые устройства (не только USB устройства, но и любые внешние накопители) будут определять ОС, но при попытке их открыть появится ошибка доступа:
Location is not available_x000D_Drive is not accessible. Access is denied
В этом же разделе политик можно настроить более гибкие ограничения на использование внешних USB накопителей.
К примеру, вы можете запретить запись данных на USB флешки, и другие типы USB накопителей. Для этого включите политику Removable Disk: Deny write access (Съемные диски: Запретить запись).
После этого пользователи смогут читать данные с USB флешки, но при попытке записать на нее информацию, получат ошибку доступа:
Destination Folder Access Denied_x000D_You need permission to perform this action_x000D_
С помощью политики Removable Disks: Deny execute access (Съемные диски: Запретить выполнение) можно запретить запуск исполняемых файлов и скриптов с USB дисков.
Довольно часто необходимо запретить использовать USB диски всем пользователям компьютера, кроме администраторов.
Проще всего сделать исключение в политике с помощью Security Filtering GPO. Например, вы хотите запретить применять политику блокировки USB к группе администраторов домена.
Может быть другая задача — нужно разрешить использование внешних USB накопителей всем, кроме определённой группы пользователей. Создайте группу безопасности “Deny USB” и добавьте эту группу в настройках безопасности политики. Для этой группы выставите разрешения на чтение и применение GPO, а у группы Authenticated Users или Domain Computers оставить только разрешение на чтение (сняв галку у пункта Apply group policy).
Добавьте пользователей, которым нужно заблокировать доступ к USB флешкам и дискам в эту группу AD.
Вы можете более гибко управлять доступом к внешним устройствам с помощью настройки параметров реестра через механизм Group Policy Preferences (GPP). Всем указанным выше политикам соответствуют определенные ключи реестра в ветке HKLM (или HKCU) SOFTWAREPoliciesMicrosoftWindowsRemovableStorageDevices (по умолчанию этого раздела в реестре нет).
Название параметра 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 накопителей.
Чтобы быстро заблокировать чтение и запись данных на 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 фильтры ).
Вы можете полностью отключить драйвер USBSTOR (USB Mass Storage Driver), который необходим для корректного определения и монтирования USB устройств хранения.
На отдельно стоящем компьютере вы можете отключить этот драйвер, изменив значение параметра Start (тип запуска) с 3 на 4 . Можно это сделать через PowerShell командой:
Set-ItemProperty "HKLM:SYSTEMCurrentControlSetservicesUSBSTOR" -name Start -Value 4
Перезагрузите компьютер и попробуйте подключить USB накопитель. Теперь он не должен появиться в проводнике или консоли управления дисками, а в диспетчере устройств вы увидите ошибку установки драйвера устройства.
С помощью Group Policy Preferences вы можете отключить запуск драйвера USBSTOR на компьютерах домена. Для этого нужно внести изменения в реестр через GPO.
Эти настройки можно распространить на все компьютеры. Создайте новую групповую политику, назначьте ее на OU с компьютерами и в разделе Computer Configuration -> Preferences -> Windows Settings -> Registry создайте новый параметр со значениями:
В некоторых случая при анализе работы блокирующих политик вам нужно получить информацию об истории подключения USB накопителей к компьютеру.
Чтобы вывести список USB накопителей, подключенных к компьютеру прямо сейчас, выполните такую команду PowerShell:
Get-PnpDevice -PresentOnly | Where-Object { $_.deviceId -match '^USBSTOR' }
Status OK указывает, что данное устройство подключено и работает нормально.
Журнал событий Windows позволяет отслеживать события подключения/отключения USB накопителей.
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.
Также вы можете использовать бесплатную утилиту USBDriveLog от Nirsoft которая позволяет вывести в удобном виде всю историю подключения USB флешек и дисков к компьютеру пользователю (выводится информацию об устройстве, серийный номер, производитель, время подключения/отключения, и device id).
В Windows вы можете разрешить подключение только определенных (одобренных) USB флешки к компьютеру.
При подключении любого USB накопителя к компьютеру, драйвер USBSTOR устанавливает устройство и создает в ветке реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumUSBSTOR отдельную ветку. в которой содержится информация о накопителе (например, Disk&Ven_Kingstom&Prod_DT_1010_G2&Rev_1.00
).
Get-ItemProperty –Path HKLM:SYSTEMCurrentControlSetEnumUSBSTOR**| select FriendlyName
Удалите все записи для подключенных ранее 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
}
Таким образом можно организовать простейшую проверку подключаемых ко компьютеру USB флешек.
Как менялся логотип Apple на протяжении многих лет. Логотип Apple — это не просто символ,…
Security Boot Fail при загрузке Acer — решение проблемы При загрузке ноутбука Acer с флешки,…
Ноутбук не включается — варианты решения Если при попытке включить ноутбук вы обнаруживаете, что он…
The AC power adapter wattage and type cannot be determined — причины и решение При…
Свистит или звенит блок питания компьютера — причины и решения Некоторые владельцы ПК могут обратить…
Мигает Caps Lock на ноутбуке HP — почему и что делать? При включении ноутбука HP…