Como habilitar a assinatura LDAP no Windows Server

Este artigo descreve como havilitar a assinatura LDAP no Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 e Windows 11.

Aplica-se a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 11 - todas as edições, Windows 10 - todas as edições
Número original do KB: 935834

Resumo

Você pode melhorar significativamente a segurança de um servidor de diretório configurando o servidor para rejeitar associações LDAP SASL (Simple Authentication and Security Layer) que não solicitam assinatura (verificação de integridade) ou para rejeitar associações simples LDAP executadas em uma conexão de texto não criptografado (não criptografado por SSL/TLS). As associações SASL podem incluir protocolos como Negotiate, Kerberos, NTLM e Digest.

O tráfego de rede não assinado é suscetível a ataques de repetição. Nesses ataques, um intruso intercepta a tentativa de autenticação e a emissão de um tíquete. O intruso pode reutilizar o tíquete para representar o usuário legítimo. Além disso, o tráfego de rede não assinado é suscetível a ataques de MIM (man-in-the-middle) em que um invasor captura pacotes entre o cliente e o servidor, altera os pacotes e os encaminha para o servidor. Se isso ocorrer em um servidor LDAP, um invasor poderá fazer com que um servidor tome decisões baseadas em solicitações forjadas do cliente LDAP.

Como descobrir clientes que não usam a opção Exigir assinatura

Depois de fazer essa alteração de configuração, os clientes que dependem de associações LDAP SASL não assinadas (Negotiate, Kerberos, NTLM ou Digest) ou em associações simples LDAP em uma conexão não SSL/TLS param de funcionar. Para ajudar a identificar esses clientes, o servidor de diretório do AD DS (Active Directory Domain Services) ou do LDS (Lightweight Directory Server) registra uma ID de evento de resumo 2887 uma vez a cada 24 horas para indicar quantas associações ocorreram. Recomendamos que você configure esses clientes para não usar essas associações. Depois que esses eventos não forem observados por um período estendido, recomendamos que você configure o servidor para rejeitar essas associações.

Se você precisar ter mais informações para identificar esses clientes, poderá configurar o servidor de diretório para fornecer logs mais detalhados. Esse log adicional registrará uma ID de Evento 2889 quando um cliente tentar criar uma associação LDAP não assinada. A entrada de log exibe o endereço IP do cliente e a identidade que o cliente tentou usar para autenticar. Você pode habilitar esse registro em log adicional definindo a configuração de diagnóstico de 16 Eventos de Interface LDAP como 2 (Básico). Para obter mais informações sobre como alterar as configurações de diagnóstico, consulte Como configurar o log de eventos de diagnóstico do Active Directory e do LDS.

Se o servidor de diretório estiver configurado para rejeitar associações LDAP SASL não assinadas ou associações simples LDAP em uma conexão não SSL/TLS, o servidor de diretório registra uma ID de evento de resumo 2888 uma vez a cada 24 horas quando essas tentativas de associação ocorrem.

Como configurar o diretório para exigir a assinatura do servidor LDAP para o AD DS

Para obter informações sobre possíveis efeitos da alteração das configurações de segurança, consulte Problemas de cliente, serviço e programa podem ocorrer se você alterar as configurações de segurança e as atribuições de direitos do usuário.

Uso da Política de Grupo

Como definir o requisito de assinatura LDAP do servidor

  1. Selecione Iniciar>Executar, digite mmc.exe e, em seguida, selecione OK.
  2. Selecione Arquivo>Adicionar/Remover Snap-in, selecione Editor de Gerenciamento da Política de Grupo e, em seguida, selecione Adicionar.
  3. Selecione Objeto de Política de Grupo>Procurar.
  4. Na caixa de diálogo Procurar um Objeto de Política de Grupo, selecione Política de Controlador de Domínio Padrão na área Domínios, UOs e Objetos de Política de Grupo conectados e, em seguida, selecione OK.
  5. Selecione Concluir.
  6. Selecione OK.
  7. Selecione Política de Controlador de Domínio Padrão>Configuração do Computador>Políticas>Configurações do Windows>Configurações de Segurança>Políticas Locais e, em seguida, selecione Opções de Segurança.
  8. Clique com o botão direito do mouse em Controlador de domínio: requisitos de assinatura do servidor LDAP e selecione Propriedades.
  9. Na caixa de diálogo Controlador de Domínio: propriedades dos requisitos de assinatura do servidor LDAP, habilite Definir esta configuração de política, selecione Requer assinatura na lista Definir esta configuração de política e, em seguida, selecione OK.
  10. Na caixa de diálogo Confirmar Alteração da Configuração, selecione Sim.

Como definir o requisito de assinatura LDAP do cliente usando a política de computador local

  1. Selecione Iniciar>Executar, digite mmc.exe e, em seguida, selecione OK.
  2. Selecione Arquivo>Adicionar/Remover Snap-ins.
  3. Na caixa de diálogo Adicionar ou Remover Snap-ins, selecione Editor de Objeto de Política de Grupo e, em seguda, selecione Adicionar.
  4. Selecione Concluir.
  5. Selecione OK.
  6. Selecione Política do Computador Local>Configuração do Computador>Políticas>Configurações do Windows>Configurações do Windows>Políticas Locais e, em seguida, selecione Opções de Segurança.
  7. Clique com o botão direito do mouse em Segurança de rede: requisitos de assinatura de cliente LDAP e selecione Propriedades.
  8. Na caixa de diálogo Segurança de rede: requisitos de assinatura de cliente LDAP, selecione Requer assinatura na lista e, em seguida, selecione OK.
  9. Na caixa de diálogo Confirmar Alteração da Configuração, selecione Sim.

Como definir o requisito de assinatura LDAP do cliente usando um domínio do Objeto da Política de Grupo

  1. Selecione Iniciar>Executar, digite mmc.exe e, em seguida, selecione OK.
  2. Selecione Arquivo>Adicionar/Remover Snap-ins.
  3. Na caixa de diálogo Adicionar ou Remover Snap-ins, selecione Editor de Objeto de Política de Grupo e, em seguda, selecione Adicionar.
  4. Selecione Procurar e, em seguida, selecione Política de Domínio Padrão (ou o Objeto de Política de Grupo para o qual você deseja habilitar a assinatura LDAP do cliente).
  5. Selecione OK.
  6. Selecione Concluir.
  7. Selecione Fechar.
  8. Selecione OK.
  9. Selecione Política de Domínio Padrão>Configuração do Computador>Configurações do Windows>Configurações de Segurança>Poíticas Locais e, em seguida, selecione Opções de Segurança.
  10. Na caixa de diálogo Segurança de rede: requisitos de assinatura de cliente LDAP, selecione Requer assinatura na lista e, em seguida, selecione OK.
  11. Na caixa de diálogo Confirmar Alteração da Configuração, selecione Sim.

Como definir o requisito de assinatura LDAP do cliente usando chaves do Registro

Importante

Siga as etapas nesta seção com cuidado. Sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Antes de modificá-lo, faça backup do Registro para restauração em caso de problemas.

Por padrão, para o AD LDS (Active Directory Lightweight Directory Services), a chave do Registro não está disponível. Portanto, você deve criar uma entrada de registro LDAPServerIntegrity do tipo REG_DWORD na seguinte subchave do Registro:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<InstanceName>\Parameters

Observação

O espaço reservado <InstanceName> representa o nome da instância do AD LDS que você deseja alterar.

A entrada do registro tem os seguintes valores possíveis:

  • 0: A assinatura está desabilitada.
  • 2: A assinatura está habilitada.

Quando você altera esse valor, o novo valor entra em vigor imediatamente. Não é necessário reiniciar o computador.

Como verificar as alterações de configuração

  1. Entre em um computador que tenha as Ferramentas de Administração do AD DS instalado.

  2. Selecione Iniciar>Executar, digite ldp.exe e, em seguida, selecione OK.

  3. Selecione Conexão>Conectar.

  4. Em Servidor e em Porta, digite o nome do servidor e a porta não SSL/TLS do servidor de diretório e selecione OK.

    Observação

    Para um Controlador de Domínio do Active Directory, a porta aplicável é 389.

  5. Depois que uma conexão for estabelecida, selecione Conexão>Associação.

  6. Em Tipo de associação, selecione Associação simples.

  7. Digite o nome de usuário e a senha e selecione OK.

    Se você receber a seguinte mensagem de erro, configurou com êxito o servidor de diretório:

    Ldap_simple_bind_s() failed: Autenticação Forte Necessária

Referência de evento para requisitos de assinatura LDAP

ID do evento 2886

Depois de iniciar serviços DS, a ID do Evento 2886 é registrada para lembrar os administradores para habilitar os requisitos de assinatura:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2886
Task Category: LDAP Interface
Level:         Warning
Keywords:      Classic
Description:
The security of this directory server can be significantly enhanced by configuring the server to reject SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP binds that do not request signing (integrity verification) and LDAP simple binds that are performed on a clear text (non-SSL/TLS-encrypted) connection. Even if no clients are using such binds, configuring the server to reject them will improve the security of this server. 
 
Some clients may currently be relying on unsigned SASL binds or LDAP simple binds over a non-SSL/TLS connection, and will stop working if this configuration change is made. To assist in identifying these clients, if such binds occur this directory server will log a summary event once every 24 hours indicating how many such binds occurred. You are encouraged to configure those clients to not use such binds. Once no such events are observed for an extended period, it is recommended that you configure the server to reject such binds. 
 
For more details and information on how to make this configuration change to the server, please see http://go.microsoft.com/fwlink/?LinkID=87923. 
 
You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

ID do evento 2887

Quando um cliente problemático é detectado, mas permitido, um evento de resumo (ID do evento 2887) das últimas 24 horas é registrado:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2887
Task Category: LDAP Interface
Level:         Warning
Keywords:      Classic
Description:
During the previous 24 hour period, some clients attempted to perform LDAP binds that were either:
(1) A SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP bind that did not request signing (integrity validation), or
(2) A LDAP simple bind that was performed on a clear text (non-SSL/TLS-encrypted) connection

This directory server is not currently configured to reject such binds. The security of this directory server can be significantly enhanced by configuring the server to reject such binds. For more details and information on how to make this configuration change to the server, please see http://go.microsoft.com/fwlink/?LinkID=87923.

Summary information on the number of these binds received within the past 24 hours is below.

You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Number of simple binds performed without SSL/TLS: <count of binds>
Number of Negotiate/Kerberos/NTLM/Digest binds performed without signing: <count of binds>

ID do evento 2888

Quando um cliente problemático é rejeitado, um evento de resumo (ID de evento 2888) das últimas 24 horas é registrado:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2888
Task Category: LDAP Interface
Level:         Information
Keywords:      Classic
Description:
During the previous 24 hour period, some clients attempted to perform LDAP binds that were either:
(1) A SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP bind that did not request signing (integrity validation), or
(2) A LDAP simple bind that was performed on a clear text (non-SSL/TLS-encrypted) connection

This directory server is configured to reject such binds.  This is the recommended configuration setting, and significantly enhances the security of this server. For more details, please see http://go.microsoft.com/fwlink/?LinkID=87923.

Summary information on the number of such binds received within the past 24 hours is below.

You can enable additional logging to log an event each time a client makes such a bind, including information on which client made the bind. To do so, please raise the setting for the "LDAP Interface Events" event logging category to level 2 or higher.

Number of simple binds rejected because they were performed without SSL/TLS: <count of binds>
Number of Negotiate/Kerberos/NTLM/Digest binds rejected because they were performed without signing: <count of binds>

ID do evento 2889

Quando um cliente problemático tenta se conectar, a ID do Evento 2889 é registrada:

Log Name:      Directory Service
Source:        Microsoft-Windows-ActiveDirectory_DomainService
Event ID:      2889
Task Category: LDAP Interface
Level:         Information
Keywords:      Classic
Description:
The following client performed a SASL (Negotiate/Kerberos/NTLM/Digest) LDAP bind without requesting signing (integrity verification), or performed a simple bind over a clear text (non-SSL/TLS-encrypted) LDAP connection. 
 
Client IP address:
<IP address>:<TCP port>
Identity the client attempted to authenticate as:
contoso\<username>
Binding Type:
0 – Simple Bind that does not support signing
1 – SASL Bind that does not use signing

Referências