<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hello,<div class=""><br class=""></div><div class="">I am new to Shibboleth IDP and have questions related to session clustering. Requesting for expert’s opinion / help</div><div class=""><br class=""></div><div class=""><b class=""><u class="">My Current Set-up : </u></b> </div><div class=""><br class=""></div><div class="">> Deployment: F5 LB VIP (<a href="http://idp.example.com" class="">idp.example.com</a>) ; IDP1 (<a href="http://server1.example.com" class="">server1.example.com</a>) ; IDP2 (<a href="http://server2.example.com" class="">server2.example.com</a>)</div><div class="">> IDP Servers: Apache HTTP Server <=> Tomcat Container</div><div class="">> Clustering: IDP Nodes are independent and are not clustered; LB is set-up in Active:Passive configuration</div><div class="">> Cookie Encryption SecretKey are not shared between the IDP nodes</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><b class=""><u class="">Behavior I am noticing:</u></b></div><div class=""><br class=""></div><div class="">1) Access an IDP Init SSO URL (<a href="https://idp.example.com/idp/profile/SAML2/Unsolicited/SSO?providerId=XXX" class="">https://idp.example.com/idp/profile/SAML2/Unsolicited/SSO?providerId=XXX</a>). </div><div class="">2) Perform user authentication and got the IDP Session established in IDP1</div><div class="">2) Shutdown IDP1 thereby letting the traffic go to IDP2</div><div class="">3) In same browser, access the IDP Init SSO URL again that goes to IDP2 via the F5</div><div class="">4) Getting seamless SSO (without user authentication)</div><div class="">Additionally</div><div class="">5) Override DNS resolver in localhost file by adding a server from completely a different IDP (lets say IDPx) environment to resolve to “<a href="http://idp.example.com" class="">idp.example.com</a>”</div><div class="">6) In same browser, a<span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">ccess the IDP Init SSO URL again that resolves to this new IDPx</span></div><div class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">7) </span><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">Getting seamless SSO (without user authentication)</span></div><div class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><br class=""></span></div><div class=""><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=""><u class="">NOTE</u>: </span><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class="">My datasealer store password is common across all IDPs</span></div><div class=""><br class=""></div><div class=""><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class=""><b class=""><u class="">What I read and understood:</u></b></span></font></div><div class=""><font color="#000000" class=""><span style="caret-color: rgb(0, 0, 0);" class=""><br class=""></span></font></div><div class=""><font color="#000000" class="">From this IDPv3 Clustering link - <a href="https://wiki.shibboleth.net/confluence/display/IDP30/SecretKeyManagement" style="caret-color: rgb(0, 0, 0);" class="">https://wiki.shibboleth.net/confluence/display/IDP30/SecretKeyManagement</a>, all I understood is that the IDP nodes supports Session HA between nodes only if the Cookie Encryption Secret Key is shared between the IDP nodes that are required to be in a cluster. Else my understanding is - a user will be forced to re-authenticate when another node takes the request in spite of having a valid session cookie</font></div><div class=""><br class=""></div><div class=""><font color="#000000" class=""><b class=""><u class="">Questions:</u></b></font></div><div class=""><font color="#000000" class=""><br class=""></font></div><div class=""><font color="#000000" class="">1) <span style="caret-color: rgb(0, 0, 0);" class="">Is this behavior expected ? Am I missing something ?</span></font></div><div class=""><font color="#000000" class="">2) If yes, </font></div><div class=""><font color="#000000" class=""><span class="Apple-tab-span" style="white-space:pre">      </span>a) then, what is the need for sharing the secret key between IDP nodes ? </font></div><div class=""><font color="#000000" class=""><span class="Apple-tab-span" style="white-space:pre"> </span>b) is this a good security (especially the behavior #5 to 7)</font></div><div class=""><font color="#000000" class="">3) If no,</font></div><div class=""><font color="#000000" class=""><span class="Apple-tab-span" style="white-space:pre">       </span>a) what could be the reason for this behavior ?</font></div><div class=""><font color="#000000" class=""><span class="Apple-tab-span" style="white-space:pre">     </span>b) should I consider having different passwords between IDP environments ?</font></div><div class=""><span style="color: rgb(0, 0, 0);" class=""><br class=""></span></div><div class=""><span style="color: rgb(0, 0, 0);" class="">Please help me understand !</span></div></body></html>