After you access the Digital Airlines site as a public resource (see Section 6.3, Configuring Public Access to Digital Airlines), you can configure the site for authentication and authorization requirements. This section describes the following tasks:
After hiding the internal Web server behind the Access Gateway, you can add an authentication method to the Web site by using the following procedure:
In the Administration Console, click
> > .Click
> > > .In the
field, select .IMPORTANT:Make sure to select the
from the drop-down menu. does not work correctly if the base URL for the Identity Server is HTTP.Click
to return to the Protected Resources page.Click
> , then click > .This pushes the new configuration to the server. When the configuration process is complete, the status returns to
.To test the results, open a browser and enter the URL of your Web site.
The Web site should now be protected and require you to log in by using a name and password.
Enter the credentials of the admin user of your Administration Console.
The Digital Airlines site appears. If you receive an error, see Common Authentication Problems.
Close all sessions of the browser.
The Digital Airlines page has a logout graphic, but it isn’t an action. The current session is active until you log out (which isn’t possible), until the session times out (the default value is 20 minutes), or you close all sessions of the browser.
Continue with Section 6.4.2, Configuring a Role-Based Policy.
In this basic configuration there are two common configuration errors that can cause login to fail:
Error 300101015: If your Access Gateway and Identity Server do not have the same time, the assertion is invalid. Check the time of each machine.
Errors 100101043 and 100101044: The Identity Server and the Access Gateway need to be able to resolve each other’s DNS names. If you are in a lab and not using a DNS server, make sure the host files of each machine have been configured to resolve the DNS name to the IP address of the device.
The other cause for these errors, when SSL has not been enabled, is the failure to update either the Identity Server or the Access Gateway after making a change to the base URL of the Identity Server or modifying the Identity Server the Access Gateway is trusting for authentication. For information on how to force the Access Gateway to update the metadata for the Identity Server, see Embedded Service Provider Metadata
in the Novell Access Manager 3.1 SP2 Identity Server Guide.
Previously in the Digital Airlines example, you learned how to set up and configure Access Manager to protect a basic Web service. Access Manager also uses role-based access control (RBAC) to conveniently assign a user to a particular job function or set of permissions within an enterprise, in order to control access.
Access Manager enables you to assign roles to users, based on attributes of their identity, and then associate policies with the roles. In designing your own actual production environment, you need to decide which roles you need (such as, sales, administrative, and accounting). You create Role policies that assign the roles to your users, and then you create Authorization and Identity Injection policies that use the roles to control access.
This section explains how to set up an Identity Injection policy that customizes the main page of the Digital Airlines site. When the index.php page has access to the user’s name, the main page displays the name. If the user belongs to the sales_role role, the
button is displayed on the page.To configure an Identity Injection policy that uses a role, complete the following tasks:
The LDAP attribute that is added in this section is an LDAP attribute assigned to the User class in eDirectory. This attribute is used to assign users to the sales role.
In the Administration Console, click
> , then click > .In the description in the field, then click .
section, click , typeThis adds the description attribute to the policy list of available LDAP attributes, and you can use this attribute to assign a role to your users.
Click
.Continue with Creating a Sales Role.
Use the following procedure to create a sales role for the Digital Airlines example. (For more information about Role policies, see Creating Role Policies
in the Novell Access Manager 3.1 SP2 Policy Guide.)
In the Administration Console, click
> then click > .In the
section, clickIn the
section, click then fill in the following fields:Name: Specify
.Type: Select
.Click
to open the policy editor.In
, click > , and assign the following values:Comparison: Select
.Mode: Select
.Value: Select Sales as the value.
(from the drop-down box); specifyResult on Condition Error: Select
If the
attribute is not listed in the drop-down menu, create it by following this procedure:In
, click > , scroll to the bottom of the list, then click .In the
field, specify , then click .In the
field, select from the drop-down menu.In the sales_role in the field. Your rule should look similar to the following:
section, click , then specifyThe value for
might be case sensitive. If you are going to inject this role into a policy for a Web server, and the page on the Web server is configured so that it evaluates case, make sure the value entered here matches what is expected on the Web server. The button on the Digital Airlines site requires that this value be lowercase: sales_role.Click
to close the Rule editor, then click to close the .To save the Role policy, click
, then click to return to the .In the
, select then click .Click
.Update the Identity Server.
Wait for the
to return to .Continue with Creating a New User with a Sales Role.
After you have created a user policy, only users provisioned with that policy can access the protected Web resource. This section describes how to create a user that meets the conditions to be assigned the Sales role. These instructions assume that you are using the configuration store of the Administration Console as the LDAP user store. If you are using a different server than the LDAP user store, you need to modify these instructions:
In the Administration Console, click the
icon in the top menu bar.Click
.Click
then fill in the following fields:Username: Specify Tom.
First name: Specify Tom.
Last name: Specify Tester.
Context: Click the
icon, then click . The user is automatically assigned the context of .Password: Assign a password to the user.
Retype password: Retype the assigned password.
Your user entry should look similar to the following:
Scroll to the
field, then click the icon.In the Sales (initial uppercase), then click to return to the Create User page.
text box, typeOn the Create User page, click
, then click to close the task.Tom meets the requirements to be assigned the Sales role when he logs in.
Continue with Creating the Identity Injection Policy for a Custom Header.
The following policy injects the user’s roles and DN into a custom header. The index.php page reads this information and uses it to display the user’s name. If the user is assigned the sales_role, the
button is displayed on the main page.In the Administration Console, click the
icon in the top menu bar.Click
> , then click > > > > .Click
> .In the
section, click , then fill in the following:Name: Specify
.Type: Select
.In the
section, click > .To inject the user’s name, fill in the following values:
Custom Header Name: Specify
.Value: Select
. The is selected automatically for you.To inject the user’s roles, click
> , then fill in the following values for the second custom header:Custom Header Name: Specify
.Value: Select
.Your policy should look similar to the following:
Click
twice, then click .Click
.In the
section, select , then click .Click
.Click
> , then click > .To test Tom’s access rights, complete the following steps:
Open a new browser, then enter the URL of the Digital Airlines Web site you created.
In this example, it is am3bc.provo.novell.com.
When prompted for user ID and password from Access Manager, log in with Tom’s credentials.
The page appears with a
message at the top, and the button appears in the lower right corner of the page.Click the
button, and the Sales page appears.If the Sales System button does not appear, Tom was not assigned the sales_role:
Verify that the role policy is enabled for the Identity Server by clicking
> , and confirm that the Identity Server is listed in the column for the policy.On the Policies page, confirm that the Access Gateway is listed in the
column for the Identity Injection policy.Discover whether there was an error in the Role policy evaluation. Click catalina.out (Linux) or the stdout.log (Windows) file for the Identity Server. Search for the name of the role policy and determine whether the role was successfully assigned.
> , then download theDetermine whether there was an error in Identity Injection policy evaluation. Click catalina.out (Linux) or the stdout.log (Windows) file for the Access Gateway. Search for the name of the Identity Injection policy and determine whether its values were successfully injected.
> , then download theFor more information about troubleshooting policies, see Troubleshooting Access Manager Policies
in the Novell Access Manager 3.1 SP2 Policy Guide.
Close all sessions of the browser.
To test that the sales_role is required for the
button to appear, complete the following steps:Open a new browser, then enter the URL of the Digital Airlines Web site you created.
In this example, it is am3bc.provo.novell.com.
Log in as the admin user. The page should have a
at the top of the page, but the button should not appear.To the URL, add /sales, and the Sales page appears.
This illustrates that although the link is hidden, the Sales page is not protected.
Close all sessions of the browser.
Continue with Section 6.4.3, Assigning an Authorization Policy to Protect a Resource.
Use the following procedure to limit access to the Sales page based on the sales role:
In the Administration Console, click
> then click > > > .In the sales_page for the name, then click .
, click , specifyFor the
, select .In the /*, modify it to specify /sales/*, then click .
, clickYour protected resource should look similar to the following:
Click
> .Click
then fill in the following fields:Name: Specify
Type: Select
.Click
.The Edit Policy page appears.
In
, click > , then specify the following values:Comparison: Select
.Mode: Select
.Value: Select
Return on Condition Error: Select
In the
section, ensure that is selected.Your rule should look similar to the following:
This rule allows everyone assigned to the sales_role to have access.
Click
.In the
, select .This second rule is a general deny rule for everyone who has not been assigned the sales_role.
Make sure the
field is set to 10 and that the has no conditions.In the
section, click , select , then select .Click Sorry, you must work in sales today.
, then in the text box, type the deny message:Your rule should look similar to the following.
With no conditions in the condition group, this creates a general deny rule that matches everyone. The users who have been assigned the sales role match the first rule that is processed. Everyone else matches this general deny rule.
Click
to close the rule editor, then click to close the .In the Policy List window, click
, then click .In the
, select the policy, then click .Click
.Click the
link, then click > .Test the results:
Open a new browser, then enter the URL of the Digital Airlines Web site you created.
In this example, it is am3bc.provo.novell.com.
Log in as the admin user.
Add /sales to the URL.
You should receive the following response window with the message derived from the Access Gateway you just configured:
Now, only users with an assigned sales role can access the Sales page.
Test the results with a user who has the sales role:
Open a new browser, then enter the URL of the Digital Airlines Web site you created.
In this example, it is am3bc.provo.novell.com.
Log in as Tom.
Click the /sales to the URL.
button or addThe Sales page is displayed.
Close all sessions of the browser.
Continue with Section 6.4.4, Configuring an Identity Injection Policy for Basic Authentication.
A common way to protect Web resources is to configure the Web server to require basic authentication for accessing a resource. The Web is configured to check for the user’s name and password in the HTTP authentication header. If you have Web resources with this type of configuration, you can enable single sign-on to these resources by creating a policy that injects the username and password into the HTTP authentication header.
This section explains how to set up the /sales directory to require basic authentication, and then how to create the Identity Injection policy.
It is difficult to create a configuration on the Apache Web server that provides consistent results by using LDAP SSL for basic authentication. Because this is a tutorial and is expected to be implemented in a testing environment, the following steps explain how to configure Apache to allow for a clear-text password over LDAP and how to configure basic authentication in this environment. The purpose of this section is not to explain how to configure Apache, but to explain how you can enable single sign-on for Web resources that require basic authentication.
To turn off the SSL requirement on the internal LDAP user store:
Log in to the Administration Console.
Click the
icon in the top menu bar.Click
, then configure the following fiels.Context: Accept the default [root] value and leave the
option enabled.Name: Accept the default wildcard value.
Type: Select
from the list.In the LDAP Group - <your server name> object, then select .
section, click theSelect the
attribute, then click .Select the check box, then click
.Click
or at the bottom of the page.If you do not click one of these buttons, your modifications are not saved.
To return the Administration Console machine to its default view, click the
icon in the top menu bar.From a terminal window on the Administration Console machine, log in as root.
Restart eDirectory with the following command:
/etc/init.d/ndsd restart
You need to enable the Apache server to require basic authentication for the /sales directory. On SLES 10.x or SLES 11, you need to enable two authentication modules and modify an Apache configuration file.
At the Apache server machine, log in to YaST.
Click
> > .Scroll down, then enable the
and modules.Click
.In a text editor, open the /etc/apache2/httpd.conf file.
Add the following section to the end of the file:
<Directory "/srv/www/htdocs/sales"> Options Indexes FollowSymLinks AllowOverride None order allow,deny allow from all AuthType Basic AuthName Internal AuthBasicAuthoritative off AuthBasicProvider ldap AuthzLDAPAuthoritative off AuthLDAPURL ldap://127.0.0.1/o=novell?uid??(objectclass=*) require valid-user AuthLDAPBindDN cn=admin,o=novell AuthLDAPBindPassword novell </Directory>
Replace the information in the AuthLDAPURL line with the information the IP address of your LDAP user store. Modify the query string to match your user store. This sample line assumes that the Web server and your LDAP user store are installed on the Administration Console, and 127.0.0.1 is its internal address.
The AuthLDAPBindDN and AuthLDAPBindPassword contain the distinguished name of a user and that user’s password. This user needs sufficient rights to log in to the LDAP user store and to search for the users in the tree.
Restart the Apache server with the following command:
/etc/init.d/apache2 restart
To test that the /sales directory now requires basic authentication:
Open a new browser, then enter the URL of the Digital Airlines Web site you created.
In this example, it is am3bc.provo.novell.com.
Log in using the credentials for Tom.
Even though Tom has logged in and been assigned the correct role, he is prompted to log in again to access the /sales directory. To enable single-sign on, you must create an Identity Injection policy that injects Tom’s credentials into the authentication header.
Continue with Creating an Identity Injection Policy for Basic Authentication.
This section explains how to enable single sign-on by creating an Identity Injection policy that injects the user’s authentication credentials into a header. The Web server uses the credentials in the authentication header to satisfy its login requirements.
In the Administration Console, click
> , then click > > > .In the
, click .Click
> > .For the new policy, fill in the following fields:
Name: Specify
for the name.Type: Select
for the type.Click
.In the
section, click , select , then select the following values:User Name: Select
. The value is automatically selected for you. This credential is the cn attribute of the user.Password: Select
. Click , then select .Your policy should look similar to the following:
Click
to close the policy editing page, then click to close the Rule List page.In the Policy List page, click
, then click .Select the
check box, click , then click .Click
to return to the . Your list should look similar to the following:To save your configuration changes, click the
link, then click > .To test the configuration:
Open a new browser, then enter the URL of the Digital Airlines Web site you created.
In this example, it is am3bc.provo.novell.com.
Log in as Tom.
The Digital Airlines site should appear with the
button.Click the
button. You should have access to the Sales System site, as shown below:For more information about Identity Injection policies, see Creating Identity Injection Policies
in the Novell Access Manager 3.1 SP2 Policy Guide.
Close all sessions of the browser.
Continue with Section 6.4.5, Initiating an SSL VPN Session.
This section explains how to initiate an SSL Virtual Private Network (VPN) connection in the Digital Airlines example. The SSL VPN agent provides secure access to non-HTTP applications.
Before performing this task, you must have the SSL VPN server installed. Your Access Manager console should appear similar to the green state shown in Figure 6-3:
Figure 6-3 Dashboard Indicating the Status of Access Manager Components
The yellow status of the SSL VPN indicates that it has not been configured. For more information about installing the SSL VPN server, see the Novell Access Manager 3.1 SP2 SSL VPN Server Guide.
For the Digital Airlines example, perform the following tasks:
You can configure SSL VPN installed along with the Identity server for authentication as follows:
In the Administration Console, click
> .Click
to modify the configuration of the server.In the
section, click .Fill in the following fields:
Identity Server Cluster: Select the configuration you have assigned to the Identity Server.
This sets up the trust relationship between the SSL VPN server and the Identity Server that is used for authentication.
Authentication Contract: Select the
option.Embedded Service Provider Base URL: This is the application path for the Embedded Service Provider. This needs to be DNS name of the machine with the port and the application path used by the SSL VPN server. For example, nam.provo.novell.com is the DNS name of the machine.
, whereRestart the Tomcat server when prompted.
To save your modifications, click
twice, then click on the server page.Click
on the Identity Server page.Configure a traffic policy. For more information see Configuring a Traffic Policy.
To configure the Traditional SSL VPN server to access the SSL VPN page on the Digital Airlines site, complete the following tasks:
To configure the SSL VPN as a protected resource, you must first create a reverse proxy for it.
In the Administration Console, click
> , then click > .In the
, click , then provide the following values:Proxy Service Name: Specify
.Multi-Homing Type:
Select Using Multi-Homing to Access Multiple Resources
in the Novell Access Manager 3.1 SP2 Access Gateway Guide.)
Path: Specify /sslvpn.
Web Server IP Address: Specify the IP address of SSL VPN server. If the traditional SSL VPN server is installed with the Access Gateway Appliance, enter the localhost IP address (127.0.0.1).
Host Header: If your SSL VPN server has a DNS name, select
. Otherwise, select .Web Server Host Name: Specify the DNS name of the SSL VPN server if you selected
for the option.Click
.The Reverse Proxy window is displayed.
In the
, click > .Change the 80 to 8080, then click .
fromContinue with Creating a Protected Resource and an Identity Injection Policy for the SSL VPN Server.
In the
, select the .In the
, select the path, then click .Fill in the following fields:
Policy Container: Select Master_Container.
Policy: Select
. In the Policy List window, click , then click .Name: Select
.Your configuration should look like the following:
Click
.The
option creates a protected resource, creates a default SSL VPN identity injection policy, then assigns it to the protected resource. When it completes, the / Path should now indicate as the Protected Resource.Click
.Click
> , then click > .Click
> , then click > .Basic configuration of the SSL VPN is complete after it is protected behind your gateway and you have built your necessary identity injection policies. Test your basic configuration with the following procedure:
To access the SSL VPN service, open a new browser and enter the URL for the Digital Airlines site. For this example, it is the following:
http://am3bc.provo.novell.com
Log in with any authorized username and password that is registered within your corporate domain, including the user you created in Creating a New User with a Sales Role.
Click
on the Digital Airlines site.(Optional) If you have logged in by using the Internet Explorer, you might be asked to install an ActiveX control.
When the SSL VPN client downloads, installs, and runs, the following page appears:
Notice that the user’s first name (“Tom”) is injected into the header of the SSL VPN browser.
Click the
icon, then close the browser.Traffic policies allow you to control access to different networks and applications protected behind the SSL VPN server. Simulate this by creating a rule that allows access to your network:
In the Administration Console, click
> , then click > .Click
, type , then click .Click the new, enabled sales policy, then provide the following values:
Role:
. Select the role from the list and move it to the list.Destination Network: This field is usually prepopulated (10.0.0.0), or you can specify the IP address of the SSL network. The network mask (255.0.0.0) is also usually prepopulated, or you can specify the value for your destination network
Predefined Application:
You can also select from drop-down list to specify your network application.Name: Protected Network. You can also provide any descriptive name for the SSL network.
Protocol: Any. Specifies whether the protocol is , , , or .
Port: Port. Specifies the port number on which the service you select listens. The value of 0 allows all ports.
Security Level:
. Specifies the minimum level of security for the client machine in order to apply this traffic policy.Action:
. Specifies whether the service can be encrypted or denied.Your rule should look similar to the following rule:
Click
to save the configuration and return to the List of Traffic Policies page.Click
twice, then on the SSL VPNs page, click .Test the traffic rule:
Open a new browser session and enter http://am3bc.provo.novell.com/sslvpn/login.
Log in as the admin user of the Administration Console.
Click
.Notice that without a sales role, the admin user has no access to the Digital Airlines network. Access is granted only when you log in with your sales credentials created in Creating a New User with a Sales Role.
Log out of the SSL VPN session.
Open a new SSL VPN browser session and enter http://am3bc.provo.novell.com/sslvpn/login.
Log in as Tom. (See Creating a New User with a Sales Role.)
Click
.Notice that the user Tom is now assigned a
on the SSL VPN server because the sales policy has been applied.For more information about traffic policies, see Configuring Traffic Policies
in the Novell Access Manager 3.1 SP2 SSL VPN Server Guide.