You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: support/windows-server/windows-security/confidential-attributes-unexpected-behavior-using-windows-server-2025-dc.md
+82-6Lines changed: 82 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -129,7 +129,10 @@ To work around this issue, use one of the following methods:
129
129
130
130
- Use Windows Server 2025 or Windows 11 24H2, or a newer version, as an LDAP client. These operating systems encrypt LDAP sessions by default. For more information about this feature, see [What's new in Windows Server 2025](/windows-server/get-started/whats-new-windows-server-2025#active-directory-domain-services).
131
131
132
-
- If you can't use either of the previous methods, use your LDAP client to connect to a DC that runs an older version of Windows Server.
132
+
- If you can't use either of the previous methods, you can temporarily disable the encrypted session requirements. For more information about how to do this, see [How dsHeuristics affects the encrypted session requirements and related events](#how-dsheuristics-affects-the-encrypted-session-requirements-and-related-events) later in this article.
133
+
134
+
> [!IMPORTANT]
135
+
> This method is not secure. Use it only as a temporary step.
133
136
134
137
## More information
135
138
@@ -138,10 +141,10 @@ Several new Directory Service events document this behavior. The following table
138
141
| Event ID | Action that a client attempted during an unencrypted session | User error (returned to the client) |
139
142
| --- | --- | --- |
140
143
| 3079 | Search for one or more confidential attributes. | None |
141
-
| 3080 | Set a value for a confidential attribute of an existing or new object. |`INSUFF_ACCESS_RIGHTS`|
142
-
| 3081 | Add a confidential attribute (or add an object that has confidential attributes). |`INSUFF_ACCESS_RIGHTS`|
144
+
| 3080 | Set a value for a confidential attribute of an existing object. |`INSUFF_ACCESS_RIGHTS`|
145
+
| 3081 | Add an object that has values for confidential attributes. |`INSUFF_ACCESS_RIGHTS`|
143
146
144
-
### Details for Event ID 3079
147
+
### Details of Event ID 3079
145
148
146
149
```output
147
150
Log Name: Directory Service
@@ -156,7 +159,7 @@ Description:
156
159
The directory blocked access to one or more confidential attributes on one or more LDAP search requests because one or more clients were using an unencrypted LDAP connection.
157
160
```
158
161
159
-
### Details for Event ID 3080
162
+
### Details of Event ID 3080
160
163
161
164
```output
162
165
Log Name: Directory Service
@@ -170,7 +173,7 @@ Description:
170
173
The directory blocked one or more LDAP modify requests including changes to one or more confidential attributes because one or more clients were using an unencrypted LDAP connection.
171
174
```
172
175
173
-
### Details for Event ID 3081
176
+
### Details of Event ID 3081
174
177
175
178
```output
176
179
Log Name: Directory Service
@@ -184,6 +187,79 @@ Description:
184
187
The directory blocked one or more LDAP add requests including changes to one or more confidential attributes because one or more clients were using an unencrypted LDAP connection.
185
188
```
186
189
190
+
### How dsHeuristics affects the encrypted session requirements and related events
191
+
192
+
It's possible (for example, in testing scenarios) to use the `dsHeuristics` attribute to modify the requirements for encrypted sessions. For example, if you configure `dsHeuristics` to disable the encrypted session requirement for searching confidential attributes, searches that use non-encrypted sessions successfully return both non-confidential and confidential results. Event ID 3079 doesn't appear in the event log.
193
+
194
+
The `dsHeuristics` value is a string in which individual characters or sets of characters reflect parameter values. The 31st character represents the value of `DisableConfidentialAttributeEncryptionRequirements`. This value ranges from **0** (all the encrypted session requirements are enforced) to **7** (all the encrypted session requirements are disabled). For example, **0000000001000000000200000000037** is a `dsHeuristics` value that disables all the encrypted session requirements. `DisableConfidentialAttributeEncryptionRequirements` is a three-bit value. The following table describes how the values correlate to the encrypted session requirements.
195
+
196
+
| Affected requirement | Bit | Not set (default) | Set (integer value) |
| Encrypted session required to add an object that has confidential attribute values | 2 |**0** (enforced) |**4** (disabled) |
201
+
202
+
For more information about `dsHeuristics`, see [6.1.1.2.4.1.2 dSHeuristics](/openspecs/windows_protocols/ms-adts/e5899be4-862e-496f-9a38-33950617d2c5).
203
+
204
+
When AD DS starts, it checks `dsHeuristics`. If any of the encrypted session requirements are disabled, it logs the appropriate events to document that fact. The following table lists these events, the corresponding disabled requirements, and the events that the `dsHeuristics` setting suppresses.
205
+
206
+
| Event ID | Effects of the corresponding `dsHeuristic` setting | Suppressed Event ID |
207
+
| --- | --- | --- |
208
+
| 3076 | Encrypted sessions aren't required for searches of confidential attributes | 3079 |
The directory has been configured to return confidential attributes for LDAP search requests on unencrypted LDAP connections. No events will be logged and no requests will be blocked.
225
+
226
+
This setting is not secure and should only be used as a temporary step.
The directory has been configured to allow modifying confidential attributes on unencrypted LDAP connections. No events will be logged and no requests will be blocked.
242
+
243
+
This setting is not secure and should only be used as a temporary step.
The directory has been configured to allow adding new objects with confidential attributes on unencrypted LDAP connections. No events will be logged and no requests will be blocked.
259
+
260
+
This setting is not secure and should only be used as a temporary step.
261
+
```
262
+
187
263
### Deeper investigation
188
264
189
265
[!INCLUDE [Registry important alert](../../../includes/registry-important-alert.md)]
0 commit comments