You can protect resources that reside on your web server through several security services and mechanisms, including authentication, authorization, and access control.
Authentication is the process of confirming an identity. Authorization means granting access to a restricted resource to an identity, and access control mechanisms enforce these restrictions. Authentication and authorization can be enforced by a number of security models and services.
The following sections explain the process of configuring the security settings for the selected configuration.
An Authentication Database, also referred to as auth-db, represents one database of known users and the mechanism for authenticating client requests against that database. The server can have multiple auth-db entries configured at the same time and these may be of the same type or different types or any combination. The auth-db user databases are used by the ACL engine. Note that the server also supports a different type of user database known as the Java Realm.
LDAP -- The user data is stored in any LDAP directory server, including Sun Java System Directory Server.
File -- The user data is stored in a disk file. This auth-db is particularly convenient for development or small deployments where no centralized user management is available (or desired). The file auth-db supports several different file formats:
keyfile -- The keyfile format stores a list of users (and optional group memberships for each user). The password is stored as a one-way (unrecoverable) hash. This is the default format.
digestfile -- The digestfile is very similar to the keyfile with the important distinction that it is also able to support the HTTP Digest authentication method.
htaccess -- This is a legacy format only and should never be used for new installations or adding new users.
PAM -- PAM is the new auth-db supported by Sun Java System Web Server 7.0. The PAM auth-db delegates the authentication to the Solaris PAM stack, which allows existing Solaris users on the web server system to authenticate to the web server as well. Note that the PAM auth-db is only supported in Solaris 9 and 10 (or higher) and the web server instance must be running as root.
The Administration Server provides access to editing user accounts, group lists, access privileges, organization units, and other user- and group-specific information for both LDAP and File auth-db types.
User and group information is stored either in flat files in text format or in a directory server such as Sun Java System Directory Server, which supports Lightweight Directory Access Protocol (LDAP). LDAP is an open directory access protocol that runs over TCP/IP and is scalable to a global size and millions of entries.
A key file is a text file that contains the user's password in a hashed format, and the list of groups to which the user belongs. The users and groups stored in a key file are used for authorization and authentication by the file realm alone; these bear no relationship to system users and groups.
To Add a User
Select the configuration.
Select the configuration from the configuration list. Click Configurations tab to get the list.
Click Access Control > Users tab.
Click New button.
Add User Information.
Enter the user id and password. Optionally enter the group which the user belongs to. The user ID must be unique. In case of LDAP based authentication DB, the Administration Server ensures that the user ID is unique by searching the entire directory from the search base (base DN) down to see if the user ID is in use. Be aware, however, that if you use the Directory Server ldapmodify command line utility (if available) to create a user, it does not ensure unique user IDs.
To Add a Group
Select the configuration.
Select the configuration from the configuration list. Click Configurations tab to get the list.
Click Access Control > Groups tab.
Click New button.
Enter Group Name.
From the Add Users To Group section search and add existing users to the group.
Note - Creating a group in authentication database like keyfile or digestfile requires atleast one user to be specified.
To Delete a User
Select the configuration.
Select the configuration from the configuration list. Click Configurations tab to get the list.
Click Access Control > Users tab.
Select the authentication database from which you need to delete the user.
Enter the User ID in the Search Users text box and click Search button.
Select the user from the UserID column and click Delete button.
Caution - Deleting users(s) from keyfile/digestfile authentication databases
will delete the associated group(s) as well if the group(s) contain no members
after deletion of the user(s). This happens because groups without members
are not allowed for keyfile/digestfile authentication databases.
To Delete a Group
Select the configuration.
Select the configuration from the configuration list. Click Configurations tab to get the list.
Click Access Control > Groups tab.
Select the authentication database from which you need to delete the group.
Enter the User ID in the Search Users text box and click Search button.
Select the user from the UserID column and click Delete button.
Note - Deleting a group does not delete the users belonging to the group. You have to delete the users manually or reassign groups.
The server supports authentication and authorization through the use of locally stored access control lists (ACLs), which describe what access rights a user has for a resource. For example, an entry in an ACL can grant a user named John read permission to a particular folder, misc.
This section describes the process of restricting access to the files or directories on your web site. You can set global access control rules for all servers, and also individually for specific servers. For instance, a human resources department might create ACLs allowing all authenticated users to view their own payroll data, but restrict access to updating data to only human resource personnel responsible for payroll.
The core ACLs supported by the server are three types of authentication: basic, SSL, and digest.
For editing access control settings, perform the following tasks:
Click Configurations tab and select the configuration.
Click Access Control tab > Access Control List sub tab.
Click New button to add a new ACL or click existing ACL to edit the settings.
The following section describes the process of adding a new ACL to the configuration.
Click Configurations tab and select the configuration.
Click Access Control tab > Access Control List sub tab.
Click New button to add a new ACL.
The following table described the fields in the Add new ACL page.
Table 18 Field Description > Add ACL
Field | Description |
|---|---|
Resource | Named/URI/Path Select the type of resource you need to set access restriction and specify the value. Example for URI resource -- "/sales" Example for Path resource -- "/usr/sun/server4/docs/cgi-bin/*" |
Authentication DB | Authentication Database lets you select a database the server will use to authenticate users. The default is keyfile |
Authentication Method |
|
Prompt for Authentication | Prompt for Authentication option allows you to enter message text that appears in the authentication dialog box. You can use this text to describe what the user needs to enter. Depending on the browser, the user will see about first 40 characters of the prompt. Web browsers typically cache the username and password, and associate them with the prompt text. When the user accesses files and directories of the server having the same prompt, the usernames and passwords won't need to be entered again. If you want users to authenticate again for specific files and directories, you simply need to change the prompt for the ACL on that resource. |
Denied Access Response | Specify the response action when an access to a resource is denied. 1. Respond with default message -- Select this option for displaying the standard access denied message from the server. 2. Respond with URL -- Select this option for forwarding the request to any other external URL or error page. |
See also Adding a New ACE
The section describes the process of adding a new Access Control Entry (ACE) for the selected configuration.
Click Configurations tab and select the configuration.
Click Access Control tab > Access Control List > New button.
Under Access Control Entry, click New button to add a new ACE.
The following table describes the fields in the New ACE wizard page.
Table 19 Field Description > Adding a New ACE
Also see Adding a new ACL