Setting the SameSite Attribute
To help prevent cross-site request forgery attacks, the default SameSite attribute on the session server cookie has been updated from None (less restrictive) to Lax (more restrictive).
With the attribute set to Lax, the session server cookie will not be sent on cross-site requests as is often the case with the JavaScript SDK and in SAML authentication.
This change affects two areas of HACloud:
- The JavaScript SDK and
- SAML authentication behind a load balancer
In these cases you'll need to adjust the attribute value to None.
-
Open the Administrative Console, and launch Cluster Management.
-
Click Services and locate the
hacloud-session-server
service. -
Open the Edit Properties option from the menu.
-
Add a new property:
- Name -
samesite.cookie.attribute
- Value -
none
- Name -
-
Click OK.
-
From the same menu associated with the
hacloud-session-server service
, choose Redeploy All. Click Yes when prompted. Wait for the session servers to redeploy.
Setting the SameSite attribute for a multi-node cluster
Additional configuration is needed when using the JavaScript SDK with a multi-node (multiple session servers) cluster. The SameSite attribute must also be configured for the session server load balancer cookie.
-
Follow step 1 above.
-
Click Advanced from the left pane.
-
Enable the Kubernetes Dashboard. This may take several seconds.
-
Copy the Authentication Token using the copy icon .
-
Launch the Kubernetes Dashboard using the Kubernetes Dashboard URL.
-
Paste the Authentication Token you copied to the clipboard, and click Sign In.
-
Under Service in the left pane, click Services.
-
Locate (you may need to scroll) and open the hacloud-session-server-lb service.
-
On the
hacloud-session-server-lb
service page, click to edit the service. -
In the Edit Resource dialog box, locate the annotations section near the top of the file. Change the samesite annotation,
traefik.ingress.kubernetes.io/service.sticky.cookie.samesite: none
, fromlax
tonone
. -
Click Update. On the
hacloud-session-server-lb
service page, verify that thetraefik.ingress.kubernetes.io/service.sticky.cookie.samesite
annotation shows the new value. -
Sign out and close the Kubernetes Dashboard and the Administrative Console.