새로운 USB 장치를 컴퓨터에 연결하면 Windows가 자동으로 장치를 감지하고 적절한 드라이버를 설치하여, 사용자가 연결된 USB 드라이브를 거의 즉시 사용할 수 있도록 합니다. 하지만 일부 조직에서는 민감한 데이터 유출 방지와 악성코드 감염 예방 등 보안상의 이유로 USB 저장 장치(USB 메모리, 외장 HDD, SD 카드 등)의 사용을 차단하고 있습니다. 이 글에서는 그룹 정책(GPO)을 활용하여 외부 이동식 USB 드라이브를 비활성화하는 방법을 단계별로 자세히 설명합니다.
도메인 컴퓨터에서 USB 저장 장치 비활성화를 위한 GPO 구성
Windows 7부터 모든 버전의 Windows에서는 그룹 정책을 통해 외장 드라이브(USB, CD/DVD, 플로피 디스크, 테이프 등)에 대한 접근을 유연하게 관리할 수 있습니다(BIOS 설정으로 USB 포트 자체를 끄는 근본적인 방법은 여기서 다루지 않습니다). 특히 마우스, 키보드, 프린터처럼 이동식 디스크로 인식되지 않는 USB 장치에는 영향을 주지 않으면서 오직 USB 저장 드라이브만 선택적으로 차단하는 것도 가능합니다.
USB 장치 차단 정책이 정상적으로 작동하려면 AD 도메인 인프라가 다음 요구 사항을 충족해야 합니다:
- Active Directory 스키마 버전 — Windows Server 2008 이상. 참고: 이동식 미디어의 설치 및 사용을 제어하는 그룹 정책 세트는 AD 스키마 버전 44부터 지원됩니다.
- 클라이언트 OS — Windows 7 이상.
여기서는 특정 AD 컨테이너(OU)에 속한 모든 컴퓨터를 대상으로 USB 드라이브 사용을 제한해 보겠습니다. 차단 정책을 전체 도메인에 적용할 수도 있지만, 이 경우 서버나 기타 업무용 장치까지 영향을 받게 됩니다. Workstations라는 OU에 정책을 적용한다고 가정하고, GPO 관리 콘솔(gpmc.msc)을 연 후 Workstations OU를 마우스 오른쪽 버튼으로 클릭하여 새 정책을 생성합니다(Create a GPO in this domain and Link it here).
팁. 단독 실행 컴퓨터의 경우 로컬 그룹 정책 편집기(gpedit.msc)를 사용하여 USB 장치 제한 정책을 편집할 수 있습니다. Windows Home 에디션에는 로컬 그룹 정책 편집기가 기본 포함되어 있지 않지만, 별도의 절차를 통해 활성화할 수 있습니다.

GPO 이름을 "Disable USB Access"로 지정합니다.

정책을 선택하고 Edit(편집)을 클릭하여 GPO 설정을 수정합니다.

외장 저장 장치 차단 설정은 GPO의 사용자(User) 섹션과 컴퓨터(Computer) 섹션 양쪽에서 모두 구성할 수 있습니다:
- 사용자 구성 → 정책 → 관리 템플릿 → 시스템 → 이동식 저장소 액세스(Removable Storage Access)
- 컴퓨터 구성 → 정책 → 관리 템플릿 → 시스템 → 이동식 저장소 액세스(Removable Storage Access)
모든 사용자에게 USB 저장 장치를 차단하려면 "컴퓨터 구성" 섹션에서 설정을 구성해야 합니다.
Removable Storage Access 섹션에는 CD/DVD, 플로피 디스크, USB 장치, 테이프 등 다양한 저장 장치 클래스의 사용을 비활성화할 수 있는 여러 정책이 있습니다:
- CD 및 DVD: 실행 액세스 거부
- CD 및 DVD: 읽기 액세스 거부
- CD 및 DVD: 쓰기 액세스 거부
- 사용자 지정 클래스: 읽기 액세스 거부
- 사용자 지정 클래스: 쓰기 액세스 거부
- 플로피 드라이브: 실행 액세스 거부
- 플로피 드라이브: 읽기 액세스 거부
- 플로피 드라이브: 쓰기 액세스 거부
- 이동식 디스크: 실행 액세스 거부
- 이동식 디스크: 읽기 액세스 거부
- 이동식 디스크: 쓰기 액세스 거부
- 모든 이동식 저장소 클래스: 모든 액세스 거부
- 모든 이동식 저장소: 원격 세션에서 직접 액세스 허용
- 테이프 드라이브: 실행 액세스 거부
- 테이프 드라이브: 읽기 액세스 거부
- 테이프 드라이브: 쓰기 액세스 거부
- WPD(Windows 휴대용 장치) — 스마트폰, 태블릿, 미디어 플레이어 등이 해당됩니다.
- WPD 장치: 쓰기 액세스 거부
보시다시피 각 장치 클래스별로 실행 파일의 구동을 차단하여 바이러스 감염을 예방하거나, 외부 미디어에서의 데이터 읽기 및 파일 쓰기/편집을 금지할 수 있습니다.

가장 강력한 제한 정책은 All Removable Storage Classes: Deny All Access(모든 이동식 저장소 클래스: 모든 액세스 거부)로, 모든 유형의 외장 저장 장치에 대한 접근을 완전히 비활성화합니다. 이 정책을 활성화하려면 해당 항목을 열고 Enabled(사용)를 선택합니다.

정책을 활성화하고 클라이언트 컴퓨터에서 정책을 갱신하면(gpupdate /force), 운영체제는 연결된 외장 장치를 계속 감지하지만(USB뿐 아니라 모든 외장 드라이브 대상), 실제로 열려고 시도하면 다음과 같은 오류가 표시됩니다:
Location is not available
Drive is not accessible. Access is denied.
(위치를 사용할 수 없습니다. 드라이브에 액세스할 수 없습니다. 액세스가 거부되었습니다.)

팁. 동일한 제한은 레지스트리를 통해서도 설정할 수 있습니다. HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\RemovableStorageDevices 키에 값이 00000001인 DWORD 매개변수 Deny_All을 생성하면 됩니다.
같은 정책 섹션에서 외장 USB 드라이브 사용에 대해 더욱 유연한 제한을 구성할 수도 있습니다.
예를 들어, USB 메모리 및 기타 USB 드라이브에 대한 데이터 쓰기를 막으려면 Removable Disk: Deny write access(이동식 디스크: 쓰기 액세스 거부) 정책을 활성화하면 됩니다.

이 경우 사용자는 USB 메모리에서 데이터를 읽을 수 있지만, 정보를 쓰려고 시도하면 액세스 거부 오류가 발생합니다:
Destination Folder Access Denied
You need permission to perform this action
또한 Removable Disks: Deny execute access(이동식 디스크: 실행 액세스 거부) 정책을 사용하면 USB 드라이브에서 실행 파일이나 스크립트 파일이 구동되는 것을 방지할 수 있습니다.
특정 사용자를 위한 GPO 기반 USB 드라이브 비활성화
관리자를 제외한 도메인 내 모든 사용자에게 USB 드라이브를 차단해야 하는 경우가 종종 있습니다.
가장 간단한 방법은 GPO의 보안 필터링(Security Filtering)을 활용하는 것입니다. 예를 들어, Domain Admins 그룹에는 USB 차단 정책이 적용되지 않도록 설정하려면 다음과 같이 진행합니다:
- 그룹 정책 관리 콘솔에서 Disable USB Access 정책을 선택합니다.
- Security Filtering(보안 필터링) 섹션에 Domain Admins 그룹을 추가합니다.
- Delegation(위임) 탭으로 이동하여 Advanced(고급)를 클릭합니다. 보안 설정 편집기에서 Domain Admins 그룹에 대해 이 GPO를 적용하지 않도록 지정합니다(Apply group policy – Deny).
반대로 특정 사용자 그룹만 제외하고 나머지 모든 사용자에게 외장 USB 드라이브 사용을 허용해야 하는 경우도 있을 수 있습니다. 이때는 "Deny USB"라는 보안 그룹을 생성하고 GPO의 보안 설정에 추가합니다. 이 그룹에는 GPO 읽기 및 적용 권한을 부여하고, Authenticated Users 또는 Domain Computers 그룹에는 읽기 권한만 남겨둡니다(Apply group policy 체크박스 해제).
레지스트리 및 그룹 정책 기본 설정(GPP)을 통한 USB·이동식 장치 차단
그룹 정책 기본 설정(Group Policy Preferences, GPP)을 통해 앞서 설명한 정책들이 설정하는 레지스트리 값을 직접 구성하면 더욱 유연하게 외장 장치 접근을 제어할 수 있습니다. 위의 모든 정책은 HKLM(또는 HKCU)\SOFTWARE\Policies\Microsoft\Windows\RemovableStorageDevices 키 아래의 특정 레지스트리 값에 해당합니다(기본적으로 이 레지스트리 키는 존재하지 않습니다).
정책 중 하나를 활성화하려면 지정된 키 아래에 차단하려는 장치 클래스 이름(표의 두 번째 열)으로 새 하위 키를 만들고, 제한 유형(Deny_Read, Deny_Write, Deny_Execute)에 해당하는 REG_DWORD 값을 생성해야 합니다. 이 값이 1이면 해당 USB 제한이 활성화되고, 0이면 해당 장치 클래스에 대한 제한이 없습니다.
| 정책 이름 | 장치 클래스 GUID | 레지스트리 매개변수 이름 |
| 플로피 드라이브: 읽기 액세스 거부 | {53f56311-b6bf-11d0-94f2-00a0c91efb8b} | Deny_Read |
| 플로피 드라이브: 쓰기 액세스 거부 | {53f56311-b6bf-11d0-94f2-00a0c91efb8b} | Deny_Write |
| CD 및 DVD: 읽기 액세스 거부 | {53f56308-b6bf-11d0-94f2-00a0c91efb8b} | Deny_Read |
| CD 및 DVD: 쓰기 액세스 거부 | {53f56308-b6bf-11d0-94f2-00a0c91efb8b} | Deny_Write |
| 이동식 디스크: 읽기 액세스 거부 | {53f5630d-b6bf-11d0-94f2-00a0c91efb8b} | Deny_Read |
| 이동식 디스크: 쓰기 액세스 거부 | {53f5630d-b6bf-11d0-94f2-00a0c91efb8b} | Deny_Write |
| 테이프 드라이브: 읽기 액세스 거부 | {53f5630b-b6bf-11d0-94f2-00a0c91efb8b} | Deny_Read |
| 테이프 드라이브: 쓰기 액세스 거부 | {53f5630b-b6bf-11d0-94f2-00a0c91efb8b} | Deny_Write |
| WPD 장치: 읽기 액세스 거부 | {6AC27878-A6FA-4155-BA85-F98F491D4F33} {F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE} | Deny_Read |
| WPD 장치: 쓰기 액세스 거부 | {6AC27878-A6FA-4155-BA85-F98F491D4F33} {F33FDC04-D1AC-4E8E-9A30-19BBD4B108AE} | Deny_Write |
위의 레지스트리 키와 값은 수동으로 생성할 수 있습니다. 아래 스크린샷에서는 RemovableStorageDevices 키와 그 하위 키인 {53f5630d-b6bf-11d0-94f2-00a0c91efb8b}를 생성한 후, REG_DWORD 매개변수를 통해 USB 드라이브에서의 쓰기와 실행 파일 구동을 금지했습니다.

USB 저장 장치 비활성화는 정책이 적용되는 즉시 효력이 발생하며(컴퓨터 재시작 불필요), 이미 연결되어 있는 USB 메모리는 다시 연결하기 전까지는 계속 사용 가능합니다.
이러한 레지스트리 키와 GPP의 항목 수준 대상 지정(Item-level Targeting)을 결합하면 외장 USB 저장 장치 사용 제한 정책을 매우 유연하게 배포할 수 있습니다. 특정 AD 보안 그룹, 사이트, OS 버전, OU에 정책을 적용할 수 있으며(WMI 필터도 사용 가능), 예를 들어 Storage-Devices-Restrict라는 도메인 그룹을 만들고 USB 드라이브 사용을 제한하려는 컴퓨터 계정을 추가할 수 있습니다. 이 그룹을 GPP 정책의 Item Level Targeting → Security Group 섹션에서 '그룹 내 컴퓨터(Computer in Group)' 옵션과 함께 지정하면, 해당 AD 그룹에 추가된 컴퓨터들에만 USB 차단 정책이 적용됩니다.

참고. 같은 방식으로 목록에 없는 장치 클래스에 대한 사용자 지정 정책도 만들 수 있습니다. 장치 클래스 ID는 드라이버 속성의 Device Class GUID 특성 값에서 확인할 수 있습니다.
레지스트리를 통한 USB 저장 장치 드라이버 비활성화
USB 저장 장치의 올바른 감지와 마운트에 필요한 USBSTOR(USB 대용량 저장 장치 드라이버) 드라이버를 완전히 비활성화할 수도 있습니다.
단독 실행 컴퓨터에서는 Start 레지스트리 매개변수 값을 3에서 4로 변경하여 이 드라이버를 비활성화할 수 있습니다. PowerShell을 사용하면 다음과 같습니다:
Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\services\USBSTOR" -name Start -Value 4

컴퓨터를 재시작한 후 USB 저장 장치를 연결해 보세요. 이제 파일 탐색기나 디스크 관리 콘솔에 나타나지 않으며, 장치 관리자에서는 드라이버 설치 오류가 표시됩니다.
참고. 구형 Windows XP/Windows Server 2003에서는 외장 USB 장치 접근을 제한하는 별도의 그룹 정책 설정이 없기 때문에, 이 방법이 해당 버전에서 USB 드라이브를 비활성화할 수 있는 유일한 방법입니다.
그룹 정책 기본 설정(GPP)을 사용하면 도메인 컴퓨터에서 USBSTOR 드라이버의 구동을 비활성화할 수도 있습니다. 이를 위해 GPO를 통해 레지스트리를 수정해야 합니다.
이 설정은 모든 도메인 컴퓨터에 배포할 수 있습니다. 새 그룹 정책을 생성하여 컴퓨터가 있는 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 저장 장치만 연결 허용하기
특정 레지스트리 설정을 활용하면 승인된 특정 USB 저장 드라이브만 컴퓨터에 연결되도록 허용할 수 있습니다. 구성 방법을 간단히 살펴보겠습니다.
USB 저장 장치를 컴퓨터에 연결하면 USBSTOR 드라이버가 해당 장치를 설치하고 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR 아래에 별도의 레지스트리 키를 생성합니다. 이 레지스트리 키에는 USB 드라이브에 대한 정보가 담겨 있습니다(예: Disk & Ven_Kingstom & Prod_DT_1010_G2 & Rev_12.00).

다음 PowerShell 명령으로 지금까지 컴퓨터에 연결된 적이 있는 모든 USB 드라이브 목록을 확인할 수 있습니다:
Get-ItemProperty –Path HKLM:\SYSTEM\CurrentControlSet\Enum\USBSTOR\*\*| select FriendlyName

허용하려는 드라이브를 제외한 나머지 이전에 연결된 USB 메모리의 레지스트리 키를 모두 삭제합니다.
그런 다음 USBSTOR 레지스트리 키의 권한을 변경하여 모든 사용자(SYSTEM 및 관리자 포함)가 읽기 권한만 가지도록 설정합니다. 그 결과, 허용된 드라이브를 제외한 다른 USB 드라이브를 연결하더라도 Windows가 해당 장치를 설치할 수 없게 됩니다.



