[태그:] RPC 인증 강화

  • 회사 네트워크 프린터가 자꾸 사라진다면? SMB 보안 정책을 의심하세요

    회사 네트워크 환경에서 특정 공유 프린터가 사용자 PC의 프린터 목록에서 갑자기 사라지거나, PC 재부팅 후 자동으로 연결이 끊기고 다시 추가해야 하는 현상은, 일반적으로 사용자가 생각하는 프린터 드라이버 손상, IP 주소 충돌, Wi-Fi 신호 불안정 같은 전형적인 네트워크 문제와는 전혀 다른 원인에서 비롯되는 경우가 많습니다. 실제로는 마이크로소프트 윈도우의 SMB(Server Message Block) 프로토콜 보안 정책 강화로 인해 발생하는 인증 및 접근 제어 호환성 문제가 핵심 원인입니다.

    특히 2020년 이후 적용된 윈도우 보안 업데이트(예: KB4524244, KB5004442 등)를 기점으로, 윈도우 10/11 및 윈도우 서버는 SMB1.0을 완전히 비활성화하고, SMB2/3에서도 RPC(Remote Procedure Call) over SMB를 통한 비인증 게스트 접근을 차단하는 정책을 기본값으로 변경했습니다. 이로 인해 과거 SMB를 통해 게스트 계정이나 낮은 권한으로 프린터를 자동 검색 및 연결하던 환경에서는, Point and Print 제한, RPC 인증 요구, 드라이버 서명 검증 강화 등의 보안 기능이 작동하면서 기존에 정상 작동하던 공유 프린터가 갑작스럽게 인식되지 않거나 연결이 끊기는 현상이 대량으로 발생하고 있습니다.

    예를 들어, 프린터 서버가 SMB 공유를 통해 드라이버를 배포하고, 클라이언트 PC가 자동으로 드라이버를 다운로드해 설치하는 구조에서, RPC 인증이 실패하면 드라이버 설치 자체가 차단되고, 결과적으로 프린터가 목록에서 사라지거나 ‘오프라인’ 상태로 표시됩니다. 또한 도메인 환경이 아닌 워크그룹에서는 NTLM 인증 문제, 로컬 보안 정책(Local Security Policy)의 ‘네트워크 액세스: 익명 SID/이름 변환 허용’ 비활성화, 인터넷 옵션의 LM 호환성 수준 저하 등이 복합적으로 작용해 동일한 증상이 나타납니다.

    이러한 문제는 사용자 개개인의 PC 설정 차이, 그룹 정책(GPO) 적용 여부, 프린터 서버의 SMB 버전 설정, 방화벽 규칙, 윈도우 버전 업데이트 시점에 따라 간헐적으로 발생하며, 특히 대규모 사무실 환경에서는 수십 대의 PC에서 동시에 보고되는 집단 장애로 확대될 수 있어 IT 관리자의 대응 부담을 크게 증가시킵니다.


    1. 문제의 원인: SMB 보안 강화와 RPC 제약

    프린터 공유는 윈도우의 SMB 프로토콜을 통해 이루어지며, 프린터 서버와 클라이언트 간의 통신은 RPC over SMB를 사용합니다. 윈도우의 최신 보안 업데이트는 이 통신 채널에 대한 무단 접근을 방지하기 위해 다음과 같은 보안 강화를 적용했습니다.

    • RPC 인증 강화 (CVE-2021-1675 및 관련 패치): MS는 취약점을 해결하기 위해 네트워크 인터페이스를 통한 원격 인쇄 작업 시 관리자 권한(Elevated Privileges)을 요구하거나, Kerberos 인증 같은 더 엄격한 인증 방식을 강제하기 시작했습니다.
    • Legacy Port 차단: 프린터 서버가 구형 인증 방식(예: NTLM)을 사용하거나, 윈도우 클라이언트가 최신 보안 요구 사항을 충족하지 못하면, 클라이언트 OS는 보안상의 이유로 해당 프린터의 RPC 세션을 끊거나 프린터 목록에서 제거합니다.
    • 인쇄 스풀러 서비스 중단: 일부 구형 프린터 드라이버는 보안 강화된 RPC 통신 과정에서 오류를 일으키고, 이 오류가 윈도우의 인쇄 스풀러(Print Spooler) 서비스에 영향을 미쳐 서비스가 예기치 않게 종료될 수 있습니다. 스풀러 서비스가 중단되면 프린터 목록 전체가 사라집니다.

    2. 해결 방법 1: 보안 예외 설정 (레지스트리 및 GPO)

    가장 신속하고 확실한 해결책은 보안이 강화된 RPC 통신 대신, 이전 버전의 통신 방식을 임시적으로 허용하여 호환성을 확보하는 것입니다. 이 방법은 보안상 권장되지는 않으나, 즉각적인 프린팅 문제를 해결하기 위해 사용됩니다.

    2.1. 레지스트리 수정 (클라이언트 PC)

    클라이언트 PC의 레지스트리를 수정하여 RPC 통신 시 인증 수준을 낮춥니다.

    1. 레지스트리 편집기 실행: 윈도우 검색창에 regedit을 입력하고 실행합니다.
    2. 경로 이동: 다음 경로로 이동합니다.HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Print
    3. 새 DWORD 값 생성: Print 키에서 마우스 오른쪽 버튼을 클릭하여 새로 만들기 -> DWORD(32비트) 값을 선택합니다.
    4. 값 이름 설정: 값 이름을 RpcAuthnLevelPrivacyEnabled로 설정합니다.
    5. 값 데이터 설정: 기본값인 0을 유지합니다. (이 값을 1로 설정하면 보안 요구 사항이 활성화됩니다.)
      • 0: RPC 통신에 보안을 적용하지 않음 (호환성 확보)
      • 1: RPC 통신에 보안을 적용함 (기본 보안 설정)
    6. 시스템 재부팅: 레지스트리 변경 후 PC를 재부팅해야 변경 사항이 적용됩니다.

    2.2. 그룹 정책(GPO) 사용 (도메인 환경)

    Active Directory 도메인 환경에서는 GPO를 통해 모든 클라이언트 PC에 일괄적으로 해당 설정을 적용할 수 있습니다.

    • 정책 경로: 컴퓨터 구성 -> 관리 템플릿 -> 프린터 -> RPC 연결 바인딩에서 인증 레벨을 설정합니다. (이름은 윈도우 버전에 따라 다를 수 있습니다.)
    • 설정: 정책을 비활성화(Disable)하거나, 보안 수준을 낮추는 값으로 설정합니다.

    3. 해결 방법 2: 장치 재정비 및 드라이버 업데이트

    장기적인 해결책이자 보안을 유지하는 방법은 프린터 환경 자체를 최신 보안 요구 사항에 맞추는 것입니다.

    • 최신 프린터 드라이버 사용: 프린터 제조사 웹사이트에서 프린터 모델의 최신 드라이버를 다운로드하여 설치합니다. 최신 드라이버는 보안이 강화된 RPC 통신 환경에서도 안정적으로 작동하도록 업데이트된 로직을 포함하고 있을 가능성이 높습니다.
    • 프린터 서버 역할 조정: 프린터 서버가 SMB 보안 강화를 지원하는 OS(예: Windows Server 2016 이상)를 사용하고 있는지 확인합니다. 서버 측의 SMB 프로토콜 및 RPC 설정을 최신 보안 정책에 맞게 구성해야 합니다.
    • IP 주소로 직접 연결: 프린터 이름 대신 네트워크 프린터의 IP 주소를 사용하여 직접 연결을 시도해봅니다. 이는 도메인 인증 과정을 일부 우회하고, 클라이언트와 프린터 간의 직접적인 TCP/IP 통신을 우선하도록 유도합니다.

    주의: 레지스트리 값을 0으로 설정하는 것은 프린터 연결 문제를 즉시 해결하지만, 이는 윈도우가 패치하려던 취약점(PrintNightmare 등)에 노출될 수 있음을 의미합니다. 근본적으로는 최신 드라이버를 사용하거나 프린터 서버 환경을 개선하는 것이 안전합니다.


    Disclaimer: 본 블로그의 정보는 개인의 단순 참고 및 기록용으로 작성된 것이며, 개인적인 조사와 생각을 담은 내용이기에 오류가 있거나 편향된 내용이 있을 수 있습니다.