엑셀 인증서 오류 보안 경고 해결법|매크로 서명·신뢰할 수 있는 게시자·신뢰할 수 있는 위치 설정 가이드

이 글의 목적은 엑셀에서 발생하는 인증서 오류와 보안 경고의 원인과 해결 절차를 체계적으로 정리하여 현장에서 즉시 적용할 수 있도록 돕는 것이다.



엑셀 보안 경고의 작동 원리 이해

엑셀은 신뢰되지 않은 코드 실행을 차단하기 위해 매크로, 추가 기능, 외부 연결 등에 대해 신뢰 결정을 요구한다. 이때 디지털 인증서와 서명을 확인하여 발행자, 유효기간, 해지 상태, 체인 신뢰성 등을 검증한다. 검증이 실패하거나 정책에 의해 제한된 경우 보안 경고가 표시된다.

자주 나타나는 경고 유형과 의미

경고 메시지(요지) 주요 원인 핵심 점검 포인트
이 콘텐츠에는 보안 취약점이 있을 수 있다 매크로 포함 통합문서 또는 추가기능이 서명되지 않음 매크로 보안 수준, 신뢰할 수 있는 위치 여부
서명이 유효하지 않음 인증서 만료·체인 불완전·서명 손상 인증서 유효기간, 루트/중간 인증서 설치, 파일 변경 여부
발행자를 확인할 수 없음(신뢰할 수 없는 게시자) 신뢰 저장소에 게시자 인증서 부재 신뢰할 수 있는 게시자 저장소에 인증서 배치 필요
인증서가 해지됨 또는 해지 목록 확인 실패 CRL/OCSP 확인 실패 또는 실제 해지 네트워크 접근성, 프록시, 방화벽, 실제 해지 여부
파일이 인터넷에서 가져옴(차단됨) 대체 데이터 스트림(Zone.Identifier)로 차단 상태 파일 속성의 차단 해제 필요
외부 콘텐츠가 비활성화됨 데이터 연결/ODC/쿼리 신뢰 미설정 신뢰 센터의 외부 콘텐츠 설정 검토

문제 해결 흐름도

출처 확인 → 파일 차단 해제 → 신뢰할 수 있는 위치 검토 → 매크로 정책 확인 → 서명 유효성 점검 → 인증서 체인 복구 → 게시자 신뢰 추가 → 네트워크/해지 확인 순으로 진행한다.

주의 : 회사 정책이 있는 경우 임의로 보안 수준을 낮추지 말아야 한다. GPO 등 중앙관리 정책을 우선 확인해야 한다.

1. 파일 차단 해제(인터넷에서 내려받은 파일)

  1. 파일 탐색기에서 문제 파일을 마우스 오른쪽 클릭하고 속성을 연다.
  2. 일반 탭에서 ‘차단 해제’가 표시되면 체크하고 확인한다.
  3. 엑셀을 다시 열어 경고 변화 여부를 확인한다.

2. 신뢰할 수 있는 위치(Trusted Locations) 활용

검증된 사내 공유 폴더 또는 프로젝트 디렉터리를 신뢰할 수 있는 위치로 등록하면 해당 경로의 파일은 매크로가 자동으로 활성화된다.

  1. 엑셀 → 파일 → 옵션 → 보안 센터 → 보안 센터 설정 → 신뢰할 수 있는 위치를 연다.
  2. 새 위치 추가에서 경로를 지정하고 하위 폴더 포함 여부를 선택한다.
  3. 팀 단위로 경로를 표준화하여 혼선을 줄인다.
주의 : 개인 PC의 임의 경로를 과도하게 신뢰 위치로 추가하면 공급망 공격에 취약해질 수 있다.

3. 매크로 보안 정책 점검

개인 환경에서는 ‘알림으로 모든 매크로 비활성화’ 수준이 일반적이며, 기업 환경에서는 ‘디지털 서명된 매크로만 허용’이 권장된다.

설정 효과 권장 사용처
모든 매크로 알림 없이 비활성화 완전 차단 매크로 사용이 불필요한 PC
알림과 함께 비활성화 사용자 선택 허용 개인·소규모 팀
디지털 서명된 매크로만 허용 신뢰 게시자 서명 필요 기업 표준
모든 매크로 활성화(권장하지 않음) 무제한 허용 테스트 환경 한정

4. 서명 유효성 및 인증서 체인 점검

서명 상태는 파일 속성 또는 엑셀의 보안 경고 창에서 확인할 수 있다. 다음을 순서대로 검사한다.

  • 유효기간 만료 여부 확인한다.
  • 루트 및 중간 인증서가 로컬 저장소에 설치되어 있는지 확인한다.
  • 타임스탬프가 포함되어 있는지 확인한다. 타임스탬프가 있으면 코드 서명 인증서 만료 후에도 서명 시점 기준으로 신뢰된다.
  • 해지 목록(CRL)/온라인 상태 확인 프로토콜(OCSP) 조회가 가능한지 네트워크를 점검한다.

5. 신뢰할 수 있는 게시자(Trusted Publishers) 등록

반복적으로 사용하는 내부 배포 매크로나 추가 기능은 게시자의 코드 서명 인증서를 신뢰할 수 있는 게시자 저장소에 추가한다. 인증서는 일반적으로 ‘코드 서명’ EKU를 포함해야 한다.

  1. 엑셀에서 보안 경고 창의 ‘게시자 신뢰’ 또는 ‘자세히 보기’에서 인증서를 열고 설치한다.
  2. 대상 저장소로 ‘신뢰할 수 있는 게시자’를 선택한다.
  3. 팀 배포 시에는 중앙 관리 방식으로 배포한다.
주의 : 발행자를 신뢰 저장소에 추가하면 해당 발행자의 모든 서명 코드가 신뢰되므로, 발행자 검증 절차를 문서화해야 한다.

6. 기업 환경: 그룹 정책(GPO)으로 표준화

조직은 GPO로 매크로 정책, 신뢰 위치, 외부 콘텐츠 정책을 강제할 수 있다. 대표적인 정책 항목은 다음과 같다.

  • VBA 매크로 실행 설정: ‘디지털 서명된 매크로만 실행’ 강제한다.
  • 신뢰할 수 있는 위치 정의: 읽기 전용 네트워크 경로를 지정한다.
  • 외부 데이터 연결 허용 범위: 필요한 연결만 허용한다.
  • 해지 확인 필수화: CRL/OCSP 확인 실패 시 차단한다.

7. 내부 개발 매크로 서명 실무 절차

  1. 코드 서명 인증서 확보한다. 사설 PKI 또는 공인 인증서 발급기관을 사용한다.
  2. VBA 프로젝트에 서명한다. 엑셀 VBA 편집기 → 도구 → 디지털 서명 → 인증서 선택한다.
  3. 타임스탬프를 포함하여 서명한다. 서명 과정에서 타임스탬프 URL을 설정한다.
  4. 서명 후 파일을 변경하면 서명이 무효화되므로 최종 빌드 아티팩트에만 변경을 허용한다.
주의 : 개발 단계에서는 테스트 인증서를 사용하고, 배포 단계에서만 운영 인증서로 재서명하는 절차를 확립해야 한다.

8. 네트워크 환경에서의 해지 확인 실패 대응

방화벽 또는 프록시 정책으로 인해 CRL/OCSP 서버에 접근하지 못하면 서명 검증이 실패한다. 프록시 설정과 예외 도메인을 점검하고 필요한 포트를 개방한다. 오프라인 네트워크라면 사내 캐시 CRL을 배포하거나 오프라인 검증 정책을 수립한다.

9. 파일 무결성 및 변경 감지

전자서명은 파일이 서명 이후 변경되지 않았음을 보증한다. 서명 무효가 반복되면 배포 경로에서 압축 자동해제, 바이러스 백신 검역, 문서 보호 솔루션의 후처리 등으로 인한 파일 변조 가능성을 조사한다.

10. 사용자 관점 빠른 해결 체크리스트

  • 파일 속성에서 ‘차단 해제’ 적용한다.
  • 자주 쓰는 경로는 신뢰할 수 있는 위치로 등록한다.
  • 반복 경고가 뜨는 발행자는 ‘신뢰할 수 있는 게시자’로 추가한다.
  • 서명 오류 시 유효기간·체인·타임스탬프를 점검한다.
  • 기업 정책이 있을 경우 헬프데스크 또는 보안팀 절차를 따른다.

11. PowerShell로 서명·인증서 상태 진단

Windows 환경에서 파일 서명과 인증서 저장소를 신속히 점검할 수 있다.

  
#
1) 파일 서명 상태 확인(추가기능 .xlam 예) Get-AuthenticodeSignature "C:\Addins\MyAddin.xlam" | Format-List
2) 신뢰할 수 있는 게시자 저장소 목록 확인(현재 사용자)
Get-ChildItem Cert:\CurrentUser\TrustedPublisher | Select Subject, NotAfter
3) 루트/중간 인증서 확인
Get-ChildItem Cert:\LocalMachine\Root | Select Subject, NotAfter
Get-ChildItem Cert:\LocalMachine\CA | Select Subject, NotAfter
4) 인증서 가져오기(관리자 권한에서 예시)
Import-Certificate -FilePath "C:\certs\issuer.cer" -CertStoreLocation Cert:\LocalMachine\CA

  
주의 : 인증서 배포·설치 작업은 관리자 권한과 내부 보안 규정을 따라야 한다.

12. 자주 발생하는 원인별 처방표

원인 증상 해결 조치
인증서 만료 서명 유효하지 않음 유효한 인증서로 재서명하고 타임스탬프 포함한다
루트/중간 누락 체인 빌드 실패 루트·중간 인증서를 시스템 저장소에 설치한다
해지됨 또는 확인 실패 검증 오류 CRL/OCSP 접근성 확보 또는 정책 조정한다
파일 차단 인터넷에서 가져옴 표시 파일 ‘차단 해제’ 수행한다
정책 불일치 기업 PC에서 매크로 차단 GPO 기준에 맞춰 서명·게시자 신뢰 등록한다
배포 중 변조 서명 무효화 배포 파이프라인에서 무결성 검사와 해시 검증한다

13. 추가 보안 권장 사항

  • 서명 파이프라인에 자동 타임스탬프를 강제한다.
  • 내부 매크로 소스 저장소와 빌드 산출물에 해시를 기록한다.
  • 신뢰 위치는 읽기 전용 네트워크 경로로 제한한다.
  • 정기적으로 신뢰 게시자 목록을 재검토한다.

FAQ

서명된 매크로인데도 보안 경고가 계속 뜨는 이유는 무엇인가?

게시자 인증서가 ‘신뢰할 수 있는 게시자’ 저장소에 없거나, 체인 검증 과정에서 중간 인증서가 누락되었기 때문이다. 게시자 인증서를 신뢰 저장소에 추가하고 중간·루트 인증서를 시스템에 설치해야 한다.

인증서가 만료되면 기존 파일은 모두 사용 불가능한가?

타임스탬프가 포함된 서명이라면 서명 시점 기준으로 유효하게 인정되므로 계속 사용할 수 있다. 타임스탬프가 없는 서명은 인증서 만료 시 신뢰를 상실한다.

개인 환경에서 안전하게 매크로를 쓰는 최선의 방법은 무엇인가?

자주 쓰는 문서 경로를 신뢰할 수 있는 위치로 한정 등록하고, 기본 매크로 설정은 ‘알림과 함께 비활성화’로 유지한다. 외부에서 받은 파일은 반드시 ‘차단 해제’ 여부를 확인한다.

사설 인증서로 서명해도 되는가?

조직 내부 배포에는 사설 PKI로 서명해도 된다. 단, 모든 사용자 PC에 루트·중간 인증서를 배포해야 하며 게시자 신뢰 등록을 완료해야 한다.

네트워크가 단절된 환경에서 검증 실패를 해결하려면?

사내 CRL 미러 또는 오프라인 CRL을 주기적으로 배포하고 정책에서 해당 경로를 참조하도록 설정한다. 외부 OCSP 접근이 불가하면 해지 확인 실패가 발생할 수 있다.