Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX AAA Server A.06.00 Administration and Authentication Guide: HP-UX 11.0, 11i v1 > Chapter 1 Overview: The HP-UX AAA Server

How The Software Handles An Access-Request

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Glossary

 » Index

Figure 1-7 “Default FSM State Transitions” shows that when the HP-UX AAA server engine receives any RADIUS request message, it calls the Finite State Machine and defines a starting event according to the type of request message. This first event will determine the first action. In the default FSM, the first action for an Access-Request is AUTHENTICATE. Figure 1-8 “Default Action Sequence” shows how FSM actions interact to process the Access-Request for authentication and authorization.

Figure 1-8 Default Action Sequence

Default Action Sequence

Load Balancing and Failover

When authenticating users stored in replicated LDAP directory servers or Oracle databases, the server performs load balancing and failover functions. Load balancing assigns a number of requests (determined by authentication type) to one server and assigns each subsequent set of requests to a different server. Failover keeps track of each pending request's age and after a built-in time interval moves the request to a different server's queue. Both functions assign requests in a round robin fashion — they find the next available server to communicate with and that has space available in its request queue.

Authentication to Verify the Client and User

The authentication of an access request has a number of distinctive steps as shown in Figure 1-9 “Authentication Steps”. The rounded rectangles represent configuration files that the HP-UX AAA server uses and the ovals represent one or more authentication types.

Figure 1-9 Authentication Steps

Authentication Steps

Authentication Steps

  1. After the server receives an Access-Request, the FSM AUTHENTICATE action attempts to match the client making the request to an entry in the clients file, refer to Figure 1-8 “Default Action Sequence”. The server will only attempt to authenticate a request if a match can be made. A matched entry is used to determine whether to use the default or an alternate users file, according to a specified prefix. In the following example, the client entry associates a particular NAS with a nas1. prefix:

    yourcompany.com    Type=Merit:NAS    v1    nas1. 

    All requests from that NAS will be processed in the following steps with files called nas1.users and nas1.authfile, instead of the default users and authfile files.

  2. Next, AUTHENTICATE checks the users file that corresponds to the client entry. In this step, the User-Name attribute value from the Access-Request is used to find an entry for the user in the users file. The server checks the file from beginning to end. When the first match occurs, the remaining file entries are not also checked.

    • If User-Name matches an entry, but User-Password does not match the user's password, the authentication will fail.

    • If User-Name and User-Password match an entry, authentication moves to step 5

    • If User-Name matches an entry, but Authentication-Type is specified instead of User-Password. AUTHENTICATE calls another action as specified by Authentication-Type, and then authentication moves to the next step, refer to Figure 1-8 “Default Action Sequence”.

    • If User-Name does not match an entry, the server will use the default users entry. In the default users file, this entry specifies an Authentication-Type of Realm. If the user's entry specified one of the AAA server's other authentication types, the server handles the entry as if it were an authfile entry, where an authentication type is associated with all users belonging to a particular realm.

    • If User-Name does not match an entry and there is no default entry, the authentication will fail.

  3. If the authentication type for the user is Realm, AUTHENTICATE calls the REALM action, which parses the User-Name attribute value for a realm name and searches authfile to determine the authentication type that corresponds to the user's realm. A default entry may be used to handle any realms that are not explicitly configured in authfile.

    NOTE: A User-Name value in the Network Access Identifier (NAI) (described in RFC 2486) format should look like userid@realm or realm/username. If no realm is specified, the server assigns the value, NULL, to the realm.

    As a result, REALM will in turn, call another one of the authentication type actions.

  4. Entries for most authentication types require one or more parameters that specify the location of external data sources and similar information. The server handles each authentication type differently by calling an authentication-specific Action to handle the request.

    • Under the Passwd authentication types, the server looks for a matching user on the local machine.

    • Under the ProLDAP and Oracle authentication types, the server looks for a matching user in an external database on a specified server. The ProLDAP type requires several additional search parameters to find a user entry on an LDAP directory server.

    • Under the RADIUS authentication type, the server acts as a proxy client and forwards the Access-Request to a specified remote server.

    • Under the File authentication type, the server will try to find an entry for the user in a text-based realm file. Realm files follow the same syntax and authenticate a user just as users files do.

      NOTE: Under the File authentication type, User-Name values in the realm file only contain the userid portion of the NAI format, since the realm has already been parsed to determine the correct authentication type.
    • Similar to the File authentication type, EAP will try to find the user in a realm file; however, the AAA server will perform authentication according to EAP, instead of PAP or CHAP.

  5. If the user's password can be verified, authentication succeeds. The user profile information is added to the request, and the FSM begins authorization with the CHK_DNY action.

Authorization to Control Sessions and Access to Services

The HP-UX AAA server can authorize users through a few different methods:

  • Provisioning on a user-by-user basis with check items and by adding reply items to an Access-Accept message (simple policy)

  • Based on realms through its Local Authorization Server (LAS) functions

  • Based on other logical groups through stored policy decisions (complex policy) that can make check and add reply items to the request in a more sophisticated manner

Like authentication, the authorization of an access request has a number of distinctive steps to handle these methods, as shown in Figure 1-10 “Authorization Steps”. The rounded rectangles represent configuration files that the HP-UX AAA server uses, and the ovals represent one or more actions called by the Finite State Machine. The dotted lines and shapes indicate a step in the process that does not occur with the server's default FSM configuration, but can occur with a customized configuration.

Figure 1-10 Authorization Steps

Authorization Steps

Authorization Steps

  1. The server receives a request and authenticates the user. If authentication is successful, the authorization will begin.

  2. Check Items After authentication each check item in the user profile is processed or matched against the request's A-V pairs. For example, a check item indicating that the request must be for PPP service must be matched by a corresponding Framed-Protocol=PPP A-V pair in the request in order for the request to be accepted.

    • If all the check and deny items associated with User-Name are satisfied, then the CHK_DNY action returns an ACK value to the FSM.

    • If any check or deny item, including the user's password, is not matched correctly, the authentication module returns a NAK value to the software engine. The request fails, and an Access-Reject is issued.

  3. Policy HP-UX AAA policy can be simple or complex decisions that control the authentication, authorization, and accounting process for a user's request. Simple policy has already been described as using lists of check and reply items. Complex policy refers to checking a logical A-V pair expression associated with a group of users for a true or false result. An A-V pair expression is represented by a Boolean logic statement that may include AND, OR, NOT Boolean operators and relative operators and may use parentheses to nest statements.

    According to the result of this complex policy decision, which can be based on a wide range of criteria and comparisons, the AAA server can accept or reject the request, as well as control how services are delivered or logged. Some policies that can be implemented include:

    • Dialed Number Identification Service (DNIS)—routing requests according to the number called from or called.

    • Grouping users by NAS addresses or ports

    • Control session duration, concurrent usage, or delivered services—not based on user or realm, but based on any other logical grouping that can be defined by A-V pairs

    • Control access according to any time-based criteria

    By default, ProLDAP policy occurs after CHK_DNY, but you can define policy decisions in ProLDAP or text files (called decision files) and configure the server to evaluate the policy at any point in the authentication and authorization process—before authentication, for example— and as often as you would like. After the POLICY action evaluates a decision, it retrieves reply items that may be added to the Access-Accept message and returns a value that determines the subsequent sequence of actions followed by the FSM.

  4. Local Authorization Server (LAS) The refers to the routines and code in the server that handle authorization. Both the LAS and POSTLAS actions are part of the LAS. Session control with the LAS is based on realms, refer to Figure 1-8 “Default Action Sequence”. A realm must be listed in the las.conf file, if not listed, LAS will not enforce any session control for users from that realm. When the LAS handles an Access-Request for a user in a local realm configured in the las.conf file, the LAS module performs the following steps:

    • Checks the user profile for a Simultaneous-Session attribute-value pair, which determines the maximum number of active sessions the user may have. 1 is the default.

    • Authorizes or denies service to a user based on the user's membership in a UNIX group.

    • Authorizes or denies service based on Service-Class.

    The POSTLAS action performs simultaneous access token (SAT) control, which is used to implement realm-based simultaneous session control.

  5. Reply Items One of the last actions that occur during authorization is the generation of an Access-Accept or Access-Reject message (refer to Figure 1-10 “Authorization Steps”) by the REPLY action (refer to Figure 1-8 “Default Action Sequence”). By adding reply items to a user's profile or through policy decisions, REPLY can provide a NAS with provisioning information in an Access-Accept data packet. Depending on the capabilities of the NAS, the reply items can be used to control a user's session. For example, the following user entry would limit the length of the session and what hosts could be accessed:

    guest@library.org Password = "public" 
    Filter = "lib",
    Session-Timeout = 3600

    Users can authenticate as guest@library.org using password "public" to connect for one hour (3600 seconds) to the library hosts that the filter "lib" allows.
    The REPLY action also checks for a Service-Type value, equates the value with one of three special user entries (pppuser, slipuser, dumbuser), and then appends reply items to the request accordingly. The attribute values for these items specify the default values to use when configuring the connection specified by Service-Type. The special user entries are not used for authentication; the reply items for one of these entries are appended to a request from any user requesting the corresponding service type.

    When duplicate attribute-value pairs exist, in a user profile and policy decision for example, pruning is applied to determine which A-V pair should be included in the Access-Accept or Access-Reject message.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2003 Hewlett-Packard Development Company, L.P.