Oracle® Database Advanced Security Administrator's Guide 10g Release 1 (10.1) Part Number B10772-01 |
|
|
View PDF |
Entrust Authority (formerly known as Entrust/PKI) is a suite of PKI products provided by Entrust, Inc., that provides certificate generation, certificate revocation, and key and certificate management. Oracle Advanced Security is integrated with Entrust Authority so both Entrust and Oracle users can enhance their Oracle environment security.
This appendix contains the following topics:
Entrust-enabled Oracle Advanced Security provides:
Note:
|
Entrust-enabled Oracle Advanced Security supports the use of Entrust credentials for X.509-based authentication and single sign-on. Instead of using an Oracle wallet to hold user PKI credentials, Oracle Advanced Security can access PKI credentials that are created by Entrust Authority and held in an Entrust profile (a.epf
file). Users who have deployed Entrust software within their enterprise are thus able to use it for authentication and single sign-on to Oracle Database.
Entrust-enabled Oracle Advanced Security uses the extensive key management and rollover functionality provided by Entrust Authority, which shields users from the complexity of a PKI deployment. For example, users are automatically notified when their certificates are expiring, and certificates are reissued according to preferences that administrators can configure.
Entrust provides a certificate authority component, which natively checks certificate revocation status and enables the revocation of certificates.
Users using Entrust credentials for authentication to Oracle are assured that the revocation status of the certificate is checked, and connections are prevented if the certificate is revoked.
To implement Entrust-enabled Oracle Advanced Security, the following system components are required:
Contact your Entrust representative to get these components.
Entrust Authority for Oracle requires a database for storing information about Entrust users and the infrastructure, and a Lightweight Directory Access Protocol (LDAP)-compliant directory for information such as user names, public certificates, and certificate revocation lists.
Entrust Authority for Oracle is comprised of the following software components:
Entrust Authority Security Manager is the centerpiece of Entrust's PKI technology. It performs core certificate authority, certificate, and user management functions, such as creating users and user profiles containing the user's credentials.
Note: Oracle only supports the use of Entrust-enabled Oracle Advanced Security with versions of Entrust Authority Security Manager that run on Oracle Database. |
See Also:
Chapter 7, "Configuring Secure Sockets Layer Authentication", for information about certificate authorities. |
Entrust Authority Security Manager supports unattended login, also called Server Login, which eliminates the need for a Database Administrator (DBA) to repeatedly enter a password for the Entrust profile on the server. With unattended login, the DBA need only enter a password once to open the Entrust profile for the server to authenticate itself to multiple incoming connections.
Entrust Authority Self-Administration Server is the administrator's secure interface to Entrust Authority Security Manager.
Entrust Entelligence Desktop Manager provides support for user key management and single sign-on functionality on both clients and server by enabling Oracle Database server process access to incoming SSL connections.
Note: Do not install Entrust Entelligence Desktop Manager on the server computer because it uses unattended login credentials files with |
Entrust Authority Server Login Feature is required for single sign-on functionality on servers operating on UNIX platforms.
Entrust Authority Server Login Feature provides single sign-on by enabling Oracle Database server process access to incoming SSL connections. Without this capability, a database administrator or other privileged user would have to enter the password for the Entrust profile on the server for every incoming connection.
Contact your Entrust representative to get Entrust Authority Server Login Feature.
The Entrust Authority IPSec Negotiator Toolkit is required on both clients and servers for integrating the Oracle Advanced Security SSL stack with Entrust Authority, enabling SSL authentication to use Entrust profiles.
Contact your Entrust representative to get Entrust Authority IPSec Negotiator Toolkit.
Figure F-1 illustrates the following Entrust authentication process:
Note: Figure F-1 does not include client and server profiles creation, which is presumed. |
Text description of the illustration asoag025.gif
This section describes the following tasks, which are required to configure Entrust-enabled Oracle Advanced Security SSL authentication:
This section describes how to create Entrust profiles, which can be created by either administrators or users. On UNIX platforms, administrators create the Entrust profiles for all clients. On Windows platforms, users can create their own Entrust profiles.
Administrators create Entrust profiles as follows:
.epf
file.Entrust users create their own Entrust profiles as follows:
Start >
Programs >
Entrust >
Entrust Profiles >
Create Entrust Profiles
.epf
file, and the Entrust initialization file.For Oracle Advanced Security 10g Release 1 (10.1), Entrust support installs in Typical mode. A single Oracle installation supports the use of both Oracle Wallets and Entrust profiles.
Configure SSL on the client and server.
See Also:
Chapter 7, "Configuring Secure Sockets Layer Authentication", for information about configuring SSL on the client and server; skip the section that describes the Oracle wallet location. |
The steps for configuring Entrust on the client vary according to the type of platform:
If the client resides on a non-Windows platform, perform the following steps:
JAVA_HOME
variable to the JDK or JRE location.
For example:
>setenv JAVA_HOME $ORACLE_HOME/JRE
WALLET_LOCATION
in the sqlnet.ora
file.
For example:
WALLET_LOCATION=
(SOURCE=
(METHOD=entr) (METHOD_DATA = (PROFILE=profile_location) (INIFILE=initialization_file_location) )
)
If the client resides on a Windows platform, ensure that the Entrust Entelligence Desktop Manager component is installed on the client and perform the following steps to set up the Entrust credentials.
WALLET_LOCATION
parameter in the sqlnet.ora
file.
For example:
WALLET_LOCATION=
(SOURCE=
(METHOD=entr) (METHOD_DATA= (INIFILE=initialization_file_location) )
)
where initialization_file_location is the path to the .ini
file.
The steps for configuring Entrust on the server vary according to the type of platform:
If the server is a UNIX platform, ensure that the Entrust/Server Login Toolkit component is installed on the server and perform the following steps:
See Also:
"Required System Components for Entrust-Enabled Oracle Advanced Security" for information about downloading the Entrust Server Login toolkit. |
WALLET_LOCATION
parameter in the sqlnet.ora
and listener.ora
files to specify the paths to the server's profile and the Entrust initialization file:
WALLET_LOCATION = (SOURCE = (METHOD = ENTR) (METHOD_DATA = (PROFILE = profile_location) (INIFILE = initialization_file_location) ) )
CLASSPATH
environment variable to include the following paths:
$ORACLE_HOME/JRE/lib/rt.jar $ORACLE_HOME/JRE/lib/i18n.jar $ORACLE_HOME/jlib/ewt*.jar $ORACLE_HOME/jlib/help*.jar $ORACLE_HOME/jlib/share*.jar $ORACLE_HOME/jlib/swingall*.jar $ORACLE_HOME/network/jlib/netentrust.jar
etbinder
command to create unattended login credentials, or.ual
files by using the following steps:
PATH
environment variable to include the path to the etbinder
command, which is located in the /bin
directory where the Server Login Toolkit is installed.LD_LIBRARY_PATH
to include the path to the Entrust libraries.SSL_ENTRUST_INI
environment variable to include the full path to the Entrust initialization file.etbinder
A message displays indicating that the credentials file (filename
.ual
) has been created.
If the server is on a Windows platform, perform the following steps:
See Also:
"Required System Components for Entrust-Enabled Oracle Advanced Security" for information about downloading Entrust Entelligence Desktop Manager. |
WALLET_LOCATION
parameter in the sqlnet.ora
and listener.ora
files to specify the paths to the server's profile and the Entrust initialization file:
WALLET_LOCATION =
(SOURCE =
(METHOD = ENTR) (METHOD_DATA = (PROFILE = profile_location) (INIFILE = initialization_file_location) )
)
.ual
extension. Ensure that the owner of the .ual
file is the same as the owner of the Oracle service.
To run the binder command choose
Start >
Programs >
Entrust Toolkit >
Server Login >
Entrust Binder
Enter the path to the profile, the password, and the path to the Entrust initialization file. A message informs you that you have successfully created a credential file.
Create global users in the database based on the distinguished name (DN) of each Entrust user.
For example:
SQL> create user jdoe identified globally as 'cn=jdoe,o=oracle,c=us';
where "cn=jdoe, o=oracle, c=us"
is the Entrust distinguished name of the user.
sqlplus /@net_service_name
where net_service_name
is the service name of the Oracle instance.
The Entrust_Login dialog box appears.
WALLET_LOCATION
parameter, you are prompted to enter the path to the Entrust initialization file.
An application must be specifically modified to work with Entrust. If a product is designated as Entrust-ready, then it has been integrated with Entrust by using an Entrust toolkit.
For example, Oracle has modified its SSL libraries to access an Entrust profile instead of an Oracle wallet.
In addition, the following restrictions apply:
This section describes how to diagnose errors returned from Entrust to Oracle Advanced Security users.
You may encounter the following error messages regardless of what platform you are running Entrust on.
Cause: SQL*Plus login on an Entrust-enabled Oracle client errors out with this generic error message. This error can be caused by a number of problems, including the following causes:
Action: To get more detail on the Entrust error, turn on tracing for SQL*Plus and the trace output should indicate the Entrust failure code. Enable tracing by specifying the following parameters in the sqlnet.ora
file:
On the client:
TRACE_LEVEL_CLIENT=16
TRACE_DIRECTORY_CLIENT=<
valid_client_directory_name>
TRACE_FILE_CLIENT=client
TRACE_UNIQUE_CLIENT=ON
On the server:
TRACE_LEVEL_SERVER=16
TRACE_DIRECTORY_SERVER=<
valid_server_directory name>
TRACE_FILE_SERVER=server
TRACE_UNIQUE_SERVER=ON
Search for and locate the string IKMP
in the generated trace file. Adjacent to this string, error messages are listed that provide details about the problem you are encountering. This detailed error code information is returned by the Entrust API.
Cause: The WALLET_LOCATION
parameter does not specify the Entrust initialization file location in the client side sqlnet.ora
file.
Action: Ensure that the location of the Entrust initialization file is specified in the WALLET_LOCATION
parameter in the sqlnet.ora
file on the client.
You may encounter the following error messages if you are running Entrust on a Windows platform.
Cause: Due to a known FIPS mode incompatibility, Entrust logins may fail and return this error message.
Action: Contact Entrust support to resolve this issue.
Cause: Due to a known symbol conflict between Entrust and Oracle libraries, Entrust login may fail and return this error message.
Action: Contact Entrust support to resolve this issue.
This error may occur in the listener.log
file on the server when you attempt to log in to Entrust.
Cause: If you configure the client by making the following recommended changes:
.ual
fileSSL_ENTRUST_INI_FILE
parameter in the client sqlnet.ora
filethen the server may not be able to authenticate the client when you enter the following command:
sqlplus/@net_service_name
Action: Perform the following tasks to enable tracing on the server:
>
Services..ual
file. Click OK to make the change and you are returned to the Services dialog box.
In the Services dialog box, make the same changes for OracleService.
listener.ora
file:
TCPS
as the PROTOCOL
in the listener ADDRESS
. For example, change all of the PROTOCOL
definitions to TCPS
as follows:
listener_name= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCPS) (KEY=extproc0)) (ADDRESS=(PROTOCOL=TCPS) (HOST=sales-pc) (PORT=1521)))
Bringing up the listener only using TCPS
will show whether there is a problem accessing the Entrust profile when you turn on tracing.
SSL_CLIENT_AUTHENTICATION
parameter to FALSE
as follows:
SSL_CLIENT_AUTHENTICATION=FALSE
TRACE_LEVEL_LISTENER=16 TRACE_DIRECTORY_LISTENER=C:\temp
The trace file is created in the C:\temp
directory.
TRACE_LEVEL_SERVER=16 TRACE_DIRECTORY_SERVER=C:\temp
The trace file is created in the C:\temp
directory.
Search for and locate the string "fail
" or "ntz*
" function calls. Adjacent to these, error messages are listed that provide details about the problem you are encountering.
The following items apply to all platforms:
.ual
file is generated. These files are created for unattended login credentials.
IdentityLibrary=location
The full path to the location of the libidapi.so
file should be specified in the IdentityLibrary
parameter. This parameter setting enables generating a .ual
file on the server.
SQLNET.AUTHENTICATION_SERVICES
parameter in the sqlnet.ora
file as shown in the following example:
SQLNET.AUTHENTICATION_SERVICES=(tcps, authentication_type1, authentication_ type2)
The following checklist items apply only to Entrust installations on the Windows platform.
>
Control Panel >
Services to confirm that the Entrust Login Interface service has started and is running.SSL_ENTRUST_INI_FILE
parameter of the sqlnet.ora
file. However, if you choose not to specify the location there, then the Entrust initialization file must reside in c:\WINNT
..ual
file, which enables unattended login, is required.
See Also:
Step 4 of "Configuring Entrust on a Windows Server" for information about creating a |
.ual
) is generated using a valid password. Also, confirm that the versions for Entrust Server Login toolkit and Entrust IPSEC Negotiator toolkit match (that is, that the IPSec Toolkit 6.0 works with Server Login Toolkit 6.0).IdentityLibrary = location
where location
is the location of libidapi.so
, including the file name.