Så här aktiverar du LDAP-signering i Windows Server
Den här artikeln beskriver hur du aktiverar LDAP-signering i Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 och Windows 11.
Ursprungligt KB-nummer: 935834
Sammanfattning
Du kan avsevärt förbättra säkerheten för en katalogserver genom att konfigurera servern att avvisa SASL-bindningar (Simple Authentication and Security Layer) som inte begär signering (integritetsverifiering) eller avvisa enkla LDAP-bindningar som utförs på en klartextanslutning (icke-SSL/TLS-krypterad). SASL-bindningar kan innehålla protokoll som Negotiate, Kerberos, NTLM och Digest.
Osignerad nätverkstrafik är mottaglig för återuppspelningsattacker. I sådana attacker fångar en inkräktare upp autentiseringsförsöket och utfärdandet av ett ärende. Inkräktaren kan återanvända biljetten för att personifiera den legitima användaren. Dessutom är osignerad nätverkstrafik mottaglig för MIM-attacker (man-in-the-middle) där en inkräktare samlar in paket mellan klienten och servern, ändrar paketen och sedan vidarebefordrar dem till servern. Om detta inträffar på en LDAP-server kan en angripare få en server att fatta beslut som baseras på förfalskade begäranden från LDAP-klienten.
Så här identifierar du klienter som inte använder alternativet Kräv signering
När du har gjort den här konfigurationsändringen binds klienter som förlitar sig på osignerad SASL (Negotiate, Kerberos, NTLM eller Digest) LDAP eller på enkla LDAP-bindningar över en icke-SSL/TLS-anslutning. För att identifiera dessa klienter loggar katalogservern för Active Directory Domain Services (AD DS) eller Lightweight Directory Server (LDS) ett sammanfattningshändelse-ID 2887 en gång var 24:e timme för att ange hur många sådana bindningar som inträffade. Vi rekommenderar att du konfigurerar dessa klienter så att de inte använder sådana bindningar. När inga sådana händelser har observerats under en längre period rekommenderar vi att du konfigurerar servern för att avvisa sådana bindningar.
Om du måste ha mer information för att identifiera sådana klienter kan du konfigurera katalogservern för att tillhandahålla mer detaljerade loggar. Den här ytterligare loggningen loggar ett händelse-ID 2889 när en klient försöker göra en osignerad LDAP-bindning. Loggposten visar IP-adressen för klienten och den identitet som klienten försökte använda för att autentisera. Du kan aktivera den här ytterligare loggningen genom att ange diagnostikinställningen 16 LDAP-gränssnittshändelser till 2 (Basic). Mer information om hur du ändrar diagnostikinställningarna finns i Så här konfigurerar du loggning av Active Directory- och LDS-diagnostikhändelser.
Om katalogservern är konfigurerad för att avvisa osignerade SASL LDAP-bindningar eller enkla LDAP-bindningar över en icke-SSL/TLS-anslutning loggar katalogservern ett sammanfattningshändelse-ID 2888 en gång var 24:e timme när sådana bindningsförsök inträffar.
Så här konfigurerar du katalogen för att kräva LDAP-serversignering för AD DS
Information om möjliga effekter av att ändra säkerhetsinställningar finns i Klient-, tjänst- och programproblem kan uppstå om du ändrar säkerhetsinställningar och tilldelningar av användarrättigheter.
Med hjälp av grupprincip
Så här ställer du in LDAP-signeringskravet för servern
- Välj Start>Kör, skriv mmc.exe, och välj sedan OK.
- Välj Arkiv>Lägg till/ta bort snapin-modul, välj Grupprincip Hanteringsredigeraren och välj sedan Lägg till.
- Välj Grupprincipsobjekt>Bläddra.
- I dialogrutan Bläddra efter ett grupprincipsobjekt väljer du Standardprincip för domänkontrollant under området Domäner, organisationsenheter och länkade grupprincipsobjekt och väljer sedan OK.
- Välj Slutför.
- Välj OK.
- Välj Standardprincip för domänkontrollanter>Datorkonfiguration>Principer>Windows-inställningar >Säkerhetsinställningar>Lokala principer och välj sedan Säkerhetsalternativ.
- Högerklicka på Domänkontrollant: LDAP-serversigneringskrav och välj sedan Egenskaper.
- I dialogrutan Domänkontrollant: Egenskaper för LDAP-serversigneringskrav aktiverar du Definiera den här principinställningen, väljer Kräv signering i listan Definiera den här principinställningen och väljer sedan OK.
- I dialogrutan Bekräfta ändringen väljer du Ja.
Så här ställer du in LDAP-signeringskravet för klienten med hjälp av en lokal datorprincip
- Välj Start>Kör, skriv mmc.exe, och välj sedan OK.
- Välj Arkiv>Lägg till/ta bort snapin-moduler.
- I dialogrutan Lägg till eller ta bort snapin-moduler väljer du Redigeraren för grupprincipobjekt och väljer sedan Lägg till.
- Välj Slutför.
- Välj OK.
- Välj Lokal datorprincip>Datorkonfiguration>Principer>Windows-inställningar>Säkerhetsinställningar>Lokala principer och välj sedan Säkerhetsalternativ.
- Högerklicka på Nätverkssäkerhet: LDAP-klientsigneringskrav och välj sedan Egenskaper.
- I dialogrutan Nätverkssäkerhet: Egenskaper för LDAP-klientsigneringskrav väljer du Kräv inloggning i listan och väljer sedan OK.
- I dialogrutan Bekräfta ändringen väljer du Ja.
Så här ställer du in LDAP-signeringskravet för klienten med hjälp av ett grupprincipobjekt för domän
- Välj Start>Kör, skriv mmc.exe, och välj sedan OK.
- Välj Arkiv>Lägg till/ta bort snapin-moduler.
- I dialogrutan Lägg till eller ta bort snapin-moduler väljer du Redigeraren för grupprincipobjekt och väljer sedan Lägg till.
- Välj Bläddra och välj sedan Standarddomänprincip (eller det grupprincipobjekt som du vill aktivera klient-LDAP-signering för).
- Välj OK.
- Välj Slutför.
- Välj Nära.
- Välj OK.
- Välj Standarddomänprincip>Datorkonfiguration>Windows-inställningar>Säkerhetsinställningar>Lokala principer och välj sedan Säkerhetsalternativ.
- I dialogrutan Nätverkssäkerhet: Egenskaper för LDAP-klientsigneringskrav väljer du Kräv inloggning i listan och väljer sedan OK.
- I dialogrutan Bekräfta ändringen väljer du Ja.
Så här ställer du in LDAP-signeringskravet för klienten med hjälp av registernycklar
Viktigt!
Följ stegen i det här avsnittet noggrant. Det kan uppstå allvarliga problem om du gör felaktiga ändringar i registret. Innan du ändrar det bör du först säkerhetskopiera registret för att kunna återställa det om problem skulle uppstå.
Som standard är registernyckeln inte tillgänglig för Active Directory Lightweight Directory Services (AD LDS). Därför måste du skapa en LDAPServerIntegrity
registerpost av typen REG_DWORD under följande registerundernyckel:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<InstanceName>\Parameters
Kommentar
Platshållaren <InstanceName>
representerar namnet på den AD LDS-instans som du vill ändra.
Registerposten har följande möjliga värden:
- 0: Signering är inaktiverat.
- 2: Signering är aktiverat.
När du ändrar det här värdet börjar det nya värdet gälla omedelbart. Du behöver inte starta om datorn.
Så här verifierar du konfigurationsändringar
Logga in på en dator där administrationsverktyg för AD DS är installerat.
Välj Start>Kör, skriv ldp.exe, och välj sedan OK.
Välj Anslutning>.Anslut.
I Server och i Port skriver du servernamnet och icke-SSL/TLS-porten för katalogservern och väljer sedan OK.
Kommentar
För en Active Directory-domänkontrollant är den tillämpliga porten 389.
När en anslutning har upprättats väljer du Anslutning>Bind.
Under Bindningstyp väljer du Enkel bindning.
Skriv in ditt användarnamn och lösenord och välj sedan OK.
Om du får följande felmeddelande har du konfigurerat katalogservern:
Ldap_simple_bind_s() misslyckades: stark autentisering krävs
Händelsereferens för LDAP-signeringskrav
Händelse-ID 2886
När du har startat DS-tjänster loggas händelse-ID 2886 för att påminna administratörer om att aktivera signeringskrav:
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.
Händelse-ID 2887
När en problemklient identifieras men tillåts loggas en sammanfattningshändelse (händelse-ID 2887) under de senaste 24 timmarna:
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>
Händelse-ID 2888
När en problemklient avvisas loggas en sammanfattningshändelse (händelse-ID 2888) under de senaste 24 timmarna:
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>
Händelse-ID 2889
När en problemklient försöker ansluta loggas händelse-ID 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 – SASL Bind that does not use signing
1 – Simple Bind that does not support signing
Referenser
- ADV190023: Microsofts vägledning för att aktivera LDAP-kanalbindning och LDAP-signering
- 2020 LDAP-kanalbindning och LDAP-signeringskrav för Windows
- 2020, 2023 och 2024 LDAP-kanalbindning och LDAP-signeringskrav för Windows (KB4520412)
- Så här konfigurerar du loggning av Active Directory- och LDS-diagnostikhändelser