|
Oracle® Database Advanced Security Administrator's Guide 10 g Release 1 (10.1) Part Number B10772-01 |
|
|
View PDF |
This chapter describes how to configure an Oracle Da tabase server for use with RADIUS (Remote Authentication Dial-In User Service). This chapter contains the following topics:
RADIUS is a client/server security protocol widely used to enable remote authenticat ion and access. Oracle Advanced Security uses this industry standard in a client/server network environment.
a>You can enable the network to use any authentication method that supports the RADIUS standard, including token cards and smart cards, by installing and configuring the RADIUS protocol. Moreover, when you use RADIUS, you can change the authentication method without modifying either the Oracle client or the Oracle database server.
From the u ser's perspective, the entire authentication process is transparent. When the user seeks access to an Oracle database server, the Ora cle database server, acting as the RADIUS client, notifies the RADIUS server. The RADIUS server:
The Oracle/RADIUS environment is displayed in Figure 5-1:
Text description of the illustration asoag003.gif
The Oracle database server acts as the RADIUS client, passing information between the Oracle client and the RA DIUS server. Similarly, the RADIUS server passes information between the Oracle database server and the appropriate authentication se rvers. The authentication components are listed in Table 5-1:
A RADIUS server vendor is often the authentication server vendor as well, in which case authentication can be proces sed on the RADIUS server. For example, the RSA ACE/Server is both a RADIUS server and an authentication server. It thus authenticates the user's pass code.
| See Also:
Oracle Net Services Administrator's Guide, for information about the |
User authentication can take place in either of two ways:
In the synch ronous mode, RADIUS lets you use various authentication methods, including passwords and SecurID token cards. Figure 5-2 shows the sequence in which synchronous authentication occurs:
Text description of the ill ustration asoag010.gif
With SecurID authentication, each u ser has a token card that displays a dynamic number that changes every sixty seconds. To gain access to the Oracle database server/RA DIUS client, the user enters a valid pass code that includes both a personal identification number (PIN) and the dynamic number curre ntly displayed on the user's SecurID card. The Oracle database server passes this authentication information from the Oracle client t o the RADIUS server, which in this case is the authentication server for validation. Once the authentication server (RSA ACE/Server) validates the user, it sends an "accept" packet to the Oracle database server, which, in turn, passes it to the Oracle client. The us er is now authenticated and able to access the appropriate tables and applications.
When the system uses the asyn chronous mode, the user does not need to enter a user name and password at the SQL*Plus CONNECT string. Instead, a graphical user int erface asks the user for this information later in the process.
Figure 5-3 shows the sequence in which challenge-response (asynchronous) authentication occurs.
|
Note: If the RA DIUS server is the authentication server, Steps 3, 4, and 5, and Steps 9, 10, and 11 in Figure 5- 3 are combined. |
Text description of the illustration asoag011.gif
With smart card authentication, the user logs in by inserting the smart card--a plastic card (like a credit card) with an embedded integrated circuit for storing information--into a hardware device w hich reads the card. The Oracle client sends the login information contained in the smart card to the authentication server by way of the Oracle database server/RADIUS client and the RADIUS server. The authentication server sends back a challenge to the Oracle clien t, by way of the RADIUS server and the Oracle database server, prompting the user for authentication information. The information cou ld be, for example, a PIN as well as additional authentication information contained on the smart card.
The Oracle client sends the user's response to the authentication server by way of the Oracle database server and the RAD IUS server. If the user has entered a valid number, the authentication server sends an "accept" packet back to the Oracle client by w ay of the RADIUS server and the Oracle database server. The user is now authenticated and authorized to access the appropriate tables and applications. If the user has entered incorrect information, the authentication server sends back a message rejecting the user's access.
One particular ActivCard token is a hand-held device with a keyp ad and which displays a dynamic password. When the user seeks access to an Oracle database server by entering a password, the informa tion is passed to the appropriate authentication server by way of the Oracle database server/RADIUS client and the RADIUS server. The authentication server sends back a challenge to the client--by way of the RADIUS server and the Oracle database server. The user typ es that challenge into the token, and the token displays a number for the user to send in response.
The Oracle client then sends the user's response to the authentication server by way of the Oracle database server and the RA DIUS server. If the user has typed a valid number, the authentication server sends an "accept" packet back to the Oracle client by wa y of the RADIUS server and the Oracle database server. The user is now authenticated and authorized to access the appropriate tables and applications. If the user has entered an incorrect response, the authentication server sends back a message rejecting the user's access.
To enabl e RADIUS authentication and accounting, perform the following tasks:
RADIUS is installed with Oracle Advanced Security during a typical insta llation of Oracle Database.
| See Also:
Oracle Database operating system-specific installation documentation, for infor mation about installing Oracle Advanced Security and the RADIUS adapter |
This task includes the following steps:
Unless otherwise indicated, perform these configuration tasks by using Oracle Net M
anager or by using any text editor to modify the sqlnet.ora file.
Use Oracle Net Manager to configure RADIUS on the Oracle client (See "Starting Oracle Net Manager"):
Text description of the illustration radu00 01.gif
The sqlnet.ora file is u
pdated with the following entry:
SQLNET.AUTHENTICATION_SERVICES=(RADIUS)
radius.key to hold the shared secr
et copied from the RADIUS server. Place the file in the directory you just created in Step 2.radius.key to read only, accessible only by the Oracle owner (Oracle relies on the file system to keep this file secret).
Use Oracle Net Manager to configure RADIUS p arameters on the server (See "Starting Oracle Net Manager"):
Text description of the illustration radu0002.gi f
The sqlnet.ora file is updated with the following entries:
SQLNET.AUTHEN TICATION_SERVICES=RADIUS SQLNET.RADIUS_AUTHENTICATION=RADIUS_server_{hostname|IP_address}
Configure the initialization parameter file, located in
with the following values:
REMOTE_OS_AUTHENT=FALSE OS_AUTHENT_PREFIX=""
| See Also:
Oracle Database Refer ence and the Oracle Database Administrat or's Guide, for information about setting initialization parameters on an Oracle Database server |
Use Oracle Net Manager to change default set tings (See "Starting Oracle Net Manager"):
| Field font> | Description |
|---|---|
|
Port Number |
Specifies t he listening port of the primary RADIUS server. The default value is 1645. |
|
Timeout (seconds) |
a>
Specifies the time the Oracle database server waits for a response from the primary RADIUS server. The default is 15 seconds. |
|
N umber of Retries |
Specifies the number of times the Oracle databas e server resends messages to the primary RADIUS server. The default is three retries. For in structions on configuring RADIUS accounting, see: Task 5: Configure RADIUS Accounting. |
| < p class="TB">Secret File |
Specifies the location of the secret key on the Oracle database server. The field specifies the location of the secret key file, not the secret key itself. For information about specifying the secret key, see: Create the RADIUS Secret Key File on the Oracle Database Server. |
The sqlnet.ora file is updated with the following entries:<
/p>
SQLNET.RADIUS_AUTHENTICATION_PORT=(PORT) SQLNET.RADIUS_AUTHENTICATI ON_TIMEOUT= (NUMBER OF SECONDS TO WAIT FOR response) SQLNET.RADIUS_AUTHENTICATION_RETRIES= (NUMBER OF TIMES TO RE-SEND TO RADIUS server) SQLNET.RADIUS_SECRET=(path/radius.key)
T he challenge-response (asynchronous) mode presents the user with a graphical interface requesting first a password, then additional i nformation--for example, a dynamic password that the user obtains from a token card. With the RADIUS adapter, this interface is Java- based to provide optimal platform independence.
| See Also:
Appendix C, "Integrating Authentication Devices Using RADIUS", for information about how to customize the challeng e-response user interface |
To configure challenge-response:
< ol class="LN1" type="1">sqlnet.or
a file to enter SQLNET.RADIUS_CLASSPATH=(location), where location is the complete path name of the
jar file. It defaults to$ORACLE_HOME/network/jlib/netradius.jar: $ORACLE_HOME/JRE/lib/vt.jarThe sqlnet.or
a file is updated with the following entries:
SQLNET.RADIUS_CHALLENGE_RESPONSE=([O N | OFF]) SQLNET.RADIUS_CHALLENGE_KEYWORD=(KEYWORD) SQLNET.RADIUS_AUTHENTICATION_INTERFAC E=(name of interface including the package name delimited by "/" for ".")
If you are using an alternate RADIUS server, set these parameters in the sqlnet.ora file using any text
editor.
SQLNET.RADIUS_ALTERNATE=(hostname or ip address of alternate ra dius server) SQLNET.RADIUS_ALTERNATE_PORT=(1812) SQLNET.RADI US_ALTERNATE_TIMEOUT=(number of seconds to wait for response) SQLNET.RADIUS_ALTERNATE_R ETRIES=(number of times to re-send to radius server)
To grant user access:
SQL> CONNECT system/manager@database_name; < /a>SQL> CREATE USER username IDENTIFIED EXTERNALLY; SQL> GRANT CREATE SESSION TO USER username; SQL> EXIT
If you are using Windows, you can use the Security Manager to ol in the Oracle Enterprise Manager.
If you require external RADI US authorization for RADIUS users who connect to an Oracle database, then you must perform the following steps to configure the Oracl e server, the Oracle client, and the RADIUS server:
OS_ROLE parameter to the init.ora file and set this par
ameter to TRUE as follows:
OS_ROLE=TRUE
Then restart the database so the system can read the change to the init.ora file.
ON for the server if
you have not already done so by following the steps listed in "Configure Challenge-Response".Set the RADIUS challenge-response mode
to ON for the client if you have not already done so by following the steps listed in "Co
nfigure Challenge-Response".
| ATTRIBUTE NAME | CODE | TYPE |
|---|---|---|
|
|
26 |
Integer |
| <
/a>
|
1 |
String |
For example, enter the following in the RADIUS server attribute configuration file:
< code>VALUE VENDOR_SPECIFIC ORACLE 111 p>
ORACLE_ROLE attrib
ute to the user profile of the users who will use external RADIUS authorization:
O
RA_databaseSID_rolename[_[A]|[D]]
where:
ORA designates that th
is role is used for Oracle purposesdatabaseSID is the Oracle sys
tem identifier that is configured in the database server's init.ora filerolename is the name of role as it is defined in the data dictionary. For example, SYSDBAA is an optional character that indicates the user has administrator's pri
vileges for this roleD is an optional character that indicates t
his role is to be enabled by defaultEnsure that RADIUS groups which map to Oracle r
oles adhere to the ORACLE_ROLE syntax.
For example:
USERNAME USERPASSWD="user_password", SERVICE_TYPE=login_us er, VENDOR_SPECIFIC=ORACLE, ORACLE_ROLE=ORA_ora920_sysdba
| See Also:
font>
The RADIUS server administration documentation for information about configuring the serve r. |
RADIUS accounting logs information about access to the Oracle database server and stores it in a file on the RADIUS accounting server . Use this feature only if both the RADIUS server and authentication server support it.
Use Oracle Net Manager to enable or disable RADIUS accounting (See "Starting Oracle Net Manager"):
The sqlnet.ora file is updated with the following entry:
SQLN ET.RADIUS_SEND_ACCOUNTING= ON
RADIUS Accounting consists of an accounting server residing on either the same host as the RADIUS authentication server or on a separate host.
| See Also:
Administration documentation for the RADIUS server, for information about configuring RADIUS accounting |
You can use virtually any RADIUS server that complies with the standards in the Internet Engineering Task Force (IETF) RFC #2138, Remote Authentication Dial In User Service (RADIUS) and RFC #2139 RADIUS Accounting. Because RADIUS servers vary, consult the documentation for your particular RADIUS server for any unique inter operability requirements.
Perform the following steps to add the RADIUS client name to a Liv ingston RADIUS server:
@ (#) clients 1.1 2/21/96 Copyright 1991 Livingston Enterprises Inc This file contains a list of clients which are allowed to make authentication requests and their encryption key. The first field is a valid hostname. The second field (separated by blanks or tabs) is the encryption key. Client Name Key
CLIENT NAME column, enter the host name or IP address of the host on which the Oracle
database server is running. In the KEY column, type the shared secret.
The value you enter in the CLIENT NAME column, whether it is the client's name or IP address, depends on the RADIUS server.
See the authentication server documentation for instructions about confi guring the authentication servers.
| Se
e Also:
"Related Documentation", which contains a list of possible resources. |
See the RADIUS server documentation.
If the RADIUS server supports vendor type attributes, you can manage roles by storing them in the RADIUS server. The Oracle database server downloads the roles when there is a CONNECT re quest using RADIUS.
To use this feature, configure roles on both the Oracle database server and the RADIUS server.
Perform these steps to configure roles on the Oracle database server:
OS_ROLES
code> parameter in the initialization parameters file on the Oracle database server.To configure roles on the RADIUS server, refer to Table 5-1 and use the following synta x:
ORA_DatabaseName.DatabaseDomainName_RoleName
Example:
ORA_USERDB.US.ORACLE.CO M_MANAGER
If yo u are using the synchronous authentication mode, launch SQL*Plus and enter the following command at the prompt:
CONNECT username/password@database_alias
Not e that you can log in with this command only when challenge-response is not turned to ON.
If you are using the challenge-response mode, launch SQL*Plus and, at the prompt, enter the command that follows:
CONNECT /@database_alias
Note that you can l og in with this command only when challenge-response is turned to ON.