Exigir uma conexão criptografada com um namespace
Exija que os scripts e os aplicativos cliente estabeleçam uma conexão criptografada para autenticação adicionando o qualificador RequiresEncryption ao arquivo .mof (Managed Object Format, MOF) que cria o namespace.
Uma conexão criptografada com um namespace do WMI especifica RPC_C_AUTHN_LEVEL_PKT_PRIVACY (ou PktPrivacy em um script) para autenticação. O qualificador RequiresEncryption faz com que o WMI rejeite as solicitações de dados de entrada, a menos que usem explicitamente a autenticação criptografada. Para obter mais informações, consulte Definir o nível de segurança do processo padrão usando VBScript ou Definir a autenticação usando C++.
Você também pode modificar um namespace existente adicionando esse atributo e compilando o arquivo do MOF novamente. RequiresEncryption é usado no MOF com a instrução de pré-processador pragma namespace.
O procedimento a seguir define o namespace para exigir uma conexão criptografada.
Para definir a criptografia necessária
Crie um arquivo MOF (Managed Object Format) ou modifique o arquivo MOF existente que define o namespace.
O exemplo de código a seguir mostra que o namespace a ser modificado é root\MyNamespace e o arquivo se chama MyNamespace_security.mof. RequiresEncryption tem um tipo de dados booliano, portanto, deve ser definido como True ou False.
#pragma namespace("\\\\.\\Root\\MyNamespace") [RequiresEncryption(TRUE)] instance of __systemSecurity { };
Execute mofcomp.exe para compilar o arquivo MOF.
c:\mofcomp MyNamespace_security.mof
Em C++, use os métodos IMoFCompiler.
O WMI rejeita um cliente que usa o nível de autenticação padrão, porque o DCOM negocia a segurança para o nível exigido pelo processo SVCHOST no qual o serviço do WMI está em execução. Para obter mais informações sobre hosts de serviço, consulte Hospedagem e segurança do provedor. Para obter mais informações sobre como definir níveis de autenticação ao se conectar a namespaces do WMI, consulte Definir o nível de segurança de processo padrão usando C++, Definir a autenticação usando C++ou Definir o nível de segurança de processo padrão usando VBScript.
Ao retornar dados em uma conexão de retorno de chamada assíncrona, o WMI retorna uma mensagem de acesso negado ao computador solicitante. O WMI também faz uma entrada de log no Log de Eventos NT do computador, com o namespace criptografado informando que uma conexão segura não pode ser estabelecida com o cliente.
Começando no Windows Vista, o arquivo WbemCore.log não existe mais. Você pode marcar o Log de Eventos do NT para entradas que indicam solicitações de dados de entrada rejeitadas para namespaces que exigem criptografia.
Tópicos relacionados