- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 Microsoft Word에서 매크로가 차단되는 원리를 정확히 설명하고, 파일 단위·폴더 단위·조직 정책 단위에서 안전하게 차단을 해제하는 실무 절차를 제공하여 보안성과 생산성을 동시에 확보하도록 돕는 것이다.
1. 매크로 차단의 원리 이해
매크로는 VBA 코드로 자동화를 수행하는 기능이다. 워드는 잠재적 악성코드 실행을 방지하기 위해 신뢰되지 않은 원본의 매크로를 기본 차단한다. 특히 인터넷에서 내려받은 파일은 Windows의 MOTW(Mark of the Web) 대체 데이터 스트림(Zone.Identifier)이 붙어 차단 대상이 된다. 조직 환경에서는 그룹 정책과 보안 도구가 추가로 차단할 수 있다. 차단 해제는 안전한 원본 확인과 최소 권한 원칙을 전제로 진행해야 한다.
2. 사전 점검 체크리스트
| 항목 | 체크 방법 | 합격 기준 |
|---|---|---|
| 파일 출처 확인 | 발신 메일·배포 포털·버전관리 기록 대조 | 신뢰 가능한 내부 또는 인증된 외부 |
| 무결성 검증 | SHA-256 해시 비교 | 배포 공지 해시와 일치 |
| 디지털 서명 | VBA 프로젝트 인증서 확인 | 신뢰된 루트로 체인 유효 |
| 격리 검사 | 백신·샌드박스·정적 분석 | 악성 지표 미검출 |
| 업무 필요성 | 대체 절차 존재 여부 검토 | 매크로 사용이 최적 |
3. 단일 파일의 매크로 차단 해제 절차(Windows)
3.1 파일 속성으로 차단 해제
- 파일을 우클릭하고 속성을 연다.
- 일반 탭에서 차단 해제 체크박스를 선택하고 확인을 누른다.
- 워드로 열고 매크로 실행을 허용한다.
이 방법은 MOTW를 제거하여 해당 파일만 신뢰하도록 한다.
3.2 PowerShell로 일괄 해제
# 단일 파일 Unblock-File -Path "C:\Docs\macro.docm"_x000D_
폴더 재귀_x000D_
Get-ChildItem "C:\Docs" -Recurse -Include .docm,.dotm | Unblock-File_x000D_
_x000D_
_x000D_
3.3 ADS 수동 삭제(고급)
# Zone.Identifier 스트림 제거 cmd /c "for /r C:\Docs %f in (*.docm *.dotm) do powershell -command Unblock-File -Path '%f'" 보안 감사 요구가 있으면 ADS 제거 내역을 자산관리 시스템에 기록한다.
4. 워드 신뢰 센터에서 매크로 설정 조정
- 워드 열기 → 파일 → 옵션 → 보안 센터 → 보안 센터 설정으로 이동한다.
- 매크로 설정에서 정책을 선택한다.
| 옵션 | 설명 | 권장도 | 사용 시나리오 |
|---|---|---|---|
| 모든 매크로 제외 | 모든 매크로 실행 차단 | 높음 | 매크로 미사용 조직 기본 |
| 알림과 함께 차단 | 사용자 승인 시에만 실행 | 보통 | 일반 사용자 환경 |
| 디지털 서명된 매크로 제외 | 신뢰된 서명만 자동 실행 | 높음 | 배포용 매크로 표준 |
| 모든 매크로 포함 | 무제한 실행 | 낮음 | 격리 테스트 환경 |
5. 신뢰할 수 있는 위치(Trusted Locations) 활용
- 보안 센터 설정 → 신뢰할 수 있는 위치 → 새 위치 추가를 선택한다.
- 배포 전용 네트워크 공유 또는 로컬 폴더를 지정한다.
- 하위 폴더 포함 여부를 필요에 따라 선택한다.
이 폴더에 있는 문서는 매크로가 자동 허용된다. 변경관리와 접근권한을 엄격히 적용해야 한다.
| 폴더 예시 | 용도 | 권한 |
|---|---|---|
| C:\OrgMacros\ | 사내 표준 템플릿 | 읽기 전용(일반), 쓰기 제한 |
| \\filesrv\macros\ | 중앙 배포 위치 | AD 그룹 기반 접근 |
6. 디지털 서명된 매크로 신뢰 체계 구축
- 사내 코드 서명 인증서를 준비한다.
- VBA 편집기에서 도구 → 디지털 서명 → 인증서 선택으로 프로젝트에 서명한다.
- 루트·중간 인증서를 신뢰 저장소에 배포한다.
- 워드 매크로 설정에서 "디지털 서명된 매크로만 허용"을 선택한다.
서명 후 코드가 변경되면 서명이 무효화되므로 배포 파이프라인에서 자동 서명 단계를 포함해야 한다.
7. 보호된 보기(Protected View)와의 상호작용
보호된 보기는 인터넷·메일 첨부·안전하지 않은 위치에서 연 파일을 읽기 전용으로 연다. 이 상태에서는 매크로가 실행되지 않는다. 편집 사용을 눌러 일반 모드로 전환한 뒤 매크로 알림이 표시된다. 업무상 필요한 경우 보호된 보기 예외 규칙을 최소화하여 적용한다.
8. Mac에서의 매크로 차단 해제
- Word for Mac 실행 → Word 메뉴 → 설정 → 보안 또는 개인 정보 보호로 이동한다.
- 매크로 보안에서 Windows와 유사한 옵션을 설정한다.
- 인터넷에서 받은 파일은 처음 열 때 경고가 표시되므로 신뢰 확인 후 허용한다.
Mac에서도 서명 기반 신뢰가 권장된다. 네트워크 드라이브를 신뢰 위치로 추가할 때는 파일 시스템 권한을 엄격히 설정해야 한다.
9. 조직 정책으로 일괄 관리(GPO·MDM)
| 관리 수단 | 경로/프로필 | 핵심 정책 | 비고 |
|---|---|---|---|
| 그룹 정책(GPO) | 사용자 구성 → 관리 템플릿 → Microsoft Word | 매크로 보안 수준, 신뢰 위치, 파일 차단 | OU별 차등 적용 |
| Intune·MDM | Office ADMX ingestion | 서명 강제, VBA 비활성화 | 하이브리드 조합 가능 |
정책 기반 접근은 사용자 임의 변경을 차단하고 감사 추적을 용이하게 한다.
10. 레지스트리로 고급 설정(레거시 및 테스트용)
운영 환경에서는 GPO로 관리하는 것이 원칙이다. 테스트 또는 임시 조치가 필요하면 다음을 사용한다.
REM 매크로 알림과 함께 차단(보안 수준=2 예시, 버전에 따라 다름) reg add "HKCU\Software\Microsoft\Office\<버전>\Word\Security" /v VBAWarnings /t REG_DWORD /d 2 /f_x000D_
REM 신뢰 위치 추가_x000D_
reg add "HKCU\Software\Microsoft\Office<버전>\Word\Security\Trusted Locations\Location1" /v Path /t REG_SZ /d "C:\OrgMacros" /f_x000D_
reg add "HKCU\Software\Microsoft\Office<버전>\Word\Security\Trusted Locations\Location1" /v AllowSubfolders /t REG_DWORD /d 1 /f_x000D_
reg add "HKCU\Software\Microsoft\Office<버전>\Word\Security\Trusted Locations\Location1" /v Description /t REG_SZ /d "Org Standard Macros" /f_x000D_
_x000D_
_x000D_
11. 현장에서 자주 만나는 차단 메시지별 대응
| 증상/메시지 | 원인 | 조치 |
|---|---|---|
| “보안 위험으로 인해 매크로가 차단됨” | MOTW 적용 | 속성에서 차단 해제 또는 신뢰 위치로 이동 |
| “이 형식의 매크로는 조직에서 허용하지 않음” | GPO 강제 | 관리자 문의, 서명·위치 정책에 맞게 재배포 |
| 버튼 클릭 안 됨 | 보호된 보기 | 편집 사용 후 매크로 알림 허용 |
| 서명 있음에도 차단 | 인증서 체인 불완전 | 루트/중간 인증서 배포, 타임스탬프 확인 |
| 공유폴더에서만 차단 | 네트워크 위치 비신뢰 | 공유 경로를 신뢰 위치에 등록 |
12. 안전한 배포 파이프라인 설계
- 소스 저장소에서 코드를 리뷰한다.
- CI 단계에서 정적 분석과 악성 매크로 시그니처 검사를 수행한다.
- 빌드 산출물에 버전과 해시를 부여한다.
- 코드 서명 후 중앙 배포 위치에 올린다.
- 사용자는 신뢰 위치에서만 문서를 연다.
13. VBA 측면에서의 프로그램적 차단 회피는 금지
VBA 코드로 보안 설정을 변경하려는 시도는 정책 위반이다. 테스트 목적의 자동화 보안 모드 제어는 격리 환경에서만 허용한다.
' 테스트 전용: 자동화 보안 모드 확인 Sub CheckAutomationSecurity() Dim s As Long s = Application.AutomationSecurity MsgBox "AutomationSecurity=" & s End Sub 14. 한 번에 해결하기: 의사결정 트리
- 파일이 내부 배포 경로인가 확인한다. 맞다면 신뢰 위치에 배치한다.
- 외부 공급자 문서라면 서명을 요구한다. 서명이 유효하면 허용한다.
- 둘 다 아니면 단일 파일만 속성의 차단 해제를 적용한다.
- 조직 표준 작업이면 GPO/MDM으로 정책을 수립한다.
15. 감사와 기록
보안팀 요구가 있으면 다음을 기록한다. 파일 경로, 해시, 차단 해제 사유, 승인자, 적용 방법(속성·PowerShell·정책), 일시를 남긴다. 자동 스크립트는 로그 파일과 이벤트 로그에 기록하도록 설계한다.
FAQ
메일 첨부로 받은 .docm이 열리지만 버튼이 작동하지 않는다.
보호된 보기 상태일 가능성이 높다. 편집 사용을 눌러 일반 모드로 전환하고 매크로 알림에서 허용을 선택한다. 출처 검증 전에는 허용하지 않는다.
압축(zip) 파일에서 꺼낸 문서는 속성에 차단 해제가 보이지 않는다.
일부 압축 도구는 MOTW를 보존하지 않는다. 원본을 브라우저로 직접 저장한 파일에는 MOTW가 존재한다. 확실하지 않다면 PowerShell Unblock-File을 사용한다.
공유 드라이브에서만 매크로가 차단된다.
네트워크 경로가 신뢰 위치가 아니기 때문이다. 해당 공유를 신뢰 위치에 추가하고 접근권한을 최소화한다.
디지털 서명이 있는데도 차단된다.
중간 인증서가 누락되었거나 만료되었을 수 있다. 인증서 체인을 클라이언트에 배포하고 타임스탬프가 유효한지 확인한다.
조직 정책 때문에 매크로 설정 메뉴가 비활성화되어 있다.
GPO 또는 MDM이 강제 적용된 상태이다. 보안 관리자에게 예외 절차를 요청하거나 서명·신뢰 위치 기반 배포로 전환한다.
Mac에서도 신뢰 위치를 사용할 수 있나?
가능하다. Word for Mac 설정에서 신뢰 위치를 추가하고, 네트워크 경로 권한을 엄격히 설정한다.
매크로 실행 성능이 느리다.
실시간 백신 검사와 네트워크 지연이 원인일 수 있다. 신뢰 위치 예외와 로컬 캐시 전략을 검토한다.
테스트 전용으로 모든 매크로 허용이 필요하다.
운영 PC가 아닌 격리 VM에서만 허용한다. 스냅샷을 사용해 원복 가능하도록 한다.