{"id":4795,"date":"2023-06-08T15:24:32","date_gmt":"2023-06-08T22:24:32","guid":{"rendered":"https:\/\/SUMMALAI.COM\/?p=4795"},"modified":"2023-06-08T15:24:34","modified_gmt":"2023-06-08T22:24:34","slug":"how-to-enable-ldap-signing-in-windows-server","status":"publish","type":"post","link":"https:\/\/SUMMALAI.COM\/?p=4795","title":{"rendered":"How to Enable LDAP Signing in Windows Server"},"content":{"rendered":"\n<p>This article describes how to enable LDAP signing in Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, and Windows 10.<\/p>\n\n\n\n<p><em>Applies to:<\/em>\u00a0\u00a0 Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 &#8211; all editions<br><em>Original KB number:<\/em>\u00a0\u00a0 935834<a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#summary\"><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"summary\">Summary<\/h2>\n\n\n\n<p>You can significantly improve the security of a directory server by configuring the server to reject Simple Authentication and Security Layer (SASL) LDAP binds that do not request signing (integrity verification), or to reject LDAP simple binds that are performed on a clear text (non-SSL\/TLS-encrypted) connection. SASL binds may include protocols such as Negotiate, Kerberos, NTLM, and Digest.<\/p>\n\n\n\n<p>Unsigned network traffic is susceptible to replay attacks. In such attacks, an intruder intercepts the authentication attempt and the issuance of a ticket. The intruder can reuse the ticket to impersonate the legitimate user. Additionally, unsigned network traffic is susceptible to man-in-the-middle (MIM) attacks in which an intruder captures packets between the client and the server, changes the packets, and then forwards them to the server. If this occurs on an LDAP server, an attacker can cause a server to make decisions that are based on forged requests from the LDAP client.<\/p>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#how-to-discover-clients-that-do-not-use-the-require-signing-option\"><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-discover-clients-that-do-not-use-the-require-signing-option\">How to discover clients that do not use the Require signing option<\/h2>\n\n\n\n<p>After you make this configuration change, clients that rely on unsigned SASL (Negotiate, Kerberos, NTLM, or Digest) LDAP binds or on LDAP simple binds over a non-SSL\/TLS connection stop working. To help identify these clients, the directory server of Active Directory Domain Services (AD DS) or Lightweight Directory Server (LDS) logs a summary Event ID 2887 one time every 24 hours to indicate how many such binds occurred. We recommend that you configure these clients not to use such binds. After no such events are observed for an extended period, we recommend that you configure the server to reject such binds.<\/p>\n\n\n\n<p>If you must have more information to identify such clients, you can configure the directory server to provide more detailed logs. This additional logging will log an Event ID 2889 when a client tries to make an unsigned LDAP bind. The log entry displays the IP address of the client and the identity that the client tried to use to authenticate. You can enable this additional logging by setting the&nbsp;<strong>16 LDAP Interface Events<\/strong>&nbsp;diagnostic setting to&nbsp;<strong>2 (Basic)<\/strong>. For more information about how to change the diagnostic settings, see&nbsp;<a href=\"https:\/\/support.microsoft.com\/help\/314980\">How to configure Active Directory and LDS diagnostic event logging<\/a>.<\/p>\n\n\n\n<p>If the directory server is configured to reject unsigned SASL LDAP binds or LDAP simple binds over a non-SSL\/TLS connection, the directory server logs a summary Event ID 2888 one time every 24 hours when such bind attempts occur.<\/p>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#how-to-configure-the-directory-to-require-ldap-server-signing-for-ad-ds\"><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-configure-the-directory-to-require-ldap-server-signing-for-ad-ds\">How to configure the directory to require LDAP server signing for AD DS<\/h2>\n\n\n\n<p>For information about possible affects of changing security settings, see&nbsp;<a href=\"https:\/\/support.microsoft.com\/help\/823659\">Client, service, and program issues can occur if you change security settings and user rights assignments<\/a>.<\/p>\n\n\n\n<p>&nbsp;Note<\/p>\n\n\n\n<p>Logging anomaly of Event ID 2889<\/p>\n\n\n\n<p>Applications that use third-party LDAP clients may cause Windows to generate incorrect Event ID 2889 entries. This occurs when you log of LDAP interface events and if&nbsp;<code>LDAPServerIntegrity<\/code>&nbsp;is equal to&nbsp;<strong>2<\/strong>. The use of sealing (encryption) satisfies the protection against the MIM attack, but Windows logs Event ID 2889 anyway.<\/p>\n\n\n\n<p>This happens when LDAP clients use only sealing together with SASL. We have seen this in the field in association with third-party LDAP clients.<\/p>\n\n\n\n<p>When a connection does not use both signing and sealing, the connection security requirements check uses the flags correctly and disconnect. The check generates Error 8232 (ERROR_DS_STRONG_AUTH_REQUIRED).<a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#using-group-policy\"><\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"using-group-policy\">Using Group Policy<a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#how-to-set-the-server-ldap-signing-requirement\"><\/a><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"how-to-set-the-server-ldap-signing-requirement\">How to set the server LDAP signing requirement<\/h4>\n\n\n\n<ol class=\"wp-block-list\"><li>Select&nbsp;<strong>Start<\/strong>&nbsp;&gt;&nbsp;<strong>Run<\/strong>, type&nbsp;<em>mmc.exe<\/em>, and then select&nbsp;<strong>OK<\/strong>.<\/li><li>Select&nbsp;<strong>File<\/strong>&nbsp;&gt;&nbsp;<strong>Add\/Remove Snap-in<\/strong>, select&nbsp;<strong>Group Policy Management Editor<\/strong>, and then select&nbsp;<strong>Add<\/strong>.<\/li><li>Select&nbsp;<strong>Group Policy Object<\/strong>&nbsp;&gt;&nbsp;<strong>Browse<\/strong>.<\/li><li>In the&nbsp;<strong>Browse for a Group Policy Object<\/strong>&nbsp;dialog box, select&nbsp;<strong>Default Domain Controller Policy<\/strong>&nbsp;under the&nbsp;<strong>Domains, OUs, and linked Group Policy Objects<\/strong>&nbsp;area, and then select&nbsp;<strong>OK<\/strong>.<\/li><li>Select&nbsp;<strong>Finish<\/strong>.<\/li><li>Select&nbsp;<strong>OK<\/strong>.<\/li><li>Select&nbsp;<strong>Default Domain Controller Policy<\/strong>&nbsp;&gt;&nbsp;<strong>Computer Configuration<\/strong>&nbsp;&gt;&nbsp;<strong>Policies<\/strong>&nbsp;&gt;&nbsp;<strong>Windows Settings<\/strong>&nbsp;&gt;&nbsp;<strong>Security Settings<\/strong>&nbsp;&gt;&nbsp;<strong>Local Policies<\/strong>, and then select&nbsp;<strong>Security Options<\/strong>.<\/li><li>Right-click&nbsp;<strong>Domain controller: LDAP server signing requirements<\/strong>, and then select&nbsp;<strong>Properties<\/strong>.<\/li><li>In the&nbsp;<strong>Domain controller: LDAP server signing requirements Properties<\/strong>&nbsp;dialog box, enable&nbsp;<strong>Define this policy setting<\/strong>, select&nbsp;<strong>Require signing<\/strong>&nbsp;in the&nbsp;<strong>Define this policy setting<\/strong>&nbsp;list, and then select&nbsp;<strong>OK<\/strong>.<\/li><li>In the&nbsp;<strong>Confirm Setting Change<\/strong>&nbsp;dialog box, select&nbsp;<strong>Yes<\/strong>.<\/li><\/ol>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#how-to-set-the-client-ldap-signing-requirement-by-using-local-computer-policy\"><\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"how-to-set-the-client-ldap-signing-requirement-by-using-local-computer-policy\">How to set the client LDAP signing requirement by using local computer policy<\/h4>\n\n\n\n<ol class=\"wp-block-list\"><li>Select&nbsp;<strong>Start<\/strong>&nbsp;&gt;&nbsp;<strong>Run<\/strong>, type&nbsp;<em>mmc.exe<\/em>, and then select&nbsp;<strong>OK<\/strong>.<\/li><li>Select&nbsp;<strong>File<\/strong>&nbsp;&gt;&nbsp;<strong>Add\/Remove Snap-in<\/strong>.<\/li><li>In the&nbsp;<strong>Add or Remove Snap-ins<\/strong>&nbsp;dialog box, select&nbsp;<strong>Group Policy Object Editor<\/strong>, and then select&nbsp;<strong>Add<\/strong>.<\/li><li>Select&nbsp;<strong>Finish<\/strong>.<\/li><li>Select&nbsp;<strong>OK<\/strong>.<\/li><li>Select&nbsp;<strong>Local Computer Policy<\/strong>&nbsp;&gt;&nbsp;<strong>Computer Configuration<\/strong>&nbsp;&gt;&nbsp;<strong>Policies<\/strong>&nbsp;&gt;&nbsp;<strong>Windows Settings<\/strong>&nbsp;&gt;&nbsp;<strong>Security Settings<\/strong>&nbsp;&gt;&nbsp;<strong>Local Policies<\/strong>, and then select&nbsp;<strong>Security Options<\/strong>.<\/li><li>Right-click&nbsp;<strong>Network security: LDAP client signing requirements<\/strong>, and then select&nbsp;<strong>Properties<\/strong>.<\/li><li>In the&nbsp;<strong>Network security: LDAP client signing requirements Properties<\/strong>&nbsp;dialog box, select&nbsp;<strong>Require signing<\/strong>&nbsp;in the list, and then select&nbsp;<strong>OK<\/strong>.<\/li><li>In the&nbsp;<strong>Confirm Setting Change<\/strong>&nbsp;dialog box, select&nbsp;<strong>Yes<\/strong>.<\/li><\/ol>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#how-to-set-the-client-ldap-signing-requirement-by-using-a-domain-group-policy-object\"><\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"how-to-set-the-client-ldap-signing-requirement-by-using-a-domain-group-policy-object\">How to set the client LDAP signing requirement by using a domain Group Policy Object<\/h4>\n\n\n\n<ol class=\"wp-block-list\"><li>Select&nbsp;<strong>Start<\/strong>&nbsp;&gt;&nbsp;<strong>Run<\/strong>, type&nbsp;<strong>mmc.exe<\/strong>, and then select&nbsp;<strong>OK<\/strong>.<\/li><li>Select&nbsp;<strong>File<\/strong>&nbsp;&gt;&nbsp;<strong>Add\/Remove Snap-in<\/strong>.<\/li><li>In the&nbsp;<strong>Add or Remove Snap-ins<\/strong>&nbsp;dialog box, select&nbsp;<strong>Group Policy Object Editor<\/strong>, and then select&nbsp;<strong>Add<\/strong>.<\/li><li>Select&nbsp;<strong>Browse<\/strong>, and then select&nbsp;<strong>Default Domain Policy<\/strong>&nbsp;(or the Group Policy Object for which you want to enable client LDAP signing).<\/li><li>Select&nbsp;<strong>OK<\/strong>.<\/li><li>Select&nbsp;<strong>Finish<\/strong>.<\/li><li>Select&nbsp;<strong>Close<\/strong>.<\/li><li>Select&nbsp;<strong>OK<\/strong>.<\/li><li>Select&nbsp;<strong>Default Domain Policy<\/strong>&nbsp;&gt;&nbsp;<strong>Computer Configuration<\/strong>&nbsp;&gt;&nbsp;<strong>Windows Settings<\/strong>&nbsp;&gt;&nbsp;<strong>Security Settings<\/strong>&nbsp;&gt;&nbsp;<strong>Local Policies<\/strong>, and then select&nbsp;<strong>Security Options<\/strong>.<\/li><li>In the&nbsp;<strong>Network security: LDAP client signing requirements Properties<\/strong>&nbsp;dialog box, select&nbsp;<strong>Require signing<\/strong>&nbsp;in the list, and then select&nbsp;<strong>OK<\/strong>.<\/li><li>In the&nbsp;<strong>Confirm Setting Change<\/strong>&nbsp;dialog box, select&nbsp;<strong>Yes<\/strong>.<\/li><\/ol>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#how-to-set-the-client-ldap-signing-requirement-by-using-registry-keys\"><\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"how-to-set-the-client-ldap-signing-requirement-by-using-registry-keys\">How to set the client LDAP signing requirement by using registry keys<\/h4>\n\n\n\n<p>&nbsp;Important<\/p>\n\n\n\n<p>Follow the steps in this section carefully. Serious problems might occur if you modify the registry incorrectly. Before you modify it,&nbsp;<a href=\"https:\/\/support.microsoft.com\/help\/322756\">back up the registry for restoration<\/a>&nbsp;in case problems occur.<\/p>\n\n\n\n<p>By default, for Active Directory Lightweight Directory Services (AD LDS), the registry key is not available. Therefore, you must create a&nbsp;<code>LDAPServerIntegrity<\/code>&nbsp;registry entry of the REG_DWORD type under the following registry subkey:<\/p>\n\n\n\n<p>HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\&lt;<em>InstanceName&gt;<\/em>\\Parameters<\/p>\n\n\n\n<p>&nbsp;Note<\/p>\n\n\n\n<p>The placeholder &lt;InstanceName&gt; represents the name of the AD LDS instance that you want to change.<\/p>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#how-to-verify-configuration-changes\"><\/a><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"how-to-verify-configuration-changes\">How to verify configuration changes<\/h4>\n\n\n\n<ol class=\"wp-block-list\"><li>Sign in to a computer that has the AD DS Admin Tools installed.<\/li><li>Select&nbsp;<strong>Start<\/strong>&nbsp;&gt;&nbsp;<strong>Run<\/strong>, type&nbsp;<em>ldp.exe<\/em>, and then select&nbsp;<strong>OK<\/strong>.<\/li><li>Select&nbsp;<strong>Connection<\/strong>&nbsp;&gt;&nbsp;<strong>Connect<\/strong>.<\/li><li>In&nbsp;<strong>Server<\/strong>&nbsp;and in&nbsp;<strong>Port<\/strong>, type the server name and the non-SSL\/TLS port of your directory server, and then select&nbsp;<strong>OK<\/strong>.&nbsp;NoteFor an Active Directory Domain Controller, the applicable port is 389.<\/li><li>After a connection is established, select&nbsp;<strong>Connection<\/strong>&nbsp;&gt;&nbsp;<strong>Bind<\/strong>.<\/li><li>Under&nbsp;<strong>Bind type<\/strong>, select&nbsp;<strong>Simple bind<\/strong>.<\/li><li>Type the user name and password, and then select&nbsp;<strong>OK<\/strong>.If you receive the following error message, you have successfully configured your directory server:Ldap_simple_bind_s() failed: Strong Authentication Required<\/li><\/ol>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server#references\"><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"references\">References<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/portal.msrc.microsoft.com\/en-US\/security-guidance\/advisory\/ADV190023\">ADV190023: Microsoft Guidance for Enabling LDAP Channel Binding and LDAP Signing<\/a><\/li><li><a href=\"https:\/\/support.microsoft.com\/help\/4520412\">2020 LDAP channel binding and LDAP signing requirement for Windows<\/a><\/li><\/ul>\n\n\n\n<p>Ref: https:\/\/learn.microsoft.com\/en-us\/troubleshoot\/windows-server\/identity\/enable-ldap-signing-in-windows-server<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article describes how to enable LDAP signing in Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, and Windows 10. Applies to:\u00a0\u00a0 Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10 &#8211; all editionsOriginal KB number:\u00a0\u00a0 935834 Summary You can significantly improve the security of a directory server by configuring <a class=\"read-more\" href=\"https:\/\/SUMMALAI.COM\/?p=4795\">Read More<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[10,15],"tags":[1621,1620],"class_list":["post-4795","post","type-post","status-publish","format-standard","hentry","category-microsoft","category-windows-servers","tag-enable-ldap-signing","tag-enable-ldap-signing-in-windows-server"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/posts\/4795","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4795"}],"version-history":[{"count":1,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/posts\/4795\/revisions"}],"predecessor-version":[{"id":4796,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=\/wp\/v2\/posts\/4795\/revisions\/4796"}],"wp:attachment":[{"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4795"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4795"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/SUMMALAI.COM\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4795"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}