![]() |
|
Enterprises can tightly secure applications running on the Server using Netegrity SiteMinder solution and have single sign-on capability, using the custom Pramati Application Server Agent for SiteMinder. This replaces the standard procedure provided by Netegrity, which uses its reverse proxy server to intercept, authenticate, authorize, and forward Web requests to the Server. Both scenarios are described in this document.
Note: SiteMinder users can now try the Custom Pramati Application Server Agent.
Table 1: Key Terminologies
| Key Term | Description |
| SiteMinder | Identity Management Solution. |
| Pramati Server | Application Server that processes and serves Web requests. |
| Policy Server | SiteMinder component providing authorization and authentication service to applications. |
| Agent | Web Agent of SiteMinder that authorizes requests for a secured resource and forwards requests to SiteMinder. |
| Custom Agent | Single Custom Pramati Application Server Agent replaces the Agent and Reverse Proxy Server softwares. This component quickly integrates Netegrity SiteMinder with applications running on Pramati Server. |
server_patch.jar).Pramati Server can be integrated with SiteMinder running in the following environment:
SiteMinder has two main components:
The Custom Agent is implemented as a JAAS LoginModule on Pramati Server that hosts resource to be secured. It uses the security interceptor in Pramati Server Web Container that intercepts all requests for secured resources, and determines if SiteMinder is registered to protect a resource.
If yes, the Custom Agent talks to the SiteMinder Policy Server and authenticates the user. If not, the request passes through for regular processing on Pramati Server.
The Custom Agent sets a cookie on the client that allows page content to be personalized. Subsequent requests from the authorized client carry request header parameters set by Pramati Server. The headers includes the following parameters:
This is the basic topology of SiteMinder where all requests from clients are intercepted by a Reverse Proxy Server that is integrated with the SiteMinder Web Agent. The agent then talks with the Policy Server for authenticating the client for accessing the secured resource on some server.
The configuration is simple and requires only SiteMinder changes. This does not involve any configuration on Pramati Server. To configure SiteMinder Web Agent, use the Netegrity Policy Server Administration Tool as detailed below:
web-config.xml in Pramati Server as explained in the Pramati Web container specific configurations shown in the following sections. Also select the check box for Support 4.x Agents.web-config.xml.
Here the reverse proxy server is replaced by Pramati Server that now intercepts all Web requests coming from the client. The following steps assume that SiteMinder is running with the Web Agent type configured, as described in Scenario I: Configuring SiteMinder for Pramati Server. Also, see the software requirements for SiteMinder host environment details:
<install_dir>\server\bin. This is required for applying the Custom Agent jar on an existing Server installation.setup.bat in the directory <install_dir>\server\bin as follows:
set sm =
web-config.xml in the directory <install_dir>\server\nodes\default\config. The complete tags in the XMLs are reproduced in the appendix. Here, the tags are explained in parts for clarity.
security. enabled = true or false determines if the Custom Agent is to be used.can-check-for-protected-resources = true or false. If true, Custom Agent is asked if the resource is secured, which means that any J2EE deployment descriptor-based security constraint will not apply. The Custom Agent will contact SiteMinder or use its configured set of URLs. If false, J2EE security constraint rules apply.can-authorize-roles = true or false. If true, the Custom Agent is responsible also for authorization, not just authentication.classname is the class name of Custom Agent.
agent-name as pramati_agent on SiteMinder. The two names must match.
<entry>
<key>agent-name</key>
<value>pramati_agent</value>
</entry>
The SiteMinder IP address:
<entry>
<key>policy-server-ip</key>
<value>192.168.1.45</value>
</entry>
The minimum number of connections used by SiteMinder:
<entry>
<key>connection-min</key>
<value>1</value>
</entry>
The maximum number of connections used by SiteMinder:
<entry>
<key>connection-max</key>
<value>100</value>
</entry>
The increment value for connections to be used by SiteMinder:
<entry>
<key>connection-step</key>
<value>1</value>
</entry>
The timeout value for the connections to be used by SiteMinder:
<entry>
<key>timeout</key>
<value>20</value>
</entry>
SiteMinder's authorization port:
<entry>
<key>authorization-port</key>
<value>44443</value>
</entry>
SiteMinder's authentication port:
<entry>
<key>authentication-port</key>
<value>44442</value>
</entry>
SiteMinder's accounting port:
<entry>
<key>accounting-port</key>
<value>44441</value>
</entry>
<entry>
<key>shared-secret</key>
<value>pramati</value>
</entry>
<entry>
<key>realm-name</key>
<value>siteminder</value>
</entry>
<entry>
<key>single-sign-on-cookie-domain</key>
<value>.pramati.com</value>
</entry>
<entry>
<key>protected-resources</key>
<value>/jspDeskWeb/numguess.jsp;/jspDeskWeb/gameofeight.jsp</value>
</entry>
</details>
</security-interceptor-webagent>
security-config.xml located in the directory <install_dir>/server/nodes/default/config:
<realm>
<!-- Name of the realm -->
<realm-name>siteminder</realm-name>
</user-manager>
....
</realm>
com.pramati.services.security.spi.UserManager.
<class-name>com.pramati.security.loginmodules.xml.XMLUserManager</class-name>
...
...
<init-options>
<entry>
<name>securityXML</name>
<value>$NODE_DIR\config\system-security1.xml</value>
</entry>
<entry>
<name>algotype</name>
<value>encrypt</value>
</entry>
<entry>
<name>algoname</name>
<value>DES</value>
</entry>
</init-options>
</user-manager>
</realm>
security-config.xml:
<login-module-configuration>
<!--Realm name for which this login module will be used.-->
<realm-name>siteminder</realm-name>
<!--Configuration for this login module.-->
<config-entry>
<!--LoginModule class to be used for authentication.-->
<class-name>com.pramati.web.sso.siteminder.SiteMinderLoginModule</class-name>
<!--Flag for the LoginModule:-->
<flag>optional</flag>
</config-entry>
</login-module-configuration>
system-security.xml from the <install_dir>\templates to $NODE_DIR\config\ and rename to system-security1.xml.
To verify the SiteMinder configuration, check the Server log for the string Pramati Application Server Agent for SiteMinder installation successful.
The log is located under <install_dir>\server\nodes\<node_name>\logs\servermsg\.
Related Topics:
| © Pramati Technologies 2007 | Runs on Pramati Server | Feedback | Legal |