By default, when you create multiple policy agents in a trusted environment, the policy agents contain the same UID and password. Because the UID and passwords are shared, Access Manager cannot distinguish between the agents, which may leave the session cookie open to interception.
The weakness may be present when an Identity Provider provides authentication, authorization and profile information about a user to application(s) (or Service Providers) that are developed by third parties or by unauthorized groups within the enterprise. Possible security issues are:
All applications share the same http session cookie. This makes it possible for a rogue application to hijack the session cookie and impersonate the user to another application.
If the application does not use the https protocol, the session cookie is prone to network eavesdropping.
If just one application can be hacked, the security of the entire infrastructure is in jeopardy of being compromised.
A rouge application can use the session cookie to obtain and possibly modify the profile attributes of a user. If the user has administrative privileges, the application would be able to do a lot more damage.
Use the Access Manager administration console to make an entry for each agent.
Run the following command on the password that was entered during the creation of the agent. This command should be invoked on the host where the agent is installed.
AccessManager-base/SUNWam/agents/bin/crypt_util agent123
This will give the following output:
WnmKUCg/y3l404ivWY6HPQ==
Change AMAgent.properties to reflect the new value, and then and restart the agent. Example:
# 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
Change AMConfig.properties where Access Manager is installed to reflect the new values, and then and restart Access Manager. Example:
com.sun.identity.enableUniqueSSOTokenCookie=true com.sun.identity.authentication.uniqueCookieName=sunIdentityServerAuthNServer com.sun.identity.authentication.uniqueCookieDomain=.example.com
In the Access Manager console, choose Configuration>Platform.
In the Cookie Domains list, change the cookie domain name:
Select the default iplanet.com domain, and then click Remove.
Enter the host name of the Access Manager installation, and then click Add.
Example: server.example.com
You should see two cookies set on the browser:
iPlanetDirectoryPro – server.example.com (hostname)
sunIdentityServerAuthNServer – example.com (hostname)