依預設,當您於信任的環境中建立多個策略代理程式時,策略代理程式包含相同的 UID 與密碼。因為共用 UID 與密碼,Access Manager 無法分辨代理程式,其使得階段作業保持開啟狀態可能被截取資訊。
當 [識別提供者] 提供有關為協力廠商或企業中未授權群組所開發的應用程式 (或 [服務提供者]) 之使用者的認證、授權與設定檔資訊時,此弱點可能顯現。可能的安全性問題是:
所有應用程式會共用相同的 http 階段作業 cookie。這樣有可能會使得惡意的應用程式奪取階段作業 cookie 並於另一個應用程式中假冒使用者。
若應用程式並未使用 https 協定,階段作業 cookie 容易遭到網路竊聽。
只要有一個應用程式可被奪取,整個基礎架構的安全性就有受到危害的風險。
惡意的應用程式可使用階段作業 cookie 來取得使用者的設定檔屬性並有可能進行修改。若使用者擁有管理權限,應用程式將可能造成更大的災害。
使用 Access Manager 管理控制台為每個代理程式建立項目。
執行下列於建立代理程式期間輸入的密碼指令。應在安裝代理程式的主機上呼叫此命令。
AccessManager-base/SUNWam/agents/bin/crypt_util agent123
如此將提供下列輸出:
WnmKUCg/y3l404ivWY6HPQ==
變更 AMAgent.properties 以反映新值,然後重新啟動代理程式。範例:
# The username and password to use for the Application authentication module. com.sun.am.policy.am.username = agent123 com.sun.am.policy.am.password = WnmKUCg/y3l404ivWY6HPQ== # Cross-Domain Single Sign On URL # Is CDSSO enabled. com.sun.am.policy.agents.cdsso-enabled=true # This is the URL the user will be redirected to after successful login # in a CDSSO Scenario. com.sun.am.policy.agents.cdcservletURL = http://server.example.com:port /amserver/cdcservlet
變更安裝 Access Manager 所在的 AMConfig.properties 以反映新值,然後重新啟動 Access Manager。範例:
com.sun.identity.enableUniqueSSOTokenCookie=true com.sun.identity.authentication.uniqueCookieName=sunIdentityServerAuthNServer com.sun.identity.authentication.uniqueCookieDomain=.example.com
於 Access Manager 主控台中,選取 [配置] > [平台]。
在 [Cookie 網域] 清單中,變更 Cookie 網域名稱: