-
If you are installing from a zip file then by default there will be an install root directory of keycloak-26.0.5
, which can be created anywhere you choose on your filesystem.
+
If you are installing from a zip file then by default there will be an install root directory of keycloak-26.0.6
, which can be created anywhere you choose on your filesystem.
@@ -87,7 +87,7 @@ Installation Locations
-in the rest of documentation relative paths are understood to be relative to the install root - e.g. conf/file.xml means <install root>/conf/file.xml
+In the rest of the documentation, relative paths are understood to be relative to the install root - for example, conf/file.xml means <install root>/conf/file.xml
|
diff --git a/server/reverseproxy.html b/server/reverseproxy.html
index 1aec4a9a5a00..8b8b389e57f2 100644
--- a/server/reverseproxy.html
+++ b/server/reverseproxy.html
@@ -217,7 +217,7 @@
Enable sticky sessions
From this point, it is beneficial if load balancer forwards all the next requests to the node2 as this is the node, who is owner of the authentication session with ID 123 and hence Infinispan can lookup this session locally. After authentication is finished, the authentication session is converted to user session, which will be also saved on node2 because it has same ID 123 .
-
The sticky session is not mandatory for the cluster setup, however it is good for performance for the reasons mentioned above. You need to configure your loadbalancer to sticky over the AUTH_SESSION_ID cookie. How exactly do this is dependent on your loadbalancer.
+
The sticky session is not mandatory for the cluster setup, however it is good for performance for the reasons mentioned above. You need to configure your loadbalancer to stick over the AUTH_SESSION_ID cookie. The appropriate procedure to make this change depends on your loadbalancer.
If your proxy supports session affinity without processing cookies from backend nodes, you should set the spi-sticky-session-encoder-infinispan-should-attach-route
option
@@ -349,6 +349,51 @@
Enabling client certificate lookup<
When the proxy is configured as a TLS termination proxy the client certificate information can be forwarded to the server through specific HTTP request headers and then used to authenticate
clients. You are able to configure how the server is going to retrieve client certificate information depending on the proxy you are using.
+
+
+
+
+
+ |
+
+
+ Client certificate lookup via a proxy header for X.509 authentication is considered security-sensitive. If misconfigured, a forged client certificate header can be used for authentication.
+Extra precautions need to be taken to ensure that the client certificate information can be trusted when passed via a proxy header.
+
+
+
+-
+
Double check your use case needs reencrypt or edge TLS termination which implies using a proxy header for client certificate lookup. TLS passthrough is recommended as a more secure option
+when X.509 authentication is desired as it does not require passing the certificate via a proxy header. Client certificate lookup from a proxy header is applicable only to reencrypt
+and edge TLS termination.
+
+-
+
If passthrough is not an option, implement the following security measures:
+
+
+-
+
Configure your network so that Keycloak is isolated and can accept connections only from the proxy.
+
+-
+
Make sure that the proxy overwrites the header that is configured in spi-x509cert-lookup-<provider>-ssl-client-cert option.
+
+-
+
Keep in mind that any of the spi-x509cert-* options don’t reflect the proxy-trusted-addresses option.
+
+-
+
Pay extra attention to the spi-x509cert-lookup-<provider>-trust-proxy-verification setting. Make sure you enable it only if you can trust your proxy to verify the client certificate.
+Setting spi-x509cert-lookup-<provider>-trust-proxy-verification=true without the proxy verifying the client certificate chain will expose Keycloak to security vulnerability
+when a forged client certificate can be used for authentication.
+
+
+
+
+
+
+ |
+
+
+
The server supports some of the most commons TLS termination proxies such as:
diff --git a/server/vault.html b/server/vault.html
index d1bab1191466..376ef27e1313 100644
--- a/server/vault.html
+++ b/server/vault.html
@@ -151,34 +151,6 @@
Realm-specific secret files