เมื่อเชื่อมต่ออุปกรณ์ USB ใหม่กับคอมพิวเตอร์ Windows จะตรวจจับอุปกรณ์และติดตั้งไดรเวอร์ที่เหมาะสมโดยอัตโนมัติ ผลลัพธ์คือผู้ใช้สามารถใช้ USB drive หรืออุปกรณ์ที่เชื่อมต่อได้ทันที ในบางองค์กร การใช้งานอุปกรณ์จัดเก็บข้อมูล USB (flash drives, USB HDDs, SD cards ฯลฯ) ถูกบล็อกเพื่อเหตุผลด้านความปลอดภัย เพื่อป้องกันการรั่วไหลของข้อมูลละเอียดอ่อนและการติดเชื้อคอมพิวเตอร์ บทความนี้อธิบายวิธีใช้ Group Policy (GPO) เพื่อปิดใช้งาน external removable USB-drives
กำหนดค่า GPO เพื่อปิดใช้งานอุปกรณ์จัดเก็บข้อมูล USB บนคอมพิวเตอร์โดเมน
ใน Windows ทุกเวอร์ชัน ตั้งแต่ Windows 7 เป็นต้นมา คุณสามารถจัดการการเข้าถึง external drives (USB, CD/DVD, floppy, tape ฯลฯ) ได้อย่างยืดหยุ่นโดยใช้ Group Policies (เราไม่พิจารณาวิธีปิดพอร์ต USB ผ่าน BIOS settings แบบรุนแรง) สามารถบล็อกการใช้งาน USB drives เพียงอย่างเดียวโดยทางโปรแกรม โดยไม่ส่งผลต่ออุปกรณ์ USB อื่นๆ เช่น เมาส์, คีย์บอร์ด, พริ้นเตอร์ ฯลฯ (ซึ่งไม่ถูกจดจำเป็น removable disk)
นโยบายการบล็อกอุปกรณ์ USB จะทำงานหากโครงสร้างพื้นฐาน AD domain ของคุณตรงตามข้อกำหนดต่อไปนี้:
- Active Directory schema version — Windows Server 2008 หรือใหม่กว่า; Note ชุด Group Policies ที่อนุญาตให้ควบคุมการติดตั้งและใช้สื่อจัดเก็บข้อมูลที่ถอดได้บน Windows ปรากฏครั้งแรกใน AD version 44
- Desktop OSs – Windows 7 หรือใหม่กว่า
เราจะจำกัดการใช้ USB drives สำหรับคอมพิวเตอร์ทั้งหมดใน AD container (OU) เหตุการณ์หนึ่ง คุณสามารถนำ USB block policy ไปใช้กับโดเมนทั้งหมด แต่จะส่งผลต่อเซิร์ฟเวอร์และอุปกรณ์เทคโนโลยีอื่นๆ สมมติว่าเราต้องการนำ policy ไปใช้กับ OU ชื่อ Workstations เพื่อทำเช่นนี้ ให้เปิดคอนโซลการจัดการ GPO (gpmc.msc) คลิกขวาที่ OU Workstations และสร้างนโยบายใหม่ (Create a GPO in this domain and Link it here)
Tip ในกรณีคอมพิวเตอร์ standalone นโยบายจำกัดอุปกรณ์ USB สามารถแก้ไขได้โดยใช้ Local Group Policy Editor – gpedit.msc Local Group Policy Editor ไม่มีใน Windows Home editions แต่คุณสามารถติดตั้งได้เช่นนี้: How to enable gpedit.msc on Windows 10 Home

ตั้งชื่อ GPO ว่า "Disable USB Access"

แก้ไขการตั้งค่า GPO (Edit)

การตั้งค่าสำหรับการบล็อก external storage devices พร้อมใช้งานในทั้งส่วน User และ Computer ของ GPO:
- User Configuration -> Policies -> Administrative Templates -> System -> Removable Storage Access
- Computer Configuration -> Policies -> Administrative Templates -> System -> Removable Storage Access
หากคุณต้องการบล็อก USB storage devices สำหรับผู้ใช้คอมพิวเตอร์ทุกคน คุณต้องกำหนดค่าในส่วน "Computer Configuration"
ในส่วน Removable Storage Access มีหลาย policies ที่อนุญาตให้ปิดใช้งานการใช้งานคลาสจัดเก็บข้อมูลต่างๆ — CD/DVDs, FDD, USB-devices, tapes ฯลฯ
- CD and DVD: Deny execute access
- CD and DVD: Deny read access
- 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
- Windows Portable Device – คลาสนี้รวม smartphones, tablets, players ฯลฯ
- WPD Devices: Deny write access
เห็นได้ว่าคุณสามารถปฏิเสธการเปิดไฟล์ executable สำหรับแต่ละ device class (ป้องกันคอมพิวเตอร์จากไวรัส) ห้ามอ่านข้อมูลและเขียน/แก้ไขไฟล์บนสื่อภายนอก

นโยบายจำกัดที่ "แข็งแกร่ง" ที่สุด — All Removable Storage Classes: Deny All Access – อนุญาตให้ปิดใช้งานการเข้าถึงทุกประเภทของ external storage devices เปิดนโยบายโดยเปิดมันและติ๊ก Enable

หลังจากเปิดใช้งานและอัปเดตนโยบายบนคอมพิวเตอร์ไคลเอนต์ (gpupdate /force) OS จะตรวจจับอุปกรณ์ภายนอกที่เชื่อมต่อ (ไม่ใช่แค่ USB devices แต่ทุก external drives) แต่เมื่อพยายามเปิดพวกมัน ข้อผิดพลาดจะปรากฏ:
Location is not available Drive is not accessible. Access is denied.

Tip การจำกัดเดียวกันสามารถตั้งค่าได้ผ่าน registry โดยสร้างพารามิเตอร์ DWORD Deny_All ด้วยค่า 00000001 ในคีย์รีจิสทรี HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\RemovableStorageDevices
ในส่วนนโยบายเดียวกัน คุณสามารถกำหนดค่าการจำกัดการใช้ external USB drives ได้อย่างยืดหยุ่นมากขึ้น
ตัวอย่างเช่น เพื่อป้องกันไม่ให้เขียนข้อมูลลง USB flash drives และ USB drives ประเภทอื่นๆ คุณควรเปิดใช้งานนโยบาย Removable Disk: Deny write access

ในกรณีนี้ ผู้ใช้จะสามารถอ่านข้อมูลจาก USB flash drive ได้ แต่เมื่อพยายามเขียนข้อมูลลงไป จะได้รับข้อผิดพลาด access denied:
Destination Folder Access Denied You need permission to perform this action

คุณสามารถป้องกันไม่ให้ไฟล์ executable และ script รันจาก USB-drives โดยใช้นโยบาย Removable Disks: Deny execute access

ปิดใช้งาน USB Drives ผ่าน GPO สำหรับผู้ใช้เฉพาะ
บ่อยครั้งที่ต้องการบล็อก USB drives สำหรับผู้ใช้ทั้งหมดในโดเมน ยกเว้น administrators
วิธีที่ง่ายที่สุดคือใช้ Security Filtering ใน GPO ตัวอย่างเช่น เพื่อป้องกันไม่ให้นโยบายบล็อก USB ถูกนำไปใช้กับกลุ่ม Domain Admins:
- เลือกนโยบาย Disable USB Access ของคุณในคอนโซล Group Policy Management;
- ในส่วน Security Filtering เพิ่มกลุ่ม Domain Admins;

- ไปที่แท็บ Delegation และคลิก Advanced ใน editor การตั้งค่าความปลอดภัย ระบุว่ากลุ่ม Domain Admins ไม่ได้รับอนุญาตให้นำนโยบาย GPO นี้ไปใช้ (Apply group policy – Deny)
อาจมีงานอีกอย่าง — คุณต้องการอนุญาตให้ใช้ external USB drives สำหรับทุกคน ยกเว้นกลุ่มผู้ใช้บางกลุ่ม สร้าง security group "Deny USB" และเพิ่มกลุ่มนี้ในการตั้งค่าความปลอดภัยของ GPO สำหรับกลุ่มนี้ ตั้งค่าสิทธิ์ให้อ่านและนำนโยบายไปใช้ และทิ้งเฉพาะสิทธิ์อ่านสำหรับกลุ่ม Authenticated Users หรือ Domain Computers (โดยการเอาติ๊ก Apply group policy ออก)

บล็อก USB และ Removable Devices ผ่าน Registry และ Group Policy Preferences
คุณสามารถควบคุมการเข้าถึงอุปกรณ์ภายนอกได้อย่างยืดหยุ่นมากขึ้นโดยการกำหนดค่าการตั้งค่ารีจิสทรีที่ตั้งค่าโดยนโยบายที่อภิปรายข้างต้นผ่าน Group Policy Preferences (GPP) นโยบายทั้งหมดข้างต้นสอดคล้องกับคีย์รีจิสทรีบางตัวใน HKLM (หรือ HKCU) \SOFTWARE\Policies\Microsoft\Windows\RemovableStorageDevices (โดยค่าเริ่มต้นคีย์รีจิสทรีนี้หายไป)
เพื่อเปิดใช้งานหนึ่งในนโยบายเหล่านี้ คุณต้องสร้าง subkey ใหม่ในคีย์ที่ระบุด้วยชื่อ device class ที่คุณต้องการบล็อกการเข้าถึง (คอลัมน์ 2) และพารามิเตอร์ REG_DWORD ด้วยประเภทข้อจำกัด (Deny_Read, Deny_Write หรือ Deny_Execute) หากค่าของพารามิเตอร์นี้เท่ากับ 1 การจำกัด USB จะใช้งานได้ หาก 0 – ไม่มีข้อจำกัดบน device class นี้
| Policy name | Device Class GUID | Registry parameter name |
| 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 และ subkey ชื่อ {53f5630d-b6bf-11d0-94f2-00a0c91efb8b} ด้วยช่วยเหลือของพารามิเตอร์ REG_DWORD ฉันห้ามการเขียนและรัน executable จาก USB drives

การปิดใช้งาน USB storage จะมีผลทันทีหลังจากนำ policy ไปใช้ (ไม่ต้องรีสตาร์ทคอมพิวเตอร์) หาก USB flash drive เชื่อมต่อกับคอมพิวเตอร์ มันจะพร้อมใช้งานจนกว่าจะถูกถอดและเสียบใหม่
คุณสามารถใช้คีย์รีจิสทรีเหล่านี้และ Item-level targeting ของ GPP เพื่อนำ policies ที่จำกัดการใช้ external USB storage devices ไปใช้อย่างยืดหยุ่น คุณสามารถนำ policies ไปใช้กับ AD security groups เฉพาะ, sites, OS versions, OUs (คุณสามารถใช้ WMI filters ได้แม้กระทั่ง) ตัวอย่างเช่น คุณสามารถสร้างโดเมน group Storage-Devices-Restrict และเพิ่ม computer accounts ที่คุณต้องการจำกัดการใช้ USB drives กลุ่มนี้ระบุใน GPP policy ของคุณในส่วน Item Level Targeting -> Security Group ด้วยตัวเลือก Computer in Group นี่จะนำ USB blocking policy ไปใช้กับคอมพิวเตอร์ที่ถูกเพิ่มเข้าไปใน AD group นี้

Note ทương tự คุณสามารถสร้างนโยบายของคุณเองสำหรับ device classes ที่ไม่อยู่ในรายการนี้ คุณสามารถค้นหา device class ID ในคุณสมบัติไดรเวอร์ในค่าของแอตทริบิวต์ Device Class GUID
ปิดใช้งานไดรเวอร์ USB Storage ผ่าน Registry
คุณสามารถปิดใช้งานไดรเวอร์ USBSTOR (USB Mass Storage Driver) ซึ่งจำเป็นสำหรับการตรวจจับและ mount USB storage devices ได้อย่างสมบูรณ์
บนคอมพิวเตอร์ standalone คุณสามารถปิดใช้งานไดรเวอร์นี้โดยการเปลี่ยนค่าพารามิเตอร์รีจิสทรี Start จาก 3 เป็น 4 คุณสามารถทำได้ผ่าน PowerShell:
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name Start -Value 4

รีสตาร์ทคอมพิวเตอร์และลองเชื่อมต่อ USB storage device ของคุณ ตอนนี้มันไม่ควรปรากฏใน File Explorer หรือคอนโซล Disk Management และใน Device Manager คุณจะเห็นข้อผิดพลาดการติดตั้งไดรเวอร์อุปกรณ์
Note นี่คือวิธีเดียวที่จะปิดใช้งาน USB drives ใน Windows XP/Windows Server 2003 ที่ล้าสมัย เนื่องจากในเวอร์ชันเหล่านี้ไม่มีการตั้งค่า Group Policy แยกต่างหากเพื่อจำกัดการเข้าถึง external USB devices
คุณสามารถปิดใช้งานไดรเวอร์ USBSTOR บนคอมพิวเตอร์โดเมนโดยใช้ Group Policy Preferences เพื่อทำเช่นนี้ คุณต้องทำการเปลี่ยนแปลงรีจิสทรีผ่าน GPO
การตั้งค่าเหล่านี้สามารถปรับใช้กับคอมพิวเตอร์โดเมนทั้งหมด สร้าง Group Policy ใหม่ เชื่อมโยงกับ OU ที่มีคอมพิวเตอร์ และในส่วน Computer Configuration -> Preferences -> Windows Settings -> Registry สร้างพารามิเตอร์ใหม่ด้วยค่า:
- Action: Update
- Hive: HKEY_LOCAL_MACHINE
- Key path: SYSTEM\CurrentControlSet\Services\USBSTOR
- Value name: Start
- Value type: REG_DWORD
- Value data: 00000004

อนุญาตให้เชื่อมต่อ USB Storage Device เฉพาะตัวที่ระบุเท่านั้น
คุณสามารถใช้การตั้งค่ารีจิสทรีบางอย่างเพื่ออนุญาตให้ USB storage drive ที่เฉพาะเจาะจง (อนุมัติ) เชื่อมต่อกับคอมพิวเตอร์ของคุณได้ มาดูอย่างรวดเร็วว่าสามารถกำหนดค่าได้อย่างไร
เมื่อคุณเชื่อมต่อ USB storage device ใดๆ กับคอมพิวเตอร์ ไดรเวอร์ USBSTOR ติดตั้งอุปกรณ์และสร้างคีย์รีจิสทรีแยกต่างหากภายใต้ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR คีย์รีจิสทรีนี้มีข้อมูลเกี่ยวกับ USB drive (ตัวอย่าง Disk & Ven_Kingstom & Prod_DT_1010_G2 & Rev_12.00)

คุณสามารถแสดงรายการ USB drives ที่เคยเชื่อมต่อกับคอมพิวเตอร์ของคุณได้ด้วยคำสั่ง PowerShell ต่อไปนี้:
Get-ItemProperty –Path HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*| select FriendlyName

คุณสามารถลบคีย์รีจิสทรีทั้งหมดสำหรับ USB flash drives ที่เคยเชื่อมต่อมาก่อนหน้านี้ ยกเว้นที่คุณต้องการ
จากนั้นคุณต้องเปลี่ยนสิทธิ์บนคีย์รีจิสทรี USBSTOR ให้ทุกคน (รวมถึง SYSTEM และ administrators) มีสิทธิ์อ่านอย่างเดียว ผลลัพธ์คือเมื่อคุณเชื่อมต่อ USB drive ใดๆ ยกเว้นที่อนุญาต Windows จะไม่สามารถติดตั้งอุปกรณ์ได้