다음을 통해 공유


원격 WMI 연결 보안

WMI를 사용하여 원격 컴퓨터에 연결하려면 연결에 대해 올바른 DCOM 설정 및 WMI 네임스페이스 보안 설정을 사용하도록 설정해야 합니다.

WMI에는 원격 연결의 대상 컴퓨터에 필요한 기본 가장, 인증 및 인증 서비스(NTLM 또는 Kerberos) 설정이 있습니다. 로컬 컴퓨터는 대상 시스템에서 허용하지 않는 다른 기본값을 사용할 수 있습니다. 연결 호출에서 이러한 설정을 변경할 수 있습니다.

이 항목에서는 다음 섹션에 대해 설명합니다.

WMI에 대한 DCOM 사용자 가장 및 인증 설정 옵션

WMI에는 원격 시스템에 필요한 기본 DCOM 가장 설정, 인증 및 인증 서비스(NTLM 또는 Kerberos) 설정이 기본으로 포함되어 있습니다. 로컬 시스템은 대상 원격 시스템에서 허용하지 않는 다른 기본값을 사용할 수 있습니다. 연결 호출에서 이러한 설정을 변경할 수 있습니다. 자세한 내용은 클라이언트 애플리케이션 프로세스 보안 설정을 참조하세요. 그러나 인증 서비스의 경우 RPC_C_AUTHN_DEFAULT 지정하고 DCOM이 대상 컴퓨터에 적합한 서비스를 선택할 수 있도록 하는 것이 좋습니다.

C++에서 CoInitializeSecurity 또는 CoSetProxyBlanket 호출 시 매개 변수로 설정을 제공할 수 있습니다. 스크립트에서 SWbemLocator.ConnectServer, SWbemSecurity 개체 또는 스크립팅 모니커 문자열에 대한 호출에서 보안 설정을 설정할 수 있습니다.

C++의 모든 가장 상수 목록은 C++을 사용하여 기본 프로세스 보안 수준을 설정하기 위한 내용을에서 확인하세요. 모니커 연결을 사용하기 위한 Visual Basic 상수 및 스크립팅 문자열은 VBScript사용하여 기본 프로세스 보안 수준 설정을 참조하세요.

다음 표에서는 원격 연결에서 대상 컴퓨터(컴퓨터 B)에 필요한 기본 DCOM 가장, 인증 및 인증 서비스 설정을 나열합니다. 자세한 내용은 원격 WMI 연결 보안을 참조하세요.

컴퓨터 B 운영 체제 가장화 수준 스크립팅 문자열 인증 수준 스크립팅 문자열 인증 서비스
Windows Vista 이상 사칭하다 Pkt Kerberos

 

WMI 원격 연결은 사용자 계정 컨트롤 (UAC)Windows 방화벽의 영향을 받습니다. 자세한 내용은 Vista 원격으로 WMI에 연결하고 Windows 방화벽 통해 연결하는참조하세요.

로컬 컴퓨터에서 WMI에 연결할 때 기본 인증 수준은 PktPrivacy 입니다.

사용자가 원격으로 컴퓨터에 액세스할 수 있도록 DCOM 보안 설정

WMI의 보안은 WMI 네임스페이스에 연결하는 작업과 관련이 있습니다. WMI는 DCOM을 사용하여 원격 호출을 처리합니다. 원격 컴퓨터에 연결하지 못한 이유 중 하나는 DCOM 오류(오류 "DCOM 액세스 거부" 10진수 -2147024891 또는 16진수 0x80070005)때문입니다. C++ 애플리케이션용 WMI의 DCOM 보안에 대한 자세한 내용은 클라이언트 애플리케이션 프로세스 보안 설정을 참조하세요.

제어판관리 도구 있는 DCOM 구성 유틸리티(DCOMCnfg.exe)를 사용하여 WMI에 대한 DCOM 설정을 구성할 수 있습니다. 이 유틸리티는 특정 사용자가 DCOM을 통해 원격으로 컴퓨터에 연결할 수 있도록 하는 설정을 노출합니다. 관리자 그룹의 구성원은 기본적으로 컴퓨터에 원격으로 연결할 수 있습니다. 이 유틸리티를 사용하면 WMI 서비스를 시작, 액세스 및 구성하도록 보안을 설정할 수 있습니다.

다음 절차에서는 특정 사용자 및 그룹에 대해 DCOM 원격 시작 및 활성화 권한을 부여하는 방법을 설명합니다. 컴퓨터 A가 컴퓨터 B에 원격으로 연결하는 경우 컴퓨터 B의 Administrators 그룹에 속하지 않은 사용자 또는 그룹이 컴퓨터 B에서 DCOM 시작 및 활성화 호출을 실행할 수 있도록 컴퓨터 B에서 이러한 권한을 설정할 수 있습니다.

사용자 또는 그룹에 대한 DCOM 원격 시작 및 활성화 권한을 부여하려면

  1. 시작클릭하고 실행클릭하고 DCOMCNFG 입력한 다음 확인클릭합니다.

  2. 구성 요소 서비스 대화 상자에서 구성 요소 서비스확장하고 컴퓨터 확장한 다음 내 컴퓨터 마우스 오른쪽 단추로 클릭하고 속성클릭합니다.

  3. 내 컴퓨터 속성 대화 상자에서 COM 보안 탭을 클릭합니다.

  4. 시작 및 활성화 권한아래에서 제한 편집클릭합니다.

  5. 시작 권한 대화 상자에서 이름 또는 그룹이 그룹 또는 사용자 이름 목록에 나타나지 않으면 다음 단계를 수행합니다.

    1. 시작 권한 대화 상자에서 추가를 클릭합니다.
    2. 사용자, 컴퓨터 또는 그룹 선택 대화 상자에서, 선택할 개체 이름 상자에 자신의 이름과 그룹을 추가한 후 확인을 클릭합니다.
  6. 시작 권한 대화 상자의 그룹 또는 사용자 이름 상자에서 사용자 및 그룹을 선택합니다. 사용자 권한 아래의 허용 열에서 원격 시작 선택하고 원격 정품 인증선택한 다음 확인클릭합니다.

다음 절차에서는 특정 사용자 및 그룹에 대해 DCOM 원격 액세스 권한을 부여하는 방법을 설명합니다. 컴퓨터 A가 컴퓨터 B에 원격으로 연결하는 경우 컴퓨터 B의 Administrators 그룹에 속하지 않은 사용자 또는 그룹이 컴퓨터 B에 연결할 수 있도록 컴퓨터 B에서 이러한 권한을 설정할 수 있습니다.

DCOM 원격 액세스 권한을 부여하려면

  1. 시작클릭하고 실행클릭하고 DCOMCNFG 입력한 다음 확인클릭합니다.
  2. 구성 요소 서비스 대화 상자에서 구성 요소 서비스확장하고 컴퓨터 확장한 다음 내 컴퓨터 마우스 오른쪽 단추로 클릭하고 속성클릭합니다.
  3. 내 컴퓨터 속성 대화 상자에서 COM 보안 탭을 클릭합니다.
  4. 액세스 권한아래에서 제한 편집클릭합니다.
  5. 액세스 권한 대화 상자의 그룹 또는 사용자 이름 상자에서 ANONYMOUS LOGON 이름을 선택합니다. 사용자 권한 아래의 허용 열에서 원격 액세스선택한 다음 확인클릭합니다.

사용자가 특정 WMI 네임스페이스에 액세스할 수 있도록 허용

네임스페이스에 대한 WMI 컨트롤에서 "원격 사용" 권한을 설정하여 특정 WMI 네임스페이스에 대한 사용자 액세스를 허용하거나 허용하지 않습니다. 사용자가 액세스할 수 없는 네임스페이스에 연결하려고 하면 오류 0x80041003 받게 됩니다. 기본적으로 이 권한은 관리자에 대해서만 사용하도록 설정됩니다. 관리자는 비관리자 사용자에 대해 특정 WMI 네임스페이스에 대한 원격 액세스를 사용하도록 설정할 수 있습니다.

다음 절차에서는 관리자가 아닌 사용자에 대한 원격 사용 권한을 설정합니다.

원격 사용 권한을 설정하려면

  1. WMI 컨트롤을 사용하여 원격 컴퓨터에 연결합니다.

    WMI 컨트롤에 대한 자세한 내용은 WMI 컨트롤 네임스페이스 보안 설정을 참조하세요.

  2. 보안 탭에서 네임스페이스를 선택하고 보안클릭합니다.

  3. 적절한 계정을 찾고, 권한 목록에서 원격 사용을 선택합니다.

원격 연결에 대한 데이터 암호화를 요구하도록 네임스페이스 보안 설정

관리자 또는 MOF 파일은 해당 네임스페이스에 대한 연결에서 패킷 개인 정보 보호(스크립트의 모니커로 RPC_C_AUTHN_LEVEL_PKT_PRIVACY 또는 PktPrivacy)를 사용하지 않는 한 데이터가 반환되지 않도록 WMI 네임스페이스를 구성할 수 있습니다. 이렇게 하면 데이터가 네트워크를 넘을 때 암호화됩니다. 더 낮은 인증 수준을 설정하려고 하면 액세스 거부 메시지가 표시됩니다. 자세한 내용은 네임스페이스 대한 암호화된 연결 필요참조하세요.

다음 VBScript 코드 예제에서는 "pktPrivacy"를 사용하여 암호화된 네임스페이스에 연결하는 방법을 보여줍니다.

strComputer = "RemoteComputer"
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" _
                              & strComputer & "\root\EncryptedNamespace")

WMI로 위임하기

WMI 사용하여 원격으로 프로세스 만들기

C++ 클라이언트 및 공급자 보안 확보

스크립팅 클라이언트 보안