Skip to content

Commit e9f539d

Browse files
committed
Tech review new content
1 parent 0e3ad6a commit e9f539d

File tree

1 file changed

+82
-6
lines changed

1 file changed

+82
-6
lines changed

support/windows-server/windows-security/confidential-attributes-unexpected-behavior-using-windows-server-2025-dc.md

Lines changed: 82 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,10 @@ To work around this issue, use one of the following methods:
129129

130130
- 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).
131131

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.
133136
134137
## More information
135138

@@ -138,10 +141,10 @@ Several new Directory Service events document this behavior. The following table
138141
| Event ID | Action that a client attempted during an unencrypted session | User error (returned to the client) |
139142
| --- | --- | --- |
140143
| 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` |
143146

144-
### Details for Event ID 3079
147+
### Details of Event ID 3079
145148

146149
```output
147150
Log Name: Directory Service
@@ -156,7 +159,7 @@ Description:
156159
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.
157160
```
158161

159-
### Details for Event ID 3080
162+
### Details of Event ID 3080
160163

161164
```output
162165
Log Name: Directory Service
@@ -170,7 +173,7 @@ Description:
170173
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.
171174
```
172175

173-
### Details for Event ID 3081
176+
### Details of Event ID 3081
174177

175178
```output
176179
Log Name: Directory Service
@@ -184,6 +187,79 @@ Description:
184187
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.
185188
```
186189

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) |
197+
| --- | --- | --- | --- |
198+
| Encrypted session required to search confidential attribute values | 0 | **0** (enforced) | **1** (disabled) |
199+
| Encrypted session required to modify existing confidential attribute values | 1 | **0** (enforced) | **2** (disabled) |
200+
| 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 |
209+
| 3077 | Encrypted sessions aren't required to modify existing confidential attributes | 3080 |
210+
| 3078 | Encrypted sessions aren't required to add objects that have confidential attributes | 3081 |
211+
212+
#### Details for Event ID 3076
213+
214+
```output
215+
Log Name: Directory Service
216+
Source: Microsoft-Windows-ActiveDirectory_DomainService
217+
Event ID: 3076
218+
Task Category: Security
219+
Level: Warning
220+
Keywords: Classic
221+
User: contoso\admin
222+
Computer: dc25.contoso.com
223+
Description:
224+
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.
227+
```
228+
229+
#### Details of Event ID 3077
230+
231+
```output
232+
Log Name: Directory Service
233+
Source: Microsoft-Windows-ActiveDirectory_DomainService
234+
Event ID: 3077
235+
Task Category: Security
236+
Level: Warning
237+
Keywords: Classic
238+
User: contoso\admin
239+
Computer: dc25.contoso.com
240+
Description:
241+
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.
244+
```
245+
246+
#### Details of Event ID 3078
247+
248+
```output
249+
Log Name: Directory Service
250+
Source: Microsoft-Windows-ActiveDirectory_DomainService
251+
Event ID: 3078
252+
Task Category: Security
253+
Level: Warning
254+
Keywords: Classic
255+
User: contoso\admin
256+
Computer: dc25.contoso.com
257+
Description:
258+
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+
187263
### Deeper investigation
188264

189265
[!INCLUDE [Registry important alert](../../../includes/registry-important-alert.md)]

0 commit comments

Comments
 (0)