다음을 통해 공유


네임스페이스에 대한 암호화된 연결 필요

네임스페이스를 만드는 MOF(Managed Object Format) .mof 파일에 RequiresEncryption 한정자를 추가하여 클라이언트 스크립트와 애플리케이션이 인증을 위해 암호화된 연결을 설정하도록 요구할 수 있습니다.

WMI 네임스페이스에 대한 암호화된 연결은 인증을 위한 RPC_C_AUTHN_LEVEL_PKT_PRIVACY(또는 스크립트의 PktPrivacy)를 지정합니다. RequiresEncryption 한정자는 암호화된 인증을 명시적으로 사용하지 않는 한, 들어오는 데이터 요청을 WMI가 거부하도록 합니다. 자세한 내용은 VBScript를 사용하여 기본 프로세스 보안 수준 설정 또는 C++를 사용하여 인증 설정을 참조하세요.

이 특성을 추가하여 기존 네임스페이스를 수정한 다음 MOF 파일을 다시 컴파일할 수도 있습니다. RequiresEncryptionpragma 네임스페이스 전처리기 명령과 함께 MOF에서 사용됩니다.

다음 절차에서는 네임스페이스를 암호화된 연결이 필요하도록 설정합니다.

필요한 암호화를 설정하려면

  1. MOF(Managed Object Format) 파일을 만들거나 네임스페이스를 정의하는 기존 MOF 파일을 수정합니다.

    다음 코드 예제에서는 수정할 네임스페이스가 root\MyNamespace이고 파일 이름이 MyNamespace_security.mof임을 보여줍니다. RequiresEncryption에는 부울 데이터 형식이 있으므로 True 또는 False로 설정해야 합니다.

    #pragma namespace("\\\\.\\Root\\MyNamespace") 
    
    [RequiresEncryption(TRUE)] 
    instance of __systemSecurity { };
    
  2. mofcomp.exe를 실행하여 MOF 파일을 컴파일합니다.

    c:\mofcomp MyNamespace_security.mof

    C++에서 IMoFCompiler 메서드를 사용합니다.

WMI는 DCOM이 WMI 서비스가 실행되는 SVCHOST 프로세스에 필요한 수준으로 보안을 협상하기 때문에 기본 인증 수준을 사용하는 클라이언트를 거부합니다. 서비스 호스트에 관한 자세한 내용은 공급자 호스팅 및 보안을 참조하세요. WMI 네임스페이스에 연결할 때 인증 수준을 설정하는 방법에 관한 자세한 내용은 C++를 사용하여 기본 프로세스 보안 수준 설정, C++를 사용하여 인증 설정 또는 VBScript를 사용하여 기본 프로세스 보안 수준 설정을 참조하세요.

비동기 콜백 연결에서 데이터를 반환하는 경우 WMI는 요청 컴퓨터에 액세스 거부 메시지를 반환합니다. 또한 WMI는 클라이언트에 대한 보안 연결을 설정할 수 없음을 나타내는 암호화된 네임스페이스를 사용하여 컴퓨터의 NT 이벤트 로그에 로그 항목을 만듭니다.

Windows Vista부터 WbemCore.log 파일이 더 이상 존재하지 않습니다. 암호화가 필요한 네임스페이스에 대해 거부된 인바운드 데이터 요청을 나타내는 항목은 NT 이벤트 로그에서 확인할 수 있습니다.

네임스페이스 보안 설명자 설정

WbemAuthenticationLevelEnum

원격 WMI 연결 보안