blob: 6d8cf91dfb1414abed8e16dc3e1922c1a510d138 [file] [log] [blame]
--------------------------------------------------------------
JoshuaTree Fortress Websphere UserRegistry Setup Notes
created: June 5, 2011
last updated: June 5, 2011
--------------------------------------------------------------
###################################################################################
# Guidelines & Tips
###################################################################################
- In the document that follows, replace "[version]" with Fortress version label.
For example - if Fortress 1.0 release, change fortressProxyWebsphere-[version].jar to fortressProxyWebsphere-1.0.jar
- Restart Websphere server after any changes to Websphere config, Fortress config or lib files.
- You (usually) do NOT need to restart Websphere after changes to the LDAP data, i.e. users, passwords, roles.
- Steps I - III below are mandatory.
- Step IV is optional, for testing purposes.
- Common misconfiguration issues related to Fortress, LDAP and Websphere are located in section III.
###################################################################################
# I. Instructions to extract Fortress Java Sentry Package to Target System
###################################################################################
a. Copy fortressSentryDist-[version].zip to hard drive on target server
env.
b. Extract the zip. The location for archive can vary according to requirements. The location
for package will be referred to as "FORTRESS_HOME" later in these instructions.
###################################################################################
# II. Instructions to configure Fortress Java Sentry to use Target System LDAP
###################################################################################
Note: the 'dist' ant target on this project will set these properties using build.properties settings.
a. Edit the FORTRESS_HOME properties file located in $FORTRESS_HOME/conf/fortress.properties
b. Set the LDAP Host and port properties:
host=localhost (host or ip)
port=389
c. Set the LDAP admin creds:
admin=cn=Manager\,dc=jts\,dc=com
adminPw=secret
d. Set the LDAP connection pool info:
note: the min/max will vary according to anticipated load on your Websphere server. For busy systems, the max number of
ldap connections may be much higher.
minUserConn=1
maxUserConn=10
minConn=1
maxConn=10
###################################################################################
# III. Instructions to configure Java Sentry for Websphere containers
###################################################################################
a. Load the Proxy jar onto server classpath.
Copy the proxy jar located, FORTRESS_HOME/proxy/fortressProxyWebsphere-[version].jar to the Websphere Server's lib folder.
/opt/IBM/Websphere/AppServer/lib$ sudo cp /home/smckinn/JavaTools/sentry/fortressSentry-[version]/proxy/fortressProxyWebsphere-[version].jar .
note: This is the only Fortress binary or configuration artifact that will reside directly on Websphere's server classpath.
b. Restart the application server.
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/stopServer.sh server1 -profileName AppSrv01
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/startServer.sh server1 -profileName AppSrv01
c. Go to Websphere Admin Console: https://localhost:9043/ibm/console/logon.jsp
d. Navigate to Global Security Page: Security->GlobalSecurity
e. Select dropdown: "Available realm definitions": "Standalone custom registry"
f. Click on "Configure" button
g. Enter "Primary administrative user name": wasadmin
h. Select Radio button: "Server identity that is stored in the repository"
i. Enter in field: "Server user ID or administrative user on a Version 6.0.x node": wasadmin (or whatever you choose as your default console userId).
j. Enter in field: "Password": @dmin123 (or whatever you choose as your default consle user's password)
k. Enter in field: "Information required Custom registry class name": us.jts.sentry.websphere.WsAccessMgrProxy
l. Enable checkbox: "Ignore case for authorization"
m. Enter in field: "Custom properties":
"Name" REALM_CLASSPATH "Value" /home/smckinn/JavaTools/sentry/fortressSentryDist-[version]/conf:/home/smckinn/JavaTools/sentry/fortressSentryDist-[version]/lib/fortressSentry-[version].jar
n. Click on "Apply" button.
o. Click on "Save directly to the master configuration." link.
p. Navigate back to "Global security" page by clicking on link of same name.
q. Enable checkbox: "Enable application security"
r. Do NOT enable: "Use Java 2 security to restrict application access to local resources"
s. For dropdown "Available realm definitions" select: "Standalone custom registry" and click on "Set as current" button.
t. Click on "Apply" button
Note: If you are going to have errors enabling Fortress as security manager, this is where it occurs.
If no errors continue to next step, else go to Troubleshooting section of this document to determine what went wrong.
u. Click on "# Save directly to the master configuration." link.
v. Restart Webshere server:
/opt/IBM/WebSphere/AppServer/bin$ ./stopServer.sh server1 -profileName AppSrv01
/opt/IBM/WebSphere/AppServer/bin$ ./startServer.sh server1 -profileName AppSrv01
w. verify that sentry started successfully by viewing following message in Websphere's log:
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/server1$ tail -f -n10000 SystemOut.log
...
[6/5/11 18:46:16:745 CDT] 00000000 SystemOut O 2011-06-05 18:46:16,744 (INFO ) us.jts.sentry.J2eePolicyMgrImpl - Initialized successfully
[6/5/11 18:46:16:745 CDT] 00000000 WsAccessMgrPr I us.jts.sentry.websphere.WsAccessMgrProxy.initialize - Fortress UserRegistry initialized no errors.
[6/5/11 18:46:16:748 CDT] 00000000 SystemOut O 2011-06-05 18:46:16,748 (INFO ) us.jts.sentry.websphere.WsAccessMgrImpl. J2EE policy agent initialization successful
[6/5/11 18:46:16:759 CDT] 00000000 UserRegistryI A SECJ0136I: Custom Registry:us.jts.sentry.websphere.WsAccessMgrProxy has been initialized
-------------------------------------------
Common troubleshooting tips:
-------------------------------------------
-------------------------------------------------------------------------------------------
i. - Server can't find config files (realmClasspath="/fortressSentry-1.0.0/conf/")
-------------------------------------------------------------------------------------------
ACTION:
Ensure step 3c points to Fortress sentry configuration folder.
-------------------------------------------------------------------------------------------
ii. - Server can't find proxy jar (Sentry className="us.jts.sentry.tomcat.TcAccessMgrProxy")
-------------------------------------------------------------------------------------------
ACTION:
Ensure step 1c copied the Fortress sentry proxy jar to TOMCAT_HOME/lib folder.
-------------------------------------------------------------------------------------------
iii. - Server can't find binaries (realmClasspath="...FORTRESS_HOME/lib/fortressSentry-[version].jar")
-------------------------------------------------------------------------------------------
ACTION:
Ensure step 3c configuration points fortressSentry jar, i.e. FORTRESS_HOME/lib/fortressProxyTomcat[version].jar.
###################################################################################
# IV. Instructions to test Websphere Security
###################################################################################
a. logon to admin console: https://localhost:9043/ibm/console/logon.jsp
b. enter creds: wasadmin/@dmin123
c. verify you get in.