|
4 | 4 | <qhelp>
|
5 | 5 |
|
6 | 6 | <overview>
|
7 |
| -<p>Java versions 8u181 or greater have enabled LDAPS endpoint identification by default. Nowadays infrastructure services like LDAP are commonly deployed behind load balancers therefore the LDAP server name can be different from the FQDN of the LDAPS endpoint. If a service certificate does not properly contain a matching DNS name as part of the certificate, Java will reject it by default.</p> |
8 |
| -<p>Instead of addressing the issue properly by having a compliant certificate deployed, frequently developers simply disable the LDAPS endpoint check.</p> |
9 |
| -<p>Failing to validate the certificate makes the SSL session susceptible to a man-in-the-middle attack. This query checks whether the LDAPS endpoint check is disabled in system properties.</p> |
| 7 | +<p>Java versions 8u181 or greater have enabled LDAPS endpoint identification by default. Nowadays |
| 8 | + infrastructure services like LDAP are commonly deployed behind load balancers therefore the LDAP |
| 9 | + server name can be different from the FQDN of the LDAPS endpoint. If a service certificate does not |
| 10 | + properly contain a matching DNS name as part of the certificate, Java will reject it by default.</p> |
| 11 | +<p>Instead of addressing the issue properly by having a compliant certificate deployed, frequently |
| 12 | + developers simply disable the LDAPS endpoint check.</p> |
| 13 | +<p>Failing to validate the certificate makes the SSL session susceptible to a man-in-the-middle attack. |
| 14 | + This query checks whether the LDAPS endpoint check is disabled in system properties.</p> |
10 | 15 | </overview>
|
11 | 16 |
|
12 | 17 | <recommendation>
|
13 |
| -<p>Replace any non-conforming LDAP server certificates to include a DNS name in the subjectAltName field of the certificate that matches the FQDN of the service.</p> |
| 18 | +<p>Replace any non-conforming LDAP server certificates to include a DNS name in the subjectAltName field |
| 19 | + of the certificate that matches the FQDN of the service.</p> |
14 | 20 | </recommendation>
|
15 | 21 |
|
16 | 22 | <example>
|
17 |
| -<p>The following two examples show two ways of configuring LDAPS endpoint. In the 'BAD' case, |
18 |
| -endpoint check is disabled. In the 'GOOD' case, endpoint check is left enabled through the default Java configuration.</p> |
| 23 | +<p>The following two examples show two ways of configuring LDAPS endpoint. In the 'BAD' case, |
| 24 | + endpoint check is disabled. In the 'GOOD' case, endpoint check is left enabled through the |
| 25 | + default Java configuration.</p> |
19 | 26 | <sample src="InsecureLdapEndpoint.java" />
|
20 |
| -<sample src="InsecureLdapEndpoint2.java" />> |
| 27 | +<sample src="InsecureLdapEndpoint2.java" /> |
21 | 28 | </example>
|
22 | 29 |
|
23 | 30 | <references>
|
|
0 commit comments