@@ -16,6 +16,7 @@ answers for frequently asked questions.
1616* <<trb-security-maccurl>>
1717* <<trb-security-sslhandshake>>
1818* <<trb-security-ssl>>
19+ * <<trb-security-kerberos>>
1920* <<trb-security-internalserver>>
2021* <<trb-security-setup>>
2122
@@ -343,6 +344,77 @@ In this case, you must install the
343344<<ciphers, JCE Unlimited Strength Jurisdiction Policy Files>>.
344345--
345346
347+ [[trb-security-kerberos]]
348+ === Common Kerberos exceptions
349+
350+ *Symptoms:*
351+
352+ * User authentication fails due to either GSS negotiation failure
353+ or a service login failure (either on the server or in the {es} http client).
354+ Some of the common exceptions are listed below with some tips to help resolve
355+ them.
356+
357+ *Resolution:*
358+
359+ `Failure unspecified at GSS-API level (Mechanism level: Checksum failed)`::
360+ +
361+ --
362+
363+ When you see this error message on the HTTP client side, then it may be
364+ related to an incorrect password.
365+
366+ When you see this error message in the {es} server logs, then it may be
367+ related to the {es} service keytab. The keytab file is present but it failed
368+ to log in as the user. Please check the keytab expiry. Also check whether the
369+ keytab contain up-to-date credentials; if not, replace them.
370+
371+ You can use tools like `klist` or `ktab` to list principals inside
372+ the keytab and validate them. You can use `kinit` to see if you can acquire
373+ initial tickets using the keytab. Please check the tools and their documentation
374+ in your Kerberos environment.
375+
376+ Kerberos depends on proper hostname resolution, so please check your DNS infrastructure.
377+ Incorrect DNS setup, DNS SRV records or configuration for KDC servers in `krb5.conf`
378+ can cause problems with hostname resolution.
379+
380+ --
381+
382+ `Failure unspecified at GSS-API level (Mechanism level: Request is a replay (34))`::
383+
384+ `Failure unspecified at GSS-API level (Mechanism level: Clock skew too great (37))`::
385+ +
386+ --
387+
388+ To prevent replay attacks, Kerberos V5 sets a maximum tolerance for computer
389+ clock synchronization and it is typically 5 minutes. Please check whether
390+ the time on the machines within the domain is in sync.
391+
392+ --
393+
394+ As Kerberos logs are often cryptic in nature and many things can go wrong
395+ as it depends on external services like DNS and NTP. You might
396+ have to enable additional debug logs to determine the root cause of the issue.
397+
398+ {es} uses a JAAS (Java Authentication and Authorization Service) Kerberos login
399+ module to provide Kerberos support. To enable debug logs on {es} for the login
400+ module use following Kerberos realm setting:
401+ [source,yaml]
402+ ----------------
403+ xpack.security.authc.realms.<realm-name>.krb.debug: true
404+ ----------------
405+
406+ For detailed information, see {ref}/security-settings.html#ref-kerberos-settings[Kerberos realm settings].
407+
408+ Sometimes you may need to go deeper to understand the problem during SPNEGO
409+ GSS context negotiation or look at the Kerberos message exchange. To enable
410+ Kerberos/SPNEGO debug logging on JVM, add following JVM system properties:
411+
412+ `-Dsun.security.krb5.debug=true`
413+
414+ `-Dsun.security.spnego.debug=true`
415+
416+ For more information about JVM system properties, see {ref}/jvm-options.html[configuring JVM options].
417+
346418[[trb-security-internalserver]]
347419=== Internal Server Error in Kibana
348420
0 commit comments