Access Manager
From ZENWorks Wiki
I plan to create a NAM3 and Federation Document. Here is my outline
What is Novell Access Manager 3
Access Manager deployments typically use Identity Servers and Access Gateways to provide policy-driven access control for HTTP services. For non-HTTP services, Access Manager provides secure VPN and J2EE Agent components. You can use the Access Gateway on both NetWare® (soft appliance) or Linux.
Identity federation is the association of accounts between an identity provider and a service provider. As shown in Figure 1-2, an employee named Steve is known as steve.s at his corporate identity provider. He has an account at a work-related service provider called 401k, which has set up a trust relationship with his company. At 401k he is known as ssmith_01.
An Access Gateway provides secure access to existing HTTP-based Web servers. It provides the typical security services (authorization, single sign-on, and data encryption) previously provided by Novell iChain, and is integrated with the new identity and policy services of Access Manager.
Basic Concepts
The following figure illustrates the components and process flow that make up a basic configuration.
For a basic Access Manager installation, you can install the Identity Server and the Access Gateway outside your firewall.
An advanced network configuration assumes that you want fault tolerance, so you will install clusters of Access Gateways and Identity Servers. It also assumes that your network has at least two firewalls, one that separates external clients from your network and one that separates internal clients from some components of your network.
Basic Installation
Firewall Requirements
The firewall requirements depend on the placement of the NAM boxes. If all the NAM boxes are located within the same subnet and firewall rules, setup is very simple. If multiple firewalls exist, then several rules must be created to all traffic between all the boxes, the user, and the user store.
I have uploaded a spreadsheet to hopefully make firewall requests easier.
Federation Using SAML or Liberty
Requirements an preparing
- Federation Type
- Binding Type
- Attributes or Information required by the other part regarding the user being federated
- Defining the SOAP message
- How will METADATA be shared.
- SP Certificates
- Certificate Authorities: Must the certificates be signed by a trusted authority?
- Binding EndPoints
General NAM3 Administrative Tasks and Tweaks
- Interesting pages and logs tidbits can be found Here
"com.volera.vcdn.excomm.keystore :: /var/opt/novell/novlwww/devman.keystore"
Customizing login and Logout Pages
Logging In to the User Portal
Users can log directly into the Identity Server when they enter the Base URL of the Identity Server in their browsers. For example, if your base URL is http://bfrei.provo.novell.com:8080/nidp, entering this URL prompts the user to authenticate with the credentials required for the default contract.
Note: Be VERY careful about changing folder or file permissions. Using rsync, ssh, or any other file copy protocol will change the permissions on the folder and then break NAM.
Custom Login Pages can be used per Reverse Proxy. This means that each reverse proxy or path can have it's own custom login page. This is accomplished by specifying a property and value in an authentication contract.
Novell Docs, Creating contracts
Issues with custom pages
- Sometimes tomcat will not recompile the JSP because it believes the compiled version and the jsp version match. The compiled version and be deleted and tomcat will recompile the JSP the next time the JSP file is requested. Delete the equivalent class and java files from /var/opt/novell/tomcat4/work/Standalone/localhost/nidp/jsp/
Configuring a form to send information to the IDP
You can have a form on a page, that doesn't exist behind the Access Gateway, send the information to the IDP and then be passed to the final destination.
Layer 4 Switching Load Balancing Access Gateways (LAG)
| FIXME: Need to add information here |
Layer 4 switches ca be used to load-balance or provide fault-tolerance For NAM3 Access Gateways.
An example of this concept Here the content switch is not rewriting the source packet. So the packet appears to come from the originating device, not from the content switch.
Here the content switch is rewriting the source packet. So the packet appears to come from the content switch, not the originating device.
Details for Layer 4 switches in front of the Access Gateways
Monitoring NAM Health
NAM provides monitoring by SNMP or syslog
IDP on 443 Instead of 8443
38.3 Translating the Identity Server Configuration Port
http://www.novell.com/documentation/novellaccessmanager/adminguide/data/b6fyxpk.html
iptables -t nat --flush
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 10.0.0.0:8443
To accommodate all network interfaces
iptables -t nat --flush
iptables -t nat -A PREROUTING -i 'any' -p tcp --dport 443 -j DNAT --to 10.0.0.0:8443
Form Fill
- set the “LOG_LEVEL” entry from 5(default) to 7 in the
/etc/laglogs.conf file
- run Linux:> tail -f /var/log/ics_dyn.log
Federation Tweaks and Settings
Disable CRL OCSP checks
IDP may fail to load a Trusted Service Provider configuration when validating the certificates specified in the METADATA. This is could be because when loading the configuration the certificate Revoke List is checked. You might see the following message in the catalina.out log or in<amLogEntry> 2008-07-22T21:09:35Z SEVERE NIDS Application: AM#100100001: AMDEVICEID#B7B9179031009DDD: Loading Trusted ProviderIn testing environments, you can now disable OCSP/CRL checks for server certificates by setting the Java* property
.JAVA_OPTS="${JAVA_OPTS} -Dcom.novell.nidp.serverOCSPCRL=false"For production, make sure that the IDP can access the CRL list. This is noted in catalina.out.
You can use wget to test this From the IDP console, issue the following command.Linux:> wget crl.versign.com/server.crl
Authorization Policies
Require specific LDAP OU
You can allow users access to a specific path in a resources if they exist in a specific Organizational Unit in the LDAP source.
Configure an Authorization Policy
Specify a path in the protected resource that should be protected
Apply the authorization policy to the path in the protected resource
Require specific LDAP attribute to be populated
For a customer, I had to write an authorization policy that required a specific attribute to be populated when the user authenticated to NAM. If the attribute wasn't populated, we would redirect the user to a tomcat servlet page that would then ask the user for specific information which would then populate the ldap attribute.
So I created an Authorization Policy that looked for a specific LDAP attribute and used a regex string to make sure that the attribute matched (Contained) any "alpha" letter. The trick here was that if the LDAP attribute didn't exist at all, java throw an exception (Correctly) and the policy never was acted on. Changing the policy "On Error" action resolved this. So now the policy evaluates if the attribute doesn't exist or just doesn't contain any data. Here's a screen-shot of the policy.
Here's what the trace looked like in the catalina.out log on the LAG after enabling logging at the IDP. Note the Throwing data unavailable response error, this was the key to me that I needed to change the policy result condition error to true.<amLogEntry> 2008-11-20T22:05:58Z INFO NIDS Application: AM#501101052: AMDEVICEID#esp-378BA0D708C4A1A1: AMAUTHID#8C38632DE7622692F2430DC065A8E6C0: PolicyID#P40L6486-NP88-23LP-KNKK-069LLLP2L70O: NXPESID#5030: Throwing data unavailable response: Data Item - 6647: Parameter - NEPXurn~3Anovell~3Aldap~3A2006-02~2Fldap~3AUserAttribute~40~40~40~40WSCQLDAPToken~40~40~40~40~2FUserAttribute~5B~40ldap~3AtargetAttribute~3D~22iChainPasswordHint~22~5D </amLogEntry>HTML ReWriter
Rewritting an applications logout URL to logout from NAM
TIDS and Good Links
Logs and File Locatoins
- Great Log for Authentication Issues
- Enbedded Service Provider
/var/opt/novell/tomcat4/logs/catalina.out
- SOAP messages between AG and Embedded Service Provider
/var/log/lagsoapmessages (must be enabled)
- HTTP Headers on the LAG
100101044 and 100101043 errors
Watch
/var/opt/novell/tomcat4/logs/catalina.out on the LAG, you can see the following ERROR if the error is 100101044
<amLogEntry> 2008-03-26T23:55:12Z VERBOSE NIDS IDFF: Send request from ESP to IDP for contract: ecust/name/passwd/form/uri </amLogEntry><amLogEntry> 2008-03-26T23:55:12Z INFO NIDS Application: AM#500105024: AMDEVICEID#esp-5066DE4D82EE3273: AMAUTHID#0650D01E9F4C51DD4DA46E5AEC3F4BF0: ESP is requesting metadata from IDP https://login.novell.com/nidp/idff/metadata </amLogEntry> <amLogEntry> 2008-03-26T23:55:12Z NIDS Trace: Method: URLUtil.connectToURL() <amLogEntry> 2008-03-26T23:55:12Z SEVERE NIDS IDFF: AM#100106001: AMDEVICEID#esp-5066DE4D82EE3273: Unable to load metadata for Embedded Service Provider: https://login.novell.com/nidp/idff/metadata, error: java.security.cert.CertificateException: Untrusted Certificate-chain </amLogEntry>
<amLogEntry> 2008-03-26T23:55:12Z INFO NIDS Application: AM#500105039: AMDEVICEID#esp-5066DE4D82EE3273: AMAUTHID#0650D01E9F4C51DD4DA46E5AEC3F4BF0: Error on session id 0650D01E9F4C51DD4DA46E5AEC3F4BF0, error 100101044-esp-5066DE4D82EE3273, Unable to authenticate. AM#100101044: AMDEVICEID#esp-5066DE4D82EE3273: : Embedded Provider failed to load Identity Provider metadata </amLogEntry>
AGo to certificates and remove the CA from the LAG proxystore, save the changes, then re-add the CA to the proxystoreJaredIn this case, the ROOT CA for login.novell.com was not in the LAG's proxy store, so be deleting the ROOT CA, saving the changes, then re-addding the CA to the proxstore, will cause the ROOT CA to be added to both LAG's certificate store.
Enabling IDP Logging
Set the logging details similar to this.







