Come abilitare la firma LDAP in Windows Server

Questo articolo descrive come abilitare l'accesso LDAP in Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 e Windows 11.

Si applica a: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 11 - tutte le edizioni, Windows 10 - tutte le edizioni
Numero originale della Knowledge Base: 935834

Riepilogo

È possibile migliorare significativamente la sicurezza di un server di directory configurandolo in modo da rifiutare i binding LDAP SASL (Simple Authentication and Security Layer) che non richiedono la firma (verifica dell'integrità) o i binding LDAP semplici eseguiti su una connessione con testo non crittografato (con SSL/TLS). I binding SASL possono includere protocolli come Negotiate, Kerberos, NTLM e Digest.

Il traffico di rete non firmato è soggetto ad attacchi replay. In tali attacchi, un intruso intercetta il tentativo di autenticazione e il rilascio di un ticket. L'intruso può riutilizzare il ticket per rappresentare l'utente legittimo. Inoltre, il traffico di rete non firmato è soggetto ad attacchi man-in-the-middle (MIM) in cui un intruso acquisisce i pacchetti tra il client e il server, modifica i pacchetti e li inoltra al server. Se ciò si verifica in un server LDAP, un utente malintenzionato può fare in modo che un server possa prendere decisioni basate su richieste contraffatte provenienti dal client LDAP.

Come individuare i client che non usano l'opzione Richiedi firma

Dopo aver modificato questa configurazione, i client che si basano su binding LDAP non firmati SASL (Negotiate, Kerberos, NTLM o Digest) o su binding LDAP semplici su una connessione non SSL/TLS non funzionano. Per identificare questi client, il server di directory di Active Directory Domain Services (AD DS) o Lightweight Directory Server (LDS) registra un ID evento di riepilogo 2887 una volta ogni 24 ore per indicare il numero di tali binding. È consigliabile configurare questi client in modo da non usare tali binding. Dopo che tali eventi non vengono osservati per un periodo prolungato, è consigliabile configurare il server in modo che rifiuti tali binding.

Se servono maggiori informazioni per identificare tali client, è possibile configurare il server di directory in modo che fornisca log più dettagliati. Questa registrazione aggiuntiva registrerà un ID evento 2889 quando un client tenta di eseguire un binding LDAP non firmato. La voce di log visualizza l'indirizzo IP del client e l'identità che il client ha tentato di usare per l'autenticazione. È possibile abilitare questa registrazione aggiuntiva configurando l'impostazione di diagnostica 16 eventi dell'interfaccia LDAP su 2 (Basic). Per altre informazioni su come modificare le impostazioni di diagnostica, vedere Come configurare la registrazione degli eventi di diagnostica di Active Directory e LDS.

Se il server di directory è configurato per rifiutare i binding LDAP SASL non firmate o i binding LDAP semplici su una connessione non SSL/TLS, il server di directory registra un ID evento di riepilogo 2888 una volta ogni 24 ore quando si verificano tali tentativi di binding.

Come configurare la directory in modo che richieda la firma del server LDAP per Active Directory Domain Services

Per informazioni sui possibili effetti della modifica delle impostazioni di sicurezza, vedere Problemi relativi a client, servizi e programmi se si modificano le impostazioni di sicurezza e le assegnazioni dei diritti utente.

Utilizzo di Criteri di gruppo

Come impostare il requisito di firma LDAP del server

  1. Fare clic su Start>Esegui, digitare mmc.exe e fare clic su OK.
  2. Selezionare File>Aggiungi/Rimuovi snap-in, selezionare Editor Gestione Criteri di gruppo e quindi selezionare Aggiungi.
  3. Selezionare Oggetto Criteri di gruppo>Sfoglia
  4. Nella finestra di dialogo Cerca un oggetto Criteri di gruppo selezionare Criterio controller di dominio predefinito nell'area Domini, unità organizzative e oggetti Criteri di gruppo collegati e quindi selezionare OK.
  5. Seleziona Fine.
  6. Selezionare OK.
  7. Selezionare Criterio controller di dominio predefinito>Configurazione computer>Criteri>Impostazioni di Windows>Impostazioni di sicurezza>Criteri locali e quindi selezionare Opzioni di sicurezza.
  8. Fare clic con il pulsante destro del mouse su Controller di dominio: Requisiti di firma del server LDAP e quindi scegliere Proprietà.
  9. Nella finestra di dialogo Controller di dominio: proprietà requisiti di firma del server LDAP abilitare Definisci questa impostazione di criterio, selezionare Richiedi firma nell'elenco Definisci questa impostazione di criterio e quindi selezionare OK.
  10. Nella finestra di dialogo Conferma modifica impostazioni, selezionare .

Come impostare il requisito di firma LDAP client usando i criteri del computer locale

  1. Fare clic su Start>Esegui, digitare mmc.exe e fare clic su OK.
  2. Scegliere File>Aggiungi/Rimuovi snap-in.
  3. Nella finestra di dialogo Aggiungi o rimuovi snap-in, selezionare Editor oggetti Criteri di gruppo e quindi selezionare Aggiungi.
  4. Seleziona Fine.
  5. Selezionare OK.
  6. Selezionare Criteri del computer locale>Configurazione computer>Criteri>Impostazioni di Windows>Impostazioni di sicurezza>Criteri locali, quindi selezionare Opzioni di sicurezza.
  7. Fare clic con il pulsante destro del mouse su Sicurezza di rete: requisiti per la firma client LDAP e quindi selezionare Proprietà.
  8. Nella finestra di dialogo Sicurezza di rete: requisiti per la firma client LDAP, selezionare Richiedi firma nell'elenco e quindi selezionare OK.
  9. Nella finestra di dialogo Conferma modifica impostazioni, selezionare .

Come impostare i requisiti di firma LDAP del client utilizzando un oggetto Criteri di gruppo del dominio

  1. Fare clic su Start>Esegui, digitare mmc.exe e fare clic su OK.
  2. Scegliere File>Aggiungi/Rimuovi snap-in.
  3. Nella finestra di dialogo Aggiungi o rimuovi snap-in, selezionare Editor oggetti Criteri di gruppo e quindi selezionare Aggiungi.
  4. Selezionare Sfoglia e quindi selezionare Criterio dominio predefinito (o l'oggetto Criteri di gruppo per cui si vuole abilitare la firma LDAP client).
  5. Selezionare OK.
  6. Seleziona Fine.
  7. Selezionare Chiudi.
  8. Selezionare OK.
  9. Selezionare Criterio dominio predefinito>Configurazione computer>Impostazioni di Windows>Impostazioni di sicurezza>Criteri locali, quindi selezionare Opzioni di sicurezza.
  10. Nella finestra di dialogo Sicurezza di rete: requisiti per la firma client LDAP, selezionare Richiedi firma nell'elenco e quindi selezionare OK.
  11. Nella finestra di dialogo Conferma modifica impostazioni, selezionare .

Come impostare i requisiti di firma LDAP del client utilizzando le chiavi del Registro di sistema

Importante

Seguire attentamente i passaggi in questa sezione. L'errata modifica del Registro di sistema può causare seri problemi. Prima di apportare le modifiche, eseguire il backup del Registro di sistema per il ripristino nel caso si verifichino dei problemi.

Per impostazione predefinita, per Active Directory Lightweight Directory Services (AD LDS), la chiave del Registro di sistema non è disponibile. È pertanto necessario creare una voce del Registro di sistema LDAPServerIntegrity del tipo REG_DWORD nella sottochiave del Registro di sistema seguente:

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

Nota

Il segnaposto <InstanceName> rappresenta il nome dell'istanza di AD LDS da modificare.

La voce del Registro di sistema include i valori possibili seguenti:

  • 0: la firma è disabilitata.
  • 2: la firma è abilitata.

Quando si modifica questo valore, il nuovo valore diventa immediatamente effettivo. Non è necessario riavviare il computer.

Come verificare le modifiche alla configurazione

  1. Accedere a un computer in cui è installato AD DS Admin Tools.

  2. Fare clic su Start>Esegui, digitare ldp.exe, quindi selezionare OK.

  3. Selezionare Connessione>Connetti.

  4. In Server e Porta, digitare il nome del server e la porta non SSL/TLS del server di directory, quindi selezionare OK.

    Nota

    Per un Controller di dominio Active Directory, la porta applicabile è 389.

  5. Dopo aver stabilito una connessione, selezionare Connessione>Associa.

  6. Sotto Tipo di binding, selezionare Binding semplice.

  7. Digitare nome utente e password, quindi fare clic su OK.

    Se viene visualizzato il messaggio di errore seguente, il server di directory è stato configurato correttamente:

    Ldap_simple_bind_s() non riuscito: autenticazione avanzata richiesta

Informazioni di riferimento sugli eventi per i requisiti di firma LDAP

ID evento 2886

Dopo aver avviato i servizi DS, viene registrato l'ID evento 2886 per ricordare agli amministratori di abilitare i requisiti di firma:

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 evento 2887

Quando viene rilevato ma consentito un client con problemi, viene registrato un evento di riepilogo (ID evento 2887) delle ultime 24 ore:

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 evento 2888

Quando un client con problemi viene rifiutato, viene registrato un evento di riepilogo (ID evento 2888) delle ultime 24 ore:

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 evento 2889

Quando un client con problemi tenta di connettersi, viene registrato l'ID evento 2889:

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

Riferimenti