Page 4
derivative works of the Source Code, whether created by OpenVision or by a third party. The OpenVision copyright notice must be preserved if derivative works are made based on the donated Source Code. OpenVision Technologies, Inc., has donated this Kerberos Administration system to M.I.T. for inclusion in the standard Kerberos 5 distribution.
Contents List of Figures List of Tables Send Us Your Comments ....................... xxiii Preface ................................. xxv What's New in Oracle Advanced Security? ..............xxxvii Part I Getting Started with Oracle Advanced Security Introduction to Oracle Advanced Security Security Challenges in an Enterprise Environment..............1-1 Security in Enterprise Grid Computing Environments ............
Page 7
4 Configuring Network Data Encryption and Integrity for Thin JDBC Clients About the Java Implementation....................... 4-1 Java Database Connectivity Support ..................4-1 Securing Thin JDBC........................4-2 Implementation Overview ......................4-3 Obfuscation............................ 4-3 Configuration Parameters........................4-4 Client Encryption Level: ORACLE.NET.ENCRYPTION_CLIENT........4-4 Client Encryption Selected List: ORACLE.NET.ENCRYPTION_TYPES_CLIENT ....
Page 8
Task 1: Install Kerberos ........................ 6-2 Task 2: Configure a Service Principal for an Oracle Database Server........6-2 Task 3: Extract a Service Table from Kerberos ................. 6-3 Task 4: Install an Oracle Database Server and an Oracle Client ..........6-4 Task 5: Install Oracle Net Services and Oracle Advanced Security ........
Page 9
How SSL Works with Other Authentication Methods ............7-10 SSL and Firewalls ..........................7-12 SSL Usage Issues..........................7-14 Enabling SSL ............................. 7-15 Task 1: Install Oracle Advanced Security and Related Products ........7-15 Task 2: Configure SSL on the Server..................7-15 Task 3: Configure SSL on the Client ..................
Page 10
Opening an Existing Wallet....................... 8-13 Closing a Wallet .......................... 8-13 Importing Third-Party Wallets ....................8-13 Exporting Oracle Wallets to Third-Party Environments ............8-14 Exporting Oracle Wallets to Tools that Do Not Support PKCS #12 ........8-14 Uploading a Wallet to an LDAP Directory ................8-15 Downloading a Wallet from an LDAP Directory ..............
Page 11
Task 1: Create New Principals and Accounts................. 10-5 Task 2: Install the Key of the Server into a Keytab File............10-6 Task 3: Configure DCE CDS for Use by Oracle DCE Integration ........10-6 Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration ..10-8 DCE Address Parameters......................
Page 12
Considerations for Choosing Authentication Types between Clients, Databases, and Directories for Enterprise User Security................11-28 Enterprise User Security Configuration Tasks and Troubleshooting Enterprise User Security Configuration Overview..............12-1 Enterprise User Security Configuration Roadmap ..............12-4 Preparing the Directory for Enterprise User Security..............12-5 Configuring Enterprise User Security Objects in the Database and the Directory ...
Page 13
Browsing Users in the Directory .................... 13-12 Administering Enterprise Domains.................... 13-15 Creating a New Enterprise Domain..................13-16 Defining Database Membership of an Enterprise Domain ..........13-17 Managing Database Security Options for an Enterprise Domain ........13-19 Managing Enterprise Domain Administrators ..............13-20 Managing Enterprise Domain Database Schema Mappings..........
Page 14
Integrating Authentication Devices Using RADIUS About the RADIUS Challenge-Response User Interface............C-1 Customizing the RADIUS Challenge-Response User Interface..........C-2 Oracle Advanced Security FIPS 140-1 Settings Configuration Parameters......................... D-1 Server Encryption Level Setting ....................D-2 Client Encryption Level Setting....................D-2 Server Encryption Selection List....................D-2 Client Encryption Selection List ....................
Page 15
orapki wallet create ........................E-13 orapki wallet display........................E-13 orapki wallet export ........................E-13 Entrust-Enabled SSL Authentication Benefits of Entrust-Enabled Oracle Advanced Security.............. F-2 Enhanced X.509-Based Authentication and Single Sign-On ..........F-2 Integration with Entrust Authority Key Management ............F-2 Integration with Entrust Authority Certificate Revocation............
Page 16
Prerequisites for Performing Migration..................G-8 Required Database Privileges ....................G-8 Required Directory Privileges....................G-9 Required Setup to Run the User Migration Utility ..............G-9 User Migration Utility Command Line Syntax................G-10 Accessing Help for the User Migration Utility ................G-11 User Migration Utility Parameters ....................
List of Figures 1–1 Encryption ..........................1-5 1–2 Strong Authentication with Oracle Authentication Adapters ........1-8 1–3 How a Network Authentication Service Authenticates a User ........1-9 1–4 Centralized User Management with Enterprise User Security........1-13 1–5 Oracle Advanced Security in an Oracle Networking Environment ......1-15 1–6 Oracle Net with Authentication Adapters...............
Page 19
11–3 Related Entries in a Realm Oracle Context..............11-16 Enterprise User Security Configuration Flow Chart............12-3 12–1 13–1 Enterprise Security Manager Console Home Page ............13-9 Enterprise Security Manager Console Edit User Window: Basic Information ..13-10 13–2 13–3 Enterprise Security Manager: Add Enterprise Roles Window........13-12 Enterprise Security Manager: Main Window (All Users Tab)........
Page 21
List of Tables 1–1 Authentication Methods and System Requirements ............. 1-17 Oracle Wallet Manager Navigator Pane Objects ............. 2-8 2–1 2–2 Oracle Wallet Manager Toolbar Buttons ................ 2-10 Oracle Wallet Manager Wallet Menu Options............... 2-10 2–3 2–4 Oracle Wallet Manager Operations Menu Options............2-11 2–5 Oracle Wallet Manager Help Menu Options ..............
Page 22
11–3 Enterprise User Security: Supported Authentication Types for Connections between Clients, Databases, and Directories ................. 11-28 13–1 Identity Management Realm Properties ................13-5 13–2 Enterprise User Security Identity Management Realm Administrators ..... 13-7 13–3 Directory Search Criteria ....................13-14 13–4 Enterprise Security Manager Database Security Options..........
Send Us Your Comments Oracle Database Advanced Security Administrator's Guide, 10g Release 1 (10.1) Part No. B10772-01 Oracle Corporation welcomes your comments and suggestions on the quality and usefulness of this document. Your input is an important part of the information used for revision. Did you find any errors? Is the information clearly presented? Do you need more information? If so, where?
Preface Welcome to the Oracle Database Advanced Security Administrator's Guide for the 10g Release 1 (10.1) of Oracle Advanced Security. Oracle Advanced Security contains a comprehensive suite of security features that protect enterprise networks and securely extend them to the Internet. It provides a single source of integration with multiple network encryption and authentication solutions, single sign-on services, and security protocols.
Page 26
Audience The Oracle Database Advanced Security Administrator's Guide is intended for users and systems professionals involved with the implementation, configuration, and administration of Oracle Advanced Security including: Implementation consultants System administrators Security administrators Database administrators (DBAs) Organization This document contains the following chapters: Part I, "Getting Started with Oracle Advanced Security"...
Page 27
Part III, "Oracle Advanced Security Strong Authentication" Chapter 5, "Configuring RADIUS Authentication" This chapter describes how to configure Oracle for use with RADIUS (Remote Authentication Dial-In User Service). It provides an overview of how RADIUS works within an Oracle environment, and describes how to enable RADIUS authentication and accounting.
Page 28
parameters, and how clients outside of DCE can access Oracle databases using another protocol such as TCP/IP. Part IV, "Enterprise User Security" Chapter 11, "Getting Started with Enterprise User Security" This chapter describes the Oracle LDAP directory and database integration that enables you to store and manage users' authentication information in Oracle Internet Directory.
Appendix D, "Oracle Advanced Security FIPS 140-1 Settings" This appendix describes the sqlnet.ora configuration parameters required to comply with the FIPS 140-1 Level 2 evaluated configuration. Appendix E, "orapki Utility" This appendix provides the syntax for the orapki command line utility. This utility must be used to manage certificate revocation lists (CRLs).
Page 30
Printed documentation is available for sale in the Oracle Store at http://oraclestore.oracle.com/ To download free release notes, installation documentation, white papers, or other collateral, please visit the Oracle Technology Network (OTN). You must register online before using OTN; registration is free and can be done at http://otn.oracle.com/membership/ If you already have a username and password for OTN, then you can go directly to the documentation section of the OTN Web site at...
Page 31
Applied Cryptography, Second Edition: Protocols, Algorithms, and Source Code in C by Bruce Schneier. New York: John Wiley & Sons, 1996. SSL & TLS Essentials: Securing the Web by Stephen A. Thomas. New York: John Wiley & Sons, 2000. Understanding and Deploying LDAP Directory Services by Timothy A. Howes, Ph.D., Mark C.
Page 32
Convention Meaning Example Uppercase monospace typeface indicates You can specify this clause only for a NUMBER UPPERCASE elements supplied by the system. Such column. monospace elements include parameters, privileges, (fixed-width) You can back up the database by using the datatypes, RMAN keywords, SQL font BACKUP command.
Page 33
Convention Meaning Example Brackets enclose one or more optional DECIMAL (digits [ , precision ]) items. Do not enter the brackets. Braces enclose two or more items, one of {ENABLE | DISABLE} which is required. Do not enter the braces. A vertical bar represents a choice of two {ENABLE | DISABLE} or more options within brackets or braces.
Page 34
Convention Meaning Example Lowercase typeface indicates lowercase SELECT last_name, employee_id FROM programmatic elements that you supply. employees; For example, lowercase indicates names sqlplus hr/hr of tables, columns, or files. CREATE USER mjones IDENTIFIED BY ty3MU9; Note: Some programmatic elements use a mixture of UPPERCASE and lowercase.
Page 35
Convention Meaning Example Special characters The backslash (\) special character is C:\>exp scott/tiger TABLES=emp sometimes required as an escape QUERY=\"WHERE job='SALESMAN' and character for the double quotation mark sal<1600\" (") special character at the Windows C:\>imp SYSTEM/password FROMUSER=scott command prompt. Parentheses and the TABLES=(emp, dept) single quotation mark (') do not require an escape character.
Page 36
Documentation Accessibility Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community.
What's New in Oracle Advanced Security? This section describes new features of Oracle Advanced Security 10g Release 1 (10.1) and provides pointers to additional information. New features information from the previous release is also retained to help those users migrating to the current release.
Page 38
Engineering Task Force (IETF) to be the successor to SSL version 3.0. TLS is a configurable option provided in Oracle Net Manager. Chapter 7, "Configuring Secure Sockets Layer See Also: Authentication" for configuration details Support for Hardware Security Modules, including Oracle Wallet Manager Integration In this release, Oracle Advanced Security supports hardware security modules which use APIs that conform to the RSA Security, Inc., Public-Key...
Page 39
See Also: "Certificate Validation with Certificate Revocation Lists" page 7-35 for details Appendix E, "orapki Utility" for details about orapki command line utility New Features in Enterprise User Security Kerberos Authenticated Enterprise Users Kerberos-based authentication to the database is available for users managed in an LDAP directory.
Page 40
– Oracle Database recognition of standard password verifiers, which is also new in this release. Tool Changes – New Tool: Enterprise Security Manager Console The Enterprise Security Manager Console, which is based on the Oracle Internet Directory Delegated Administration Service (DAS), is new in this release.
Page 41
Oracle9i Release 2 (9.2) New Features in Oracle Advanced Security The new features for Oracle Advanced Security in release 2 (9.2) include the following: Support for Advanced Encryption Standard (AES) AES is a new cryptographic algorithm standard developed to replace Data Encryption Standard (DES).
Part I Getting Started with Oracle Advanced Security This part introduces Oracle Advanced Security, describing the security solutions it provides, its features, and its tools. It contains the following chapters: Chapter 1, "Introduction to Oracle Advanced Security" Chapter 2, "Configuration and Administration Tools Overview"...
Introduction to Oracle Advanced Security This chapter introduces Oracle Advanced Security, summarizing the security risks it addresses, and describing its features. These features are available to database and related products that interface with Oracle Net Services, including Oracle Database, Oracle Application Server, and Oracle Identity Management infrastructure.
Security Challenges in an Enterprise Environment Security in Enterprise Grid Computing Environments Security in an Intranet or Internet Environment Common Security Threats Security in Enterprise Grid Computing Environments Grid computing is a computing architecture that coordinates large numbers of servers and storage to act as a single large computer. It provides flexibility, lower costs, and IT investment protection because inexpensive, off-the-shelf components can be added to the grid as business needs change.
Security Challenges in an Enterprise Environment the amount of information that organizations place on computers. Employee and financial records, customer orders, product information, and other sensitive data have moved from filing cabinets to file structures. The volume of sensitive information on the Web has thus increased the value of data that can be compromised.
Solving Security Challenges with Oracle Advanced Security Password-Related Threats In large systems, users typically must remember multiple passwords for the different applications and services that they use. For example, a developer can have access to a development application on a workstation, a PC for sending e-mail, and several computers or intranet sites for testing, reporting bugs, and managing configurations.
Solving Security Challenges with Oracle Advanced Security Data Encryption Sensitive information that travels over enterprise networks and the Internet can be protected by encryption algorithms. An encryption algorithm transforms information into a form that can be deciphered with a decryption key. Figure 1–1 shows how encryption works to ensure the security of a transaction.
Page 50
Solving Security Challenges with Oracle Advanced Security Selecting the network encryption algorithm is a user configuration option, providing varying levels of security and performance for different types of data transfers. Prior versions of Oracle Advanced Security provided three editions: Domestic, Upgrade, and Export—each with different key lengths.
Page 51
Solving Security Challenges with Oracle Advanced Security 197, Advanced Encryption Standard (AES) is a new cryptographic algorithm standard developed to replace DES. AES is a symmetric block cipher that can process data blocks of 128 bits, using cipher keys with lengths of 128, 192, and 256 bits, which are referred to as AES-128, AES-192, and AES-256, respectively.
Solving Security Challenges with Oracle Advanced Security Strong Authentication Authentication is used to prove the identity of the user. Authenticating user identity is imperative in distributed environments, without which there can be little confidence in network security. Passwords are the most common means of authentication.
Page 53
Solving Security Challenges with Oracle Advanced Security How Centralized Network Authentication Works Figure 1–3 shows how a centralized network authentication service typically operates: Figure 1–3 How a Network Authentication Service Authenticates a User User Authentication Oracle Server Server . . . A user (client) requests authentication services and provides identifying information, such as a token or password.
Page 54
Solving Security Challenges with Oracle Advanced Security The client passes these credentials to the Oracle server concurrent with a service request, such as connection to a database. The server sends the credentials back to the authentication server for authentication. If the authentication server accepts the credentials, then it notifies the Oracle Server, and the user is authenticated.
Page 55
Solving Security Challenges with Oracle Advanced Security protocol. RADIUS can be used with a variety of authentication mechanisms, including token cards and smart cards. See Chapter 5, "Configuring RADIUS Authentication" for information about configuring and using this adapter. Smart Cards A RADIUS-compliant smart card is a credit card-like hardware device.
Page 56
Solving Security Challenges with Oracle Advanced Security Oracle Advanced Security SSL can be used to secure communications between any client and any server. You can configure SSL to provide authentication for the server only, the client only, or both client and server. You can also configure SSL features in combination with other authentication methods supported by Oracle Advanced Security (database usernames and passwords, RADIUS, and Kerberos).
Solving Security Challenges with Oracle Advanced Security Enterprise User Management Enterprise user management is provided by the Enterprise User Security feature of Oracle Advanced Security. Enterprise User Security enables storing database users and their corresponding administrative and security information in a centralized directory server.
Page 58
Solving Security Challenges with Oracle Advanced Security Passwords Kerberos Secure Sockets Layer (SSL) with digital certificates For detailed discussions of Enterprise User Security See Also: concepts, configuration, and management, refer to the following chapters in this manual: Chapter 11, "Getting Started with Enterprise User Security" Chapter 12, "Enterprise User Security Configuration Tasks and Troubleshooting"...
Secure Data Transfer Across Network Protocol Boundaries Figure 1–6 Oracle Net with Authentication Adapters Oracle Oracle Oracle Call Forms Party Tools Server Interface Tools Oracle Reports Oracle Advanced Security Oracle Net Kerberos RADIUS Adapter Adapter Adapter Adapter Kerberos RADIUS Oracle Net Services Administrator's Guide for more See Also: information about stack communications in an Oracle networking...
Oracle Advanced Security Restrictions Oracle Advanced Security is not available with Oracle Note: Database Standard Edition. Table 1–1 Authentication Methods and System Requirements Authentication Method System Requirements Kerberos MIT Kerberos Version 5, release 1.1 The Kerberos authentication server must be installed on a physically secure machine.
Configuration and Administration Tools Overview Configuring advanced security features for an Oracle database includes configuring encryption, integrity (checksumming), and strong authentication methods for Oracle Net Services. Strong authentication method configuration can include third-party software, as is the case for Kerberos or RADIUS, or it may entail configuring and managing a public key infrastructure, as is required for Secure Sockets Layer (SSL).
Network Encryption and Strong Authentication Configuration Tools Network Encryption and Strong Authentication Configuration Tools Oracle Net Services can be configured to encrypt data using standard encryption algorithms, and for strong authentication methods, such as Kerberos, RADIUS, and SSL. The following sections introduce the Oracle tools you can use to configure these advanced security features for an Oracle Database: Oracle Net Manager Oracle Advanced Security Kerberos Adapter Command-Line Utilities...
Page 65
Network Encryption and Strong Authentication Configuration Tools To start Oracle Net Manager as a standalone application: (UNIX) From $ORACLE_HOME/bin, enter the following at the command line: netmgr (Windows) Choose Start > Programs > Oracle - HOME_NAME > Configuration and Migration Tools > Net Manager Navigating to the Oracle Advanced Security Profile The Oracle Net Manager interface window contains two panes: the navigator pane and the right pane, which displays various property sheets that enable you to...
Page 66
Network Encryption and Strong Authentication Configuration Tools Figure 2–1 Oracle Advanced Security Profile in Oracle Net Manager Oracle Advanced Security Profile Property Sheets The Oracle Advanced Security Profile contains the following property sheets, which are described in the following sections: Authentication Property Sheet Other Params Property Sheet Integrity Property Sheet...
Network Encryption and Strong Authentication Configuration Tools Authentication Property Sheet Use this property sheet to select a strong authentication method, such as Kerberos Version 5 (KERBEROS5), Windows NT native authentication (NTS), or RADIUS. Other Params Property Sheet Use this property sheet to set other parameters for the authentication method you selected on the Authentication property sheet.
Public Key Infrastructure Credentials Management Tools Public Key Infrastructure Credentials Management Tools The security provided by a public key infrastructure (PKI) depends on how effectively you store, manage, and validate your PKI credentials. The following Oracle tools are used to manage certificates, wallets, and certificate revocation lists so your PKI credentials can be stored securely and your certificate validation mechanisms kept current: Oracle Wallet Manager...
Page 69
Public Key Infrastructure Credentials Management Tools (UNIX) From $ORACLE_HOME/bin, enter the following at the command line: (Windows) Choose Start > Programs > Oracle - HOME_NAME > Integrated Management Tools > Wallet Manager Navigating the Oracle Wallet Manager User Interface The Oracle Wallet Manager interface includes two panes, a toolbar, and various menu items as shown in Figure 2–2.
Public Key Infrastructure Credentials Management Tools Navigator Pane The navigator pane provides a graphical tree view of the certificate requests and certificates stored in the Oracle home where Oracle Wallet Manager is installed. You can use the navigator pane to view, modify, add, or delete certificates and certificate requests.
Page 71
Public Key Infrastructure Credentials Management Tools text box. To request a certificate from a certificate authority, you can copy this request into an e-mail or export it into a file. Figure 2–3 Certificate Request Information Displayed in Oracle Wallet Manager Right Pane Toolbar The toolbar contains buttons that enable you to manage your wallets.
Public Key Infrastructure Credentials Management Tools Table 2–2 Oracle Wallet Manager Toolbar Buttons Toolbar Button Description Creates a new wallet Open Wallet Enables you to browse your file system to locate and open an existing wallet Save Wallet Saves the currently open wallet Delete Wallet Deletes wallet currently selected in the navigator pane Help...
Public Key Infrastructure Credentials Management Tools Table 2–3 (Cont.) Oracle Wallet Manager Wallet Menu Options(Cont.) Option Description Change Password Changes the password for the currently open wallet. You must supply the old password before you can create a new one. Auto Login Sets the auto login feature for the currently open wallet.
Public Key Infrastructure Credentials Management Tools Help Menu Table 2–5 describes the contents of the Help menu. Table 2–5 Oracle Wallet Manager Help Menu Options Option Description Contents Opens Oracle Wallet Manager online help. Opens Oracle Wallet Manager online help and displays the Search for Help on Search tab.
Enterprise User Security Configuration and Management Tools Enterprise User Security Configuration and Management Tools Enterprise users are database users who are stored and centrally managed in an LDAP directory, such as Oracle Internet Directory. Table 2–6 provides a summary of the tools that are used to configure and manage Enterprise User Security.
Enterprise User Security Configuration and Management Tools Starting Database Configuration Assistant To start Database Configuration Assistant: (UNIX) From $ORACLE_HOME/bin, enter the following at the command line: dbca (Windows) Choose Start > Programs > Oracle - HOME_NAME > Database Administration > Database Configuration Assistant See Also: "To register a database in the directory:"...
Page 77
Enterprise User Security Configuration and Management Tools Logging in to Enterprise Security Manager Console Navigating Enterprise Security Manager Console User Interface Enterprise Security Manager Initial Installation and Configuration Overview The following tasks provide an overview of the initial Enterprise Security Manager installation and configuration: Task 1: Install Enterprise Security Manager Task 2: Configure an Oracle Identity Management Infrastructure...
Page 78
Enterprise User Security Configuration and Management Tools OracleAS Single Sign-On server must be installed and configured to authenticate enterprise user security administrators when they log in to the Enterprise Security Manager Console, an element of Enterprise Security Manager. See Also: Oracle Internet Directory Administrator's Guide for information about using Oracle Internet Directory Configuration Assistant to create or upgrade an identity management realm in the...
Enterprise User Security Configuration and Management Tools Figure 2–4 Directory Server Login Window Log in to Oracle Internet Directory by selecting the authentication method and providing the hostname and port number for your directory. Table 2–7 describes the two available Enterprise Security Manager authentication methods and what each method requires: Table 2–7 Enterprise Security Manager Authentication Methods...
Page 80
Enterprise User Security Configuration and Management Tools Figure 2–5 Enterprise Security Manager User Interface Navigator Pane The navigator pane provides a graphical tree view of your directory's identity management realms and the databases, enterprise domains, and users they contain. You can use the navigator pane to view, modify, add, or delete enterprise domains and the objects they contain.
Enterprise User Security Configuration and Management Tools Right-click an enterprise domain to perform operations such as creating enterprise roles or deleting the domain from the identity management realm. When you expand an identity management realm, you see a nested list of folders that contain enterprise user security objects.
Page 82
Enterprise User Security Configuration and Management Tools Figure 2–6 Enterprise Security Manager Databases Tabbed Window The Databases tabbed window also enables you to set security options for databases which are members of an enterprise domain. See "Defining Database Membership of an Enterprise Domain" on page 13-17 for a discussion of configuring enterprise domains by using the Databases tabbed window.
Enterprise User Security Configuration and Management Tools File Menu Table 2–9 describes the contents of the File menu. Table 2–9 Enterprise Security Manager File Menu Options Option Description Causes the Directory Server Login window to reappear Change Directory Connection (see Figure 2–4 on page 2-17), enabling you to log in to another directory server.
Page 84
Enterprise User Security Configuration and Management Tools Table 2–11 (Cont.) Enterprise Security Manager Help Menu Options Option Description Search for Help on Displays the search window for the online help. Displays online help topics that describe how to use the online Using Help help system About Enterprise Security...
Page 85
Enterprise User Security Configuration and Management Tools Figure 2–7 Enterprise Security Manager Console Login Page Click the Login icon in the upper right-corner of the page to log in with your OracleAS Single Sign-On username and password. After providing your OracleAS Single Sign-On credentials, you are returned to the console home page.
Page 86
Enterprise User Security Configuration and Management Tools Figure 2–8 ESM Console URL Window Enter the appropriate URL for connecting to Enterprise Security Manager Console, and click OK. This saves the URL information in Enterprise Security Manager so you can launch the console again without reconfiguring the URL. Configuring Enterprise Security Manager Console for Kerberos-Authenticated Enterprise Users By default, Enterprise Security Manager Console user interface does not display the field where you can configure Kerberos principal names.
Page 87
Enterprise User Security Configuration and Management Tools Select krbPrincipalName in the left category list. Click Move > to move krbPrincipalName to the right-hand list. Click Done. Click Next until you reach the last page, and then click Finish to save your work.
Page 88
Enterprise User Security Configuration and Management Tools Home Tabbed Window The Home page is your entry point to the console. You can access each tabbed window and read a brief summary of what you can do with this tool. The Home tabbed window is shown in Figure 2–9 on page 2-25.
Enterprise User Security Configuration and Management Tools Table 2–12 Enterprise Security Manager Console User Subtab Buttons Button Name Description After entering user search criteria in the Search for user field, click Go to display users who match your search criteria in the Search Results table.
Page 90
Enterprise User Security Configuration and Management Tools Figure 2–11 Enterprise Security Manager Console Group Subtab 2-28 Oracle Database Advanced Security Administrator's Guide...
Page 91
Enterprise User Security Configuration and Management Tools Figure 2–12 Enterprise Security Manager Console Edit Group Page Configuration and Administration Tools Overview 2-29...
Page 92
Enterprise User Security Configuration and Management Tools Realm Configuration Tabbed Window The Realm Configuration tabbed window, which is shown in Figure 2–13, enables you to configure identity management realm attributes that pertain to Enterprise User Security. The fields that you can edit on this page are described in Table 2–13 on page 2-30.
Page 93
Enterprise User Security Configuration and Management Tools Enterprise Security Manager Command-Line Utility Enterprise Security Manager provides a command-line utility, which can be used to perform the most common tasks that the graphical user interface tool performs. Enter all Enterprise Security Manager command-line utility commands from the Oracle Enterprise Manager Oracle home.
Enterprise User Security Configuration and Management Tools See Also: "Duties of an Enterprise User Security Administrator/DBA" page 2-35 for a list of tasks that can be performed with Enterprise Security Manager and Enterprise Security Manager Console. Chapter 13, "Administering Enterprise User Security" detailed information about how to use Enterprise Security Manager and Enterprise Security Manager Console to administer enterprise users.
Enterprise User Security Configuration and Management Tools After you start this tool, you will be presented with the opening page that is shown Figure 2–14 on page 2-33. Choose the Directory Usage Configuration option on this page, click Next, and choose the directory server where you wish to store your enterprise users.
Duties of a Security Administrator/DBA phase one, it populates a table with database user information. During phase two, the database user information is migrated to the directory. This tool is automatically installed in the following location when you install an Oracle Database client: $ORACLE_HOME/rdbms/bin/umu The basic syntax for this utility is as follows:...
Duties of an Enterprise User Security Administrator/DBA Table 2–14 (Cont.) Common Security Administrator/DBA Configuration and Administrative Tasks Task Tools Used See Also Configure a database to accept RADIUS Oracle Net "Step 2: Configure RADIUS on the Oracle authentication Database Server" on page 5-10 Create a RADIUS user and grant them access SQL*Plus...
Duties of an Enterprise User Security Administrator/DBA Table 2–15 Common Enterprise User Security Administrator Configuration and Administrative Tasks Task Tools Used See Also Create an identity management realm in Oracle Internet Directory Oracle Internet Directory Administrator's Oracle Internet Directory Self-Service Console (Delegated Guide for information about how to Administration Service) perform this task...
Page 99
Duties of an Enterprise User Security Administrator/DBA Table 2–15 (Cont.) Common Enterprise User Security Administrator Configuration and Administrative Task Tools Used See Also Manage user wallets on the local system or Oracle Wallet Manager Chapter 8, "Using Oracle Wallet Manager" update database and directory user passwords Request initial Kerberos ticket when KDC is...
Page 100
Duties of an Enterprise User Security Administrator/DBA 2-38 Oracle Database Advanced Security Administrator's Guide...
Part II Network Data Encryption and Integrity This part describes how to configure data encryption and integrity for your existing Oracle network, and for thin JDBC connections to the database by using the encryption features of Oracle Advanced Security. It contains the following chapters: Chapter 3, "Configuring Network Data Encryption and Integrity for Oracle Servers and Clients"...
Configuring Network Data Encryption and Integrity for Oracle Servers and Clients This chapter describes how to configure native Oracle Net Services data encryption integrity for Oracle Advanced Security. It contains the following topics: Oracle Advanced Security Encryption Oracle Advanced Security Data Integrity Diffie-Hellman Based Key Management How To Configure Data Encryption and Integrity Oracle Advanced Security Encryption...
Oracle Advanced Security Encryption Prior to Release 8.1.7, Oracle Advanced Security provided Note: three editions: Domestic, Upgrade, and Export—each with different key lengths. This release now contains a complete complement of the available encryption algorithms and key lengths, previously only available in the Domestic edition. Users deploying prior versions of the product can obtain the Domestic edition for a specific product release.
Oracle Advanced Security Data Integrity of message security, but with a performance penalty. The magnitude of the performance penalty depends on the speed of the processor performing the encryption. 3DES typically takes three times as long to encrypt a data block when compared to the standard DES algorithm.
Diffie-Hellman Based Key Management Data modification attack This type of attack occurs when an unauthorized party intercepts data in transit, alters it, and retransmits it. For example, if a bank deposit of $100 is intercepted, the monetary amount is changed to $10,000, and then the higher amount is retransmitted, then that is a data modification attack.
How To Configure Data Encryption and Integrity Oracle Advanced Security key management function changes the session key with every session. Authentication Key Fold-in The purpose of Authentication Key Fold-in is to defeat a possible third party attack (historically called the man-in-the-middle attack) on the Diffie-Hellman key negotiation.
How To Configure Data Encryption and Integrity About Activating Encryption and Integrity In any network connection, it is possible for both the client and server to each support more than one encryption algorithm and more than one integrity algorithm. When a connection is made, the server selects which algorithm to use, if any, from those algorithms specified in the files.
Page 109
How To Configure Data Encryption and Integrity REQUESTED REQUIRED The default value for each of the parameters is ACCEPTED. REJECTED Select this value if you do not elect to enable the security service, even if required by the other side. In this scenario, this side of the connection specifies that the security service is not permitted.
How To Configure Data Encryption and Integrity In this scenario, this side of the connection specifies that the security service must be enabled. The connection fails if the other side specifies REJECTED or if there is no compatible algorithm on the other side. Table 3–1 shows whether the security service is enabled, based on a combination of client and server configuration parameters.
How To Configure Data Encryption and Integrity the sqlnet.crypto_seed parameter in the sqlnet.ora file. It can be 10 to 70 characters in length and changed at any time. The Diffie-Hellman key exchange uses the random numbers to generate unique session keys for every connect session.
Page 112
How To Configure Data Encryption and Integrity Figure 3–1 Oracle Advanced Security Encryption Window Choose the Encryption tab. Depending upon which system you are configuring, select CLIENT or SERVER from the pull-down list. From the Encryption Type list, select one of the following: REQUESTED REQUIRED ACCEPTED...
How To Configure Data Encryption and Integrity Repeat this procedure to configure encryption on the other system. The sqlnet.ora file on the two systems should contain the following entries: On the server: SQLNET.ENCRYPTION_SERVER = [accepted | rejected | requested | required] SQLNET.ENCRYPTION_TYPES_SERVER = (valid_encryption_algorithm [,valid_ encryption_algorithm]) On the client:...
Page 114
How To Configure Data Encryption and Integrity Navigate to the Oracle Advanced Security profile. (See "Navigating to the Oracle Advanced Security Profile" on page 2-3) The Oracle Advanced Security tabbed window appears (Figure 3–2): Figure 3–2 Oracle Advanced Security Integrity Window Choose the Integrity tab.
How To Configure Data Encryption and Integrity Choose File > Save Network Configuration. The sqlnet.ora file is updated. Repeat this procedure to configure integrity on the other system. The sqlnet.ora file on the two systems should contain the following entries: On the server: SQLNET.CRYPTO_CHECKSUM_SERVER = [accepted | rejected | requested | required]...
Page 116
How To Configure Data Encryption and Integrity 3-14 Oracle Database Advanced Security Administrator's Guide...
Configuring Network Data Encryption and Integrity for Thin JDBC Clients This chapter describes the Java implementation of Oracle Advanced Security, which lets thin Java Database Connectivity (JDBC) clients securely connect to Oracle Databases. This chapter contains the following topics: About the Java Implementation Configuration Parameters Oracle Database JDBC Developer's Guide and Reference, for See Also:...
About the Java Implementation Microsystems defined the JDBC standard and Oracle Corporation implements and extends the standard with its own JDBC drivers. Oracle JDBC drivers are used to create JDBC applications to communicate with Oracle databases. Oracle implements two types of JDBC drivers: Thick JDBC drivers built on top of the C-based Oracle Net client, as well as a Thin (Pure Java) JDBC driver to support downloadable applets.
About the Java Implementation Oracle Advanced Security continues to encrypt and provide integrity checking of Oracle Net Services traffic between Oracle Net clients and Oracle servers using algorithms written in C. The Oracle Advanced Security Java implementation provides Java versions of the following encryption algorithms: RC4_256 RC4_128 RC4_56...
Configuration Parameters the code. The process leaves the original program structure intact, letting the program run correctly while changing the names of the classes, methods, and variables in order to hide the intended behavior. Although it is possible to decompile and read non-obfuscated Java code, obfuscated Java code is sufficiently difficult to decompile to satisfy U.S.
Configuration Parameters Client Integrity Selected List: ORACLE.NET.CRYPTO_CHEKSUM_TYPES_CLIENT This parameter defines the data integrity algorithm to be used. Table 4–4 describes this parameter's attributes. Table 4–4 ORACLE.NET.CRYPTO_CHEKSUM_TYPES_CLIENT Parameter Attributes Attribute Description Parameter Type String Parameter Class Static Permitted Values Syntax up.put("oracle.net.crypto_checksum_types_ client",alg) Example up.put("oracle.net.crypto_checksum_types_...
Part III Oracle Advanced Security Strong Authentication This part describes how to configure strong authentication methods for your existing Oracle network. It contains the following chapters, each of which describes a particular authentication method supported by Oracle Advanced Security: Chapter 5, "Configuring RADIUS Authentication" Chapter 6, "Configuring Kerberos Authentication"...
Configuring RADIUS Authentication This chapter describes how to configure an Oracle Database server for use with RADIUS (Remote Authentication Dial-In User Service). This chapter contains the following topics: RADIUS Overview RADIUS Authentication Modes Enabling RADIUS Authentication, Authorization, and Accounting Using RADIUS to Log In to a Database RSA ACE/Server Configuration Checklist SecurID, an authentication product of RSA Security, Inc., Note:...
Page 126
RADIUS Overview change the authentication method without modifying either the Oracle client or the Oracle database server. From the user's perspective, the entire authentication process is transparent. When the user seeks access to an Oracle database server, the Oracle database server, acting as the RADIUS client, notifies the RADIUS server.
RADIUS Authentication Modes Table 5–1 RADIUS Authentication Components Component Stored Information Oracle client Configuration setting for communicating through RADIUS. Oracle database Configuration settings for passing information between the Oracle server/RADIUS client and the RADIUS server. client The secret key file. RADIUS server Authentication and authorization information for all users.
Page 128
RADIUS Authentication Modes Figure 5–2 Synchronous Authentication Sequence Client Oracle RADIUS Authentication server/ Server Server RADIUS client . . . A user logs in by entering a connect string, pass code, or other value. The client system passes this data to the Oracle database server. The Oracle database server, acting as the RADIUS client, passes the data from the Oracle client to the RADIUS server.
RADIUS Authentication Modes Example: Synchronous Authentication with SecurID Token Cards With SecurID authentication, each user has a token card that displays a dynamic number that changes every sixty seconds. To gain access to the Oracle database server/RADIUS client, the user enters a valid pass code that includes both a personal identification number (PIN) and the dynamic number currently displayed on the user's SecurID card.
Page 130
RADIUS Authentication Modes Figure 5–3 Asynchronous Authentication Sequence Client Oracle RADIUS Authentication server/ Server Server RADIUS client . . . A user seeks a connection to an Oracle database server. The client system passes the data to the Oracle database server. 5-6 Oracle Database Advanced Security Administrator's Guide...
Page 131
RADIUS Authentication Modes The Oracle database server, acting as the RADIUS client, passes the data from the Oracle client to the RADIUS server. The RADIUS server passes the data to the appropriate authentication server, such as a Smart Card, SecurID ACE, or token card server. The authentication server sends a challenge, such as a random number, to the RADIUS server.
Enabling RADIUS Authentication, Authorization, and Accounting The Oracle client sends the user's response to the authentication server by way of the Oracle database server and the RADIUS server. If the user has entered a valid number, the authentication server sends an "accept" packet back to the Oracle client by way of the RADIUS server and the Oracle database server.
Enabling RADIUS Authentication, Authorization, and Accounting Task 9: Configure Mapping Roles Task 1: Install RADIUS on the Oracle Database Server and on the Oracle Client RADIUS is installed with Oracle Advanced Security during a typical installation of Oracle Database. Oracle Database operating system-specific installation See Also: documentation, for information about installing Oracle Advanced Security and the RADIUS adapter...
Page 134
Enabling RADIUS Authentication, Authorization, and Accounting Figure 5–4 Oracle Advanced Security Authentication Window Choose the Authentication tab. From the Available Methods list, select RADIUS. Choose the right-arrow [>] to move RADIUS to the Selected Methods list. Move any other methods you want to use in the same way. Arrange the selected methods in order of required usage by selecting a method in the Selected Methods list, and clicking Promote or Demote to position it in the list.
Page 135
Enabling RADIUS Authentication, Authorization, and Accounting Create the RADIUS Secret Key File on the Oracle Database Server Obtain the RADIUS secret key from the RADIUS server. For each RADIUS client, the administrator of the RADIUS server creates a shared secret key, which must be longer than 16-characters.
Page 136
Enabling RADIUS Authentication, Authorization, and Accounting Figure 5–5 Oracle Advanced Security Other Params Window From the Authentication Service list, select RADIUS. In the Host Name field, accept the localhost as the default primary RADIUS server, or enter another host name. Ensure that the default value of the Secret File field is valid.
Page 137
Enabling RADIUS Authentication, Authorization, and Accounting OS_AUTHENT_PREFIX="" Setting REMOTE_OS_AUTHENT to TRUE can enable a Caution: security breach because it lets someone using a non-secure protocol, such as TCP, perform an operating system-authorized login (formerly called an OPS$ login). Oracle Database Reference and the Oracle Database See Also: Administrator's Guide, for information about setting initialization parameters on an Oracle Database server...
Page 138
Enabling RADIUS Authentication, Authorization, and Accounting Field Description Number of Retries Specifies the number of times the Oracle database server resends messages to the primary RADIUS server. The default is three retries. For instructions on configuring RADIUS accounting, see: Task 5: Configure RADIUS Accounting on page 5-19.
Page 139
Enabling RADIUS Authentication, Authorization, and Accounting Appendix C, "Integrating Authentication Devices Using See Also: RADIUS", for information about how to customize the challenge-response user interface To configure challenge-response: If you are using JDK 1.1.7 or JRE 1.1.7, set the JAVA_HOME environment variable to the JRE or JDK location on the system where the Oracle client is run: On UNIX, enter this command at the prompt: % setenv JAVA_HOME /usr/local/packages/jre1.1.7B...
Page 140
Enabling RADIUS Authentication, Authorization, and Accounting The keyword feature is provided by Oracle and supported Note: by some, but not all, RADIUS servers. You can use this feature only if your RADIUS server supports it. By setting a keyword, you let the user avoid using a password to verify identity.
Enabling RADIUS Authentication, Authorization, and Accounting Task 3: Create a User and Grant Access To grant user access: Launch SQL*Plus and execute these commands to create and grant access to a user identified externally on the Oracle database server. SQL> CONNECT system/manager@database_name; SQL>...
Page 142
Enabling RADIUS Authentication, Authorization, and Accounting Add externally identified users and roles. To configure the Oracle client (where users log in): Set the RADIUS challenge-response mode to ON for the client if you have not already done so by following the steps listed in "Configure Challenge-Response"...
Enabling RADIUS Authentication, Authorization, and Accounting Ensure that RADIUS groups which map to Oracle roles adhere to the ORACLE_ ROLE syntax. For example: USERNAME USERPASSWD="user_password", SERVICE_TYPE=login_user, VENDOR_SPECIFIC=ORACLE, ORACLE_ROLE=ORA_ora920_sysdba The RADIUS server administration documentation for See Also: information about configuring the server. Task 5: Configure RADIUS Accounting RADIUS accounting logs information about access to the Oracle database server and stores it in a file on the RADIUS accounting server.
Enabling RADIUS Authentication, Authorization, and Accounting Task 6: Add the RADIUS Client Name to the RADIUS Server Database 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.
Enabling RADIUS Authentication, Authorization, and Accounting Task 9: Configure Mapping Roles 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 request using RADIUS. To use this feature, configure roles on both the Oracle database server and the RADIUS server.
Using RADIUS to Log In to a Database See Also: Challenge-Response (Asynchronous) Authentication Mode page 5-5 Configure Challenge-Response on page 5-14 These sections describe how to configure challenge-response mode. Using RADIUS to Log In to a Database If you are using the synchronous authentication mode, launch SQL*Plus and enter the following command at the prompt: CONNECT username/password@database_alias Note that you can log in with this command only when challenge-response is not...
Page 147
RSA ACE/Server Configuration Checklist RSA ACE/Server documentation for specific See Also: information about troubleshooting. Configuring RADIUS Authentication 5-23...
Configuring Kerberos Authentication This chapter describes how to configure Oracle Advanced Security for Oracle Database for use with Kerberos authentication—and how to configure Kerberos to authenticate Oracle database users. This chapter contains the following topics: Enabling Kerberos Authentication Utilities for the Kerberos Authentication Adapter Configuring Interoperability with a Windows 2000 Domain Controller KDC Troubleshooting Configuring Kerberos Authentication 6-1...
Enabling Kerberos Authentication Enabling Kerberos Authentication To enable Kerberos authentication: Task 1: Install Kerberos Task 2: Configure a Service Principal for an Oracle Database Server Task 3: Extract a Service Table from Kerberos Task 4: Install an Oracle Database Server and an Oracle Client Task 5: Install Oracle Net Services and Oracle Advanced Security Task 6: Configure Oracle Net Services and Oracle Database Task 7: Configure Kerberos Authentication...
Enabling Kerberos Authentication Service Principal Field Description kservice A case-sensitive string that represents the Oracle service; this can be the same as the database service name. kinstance This is typically the fully qualified name of the system on which Oracle Database is running. REALM The domain name of the database server.
Enabling Kerberos Authentication Enter the following to extract the service table: kadmin.local: ktadd -k /tmp/keytab oracle/dbserver.someco.com Entry for principal oracle/dbserver.someco.com with kvno 2, encryption DES-CBC-CRC added to the keytab WRFILE: 'WRFILE:/tmp/keytab kadmin.local: exit oklist -k -t /tmp/keytab After the service table has been extracted, verify that the new entries are in the table in addition to the old ones.
Enabling Kerberos Authentication Task 5: Install Oracle Net Services and Oracle Advanced Security Install Oracle Net Services and Oracle Advanced Security on the Oracle database server and Oracle client systems. Oracle Database operating system-specific installation See Also: documentation Task 6: Configure Oracle Net Services and Oracle Database Configure Oracle Net Services on the Oracle database server and client.
Page 154
Enabling Kerberos Authentication Figure 6–1 Oracle Advanced Security Authentication Window (Kerberos) Choose the Authentication tab. From the Available Methods list, select KERBEROS5. Move KERBEROS5 to the Selected Methods list by clicking the right arrow (>). Arrange the selected methods in order of use. To do this, select a method in the Selected Methods list, then click Promote or Demote to position it in the list.
Page 155
Enabling Kerberos Authentication Figure 6–2 Oracle Advanced Security Other Params Window (Kerberos) From the Authentication Service list, select KERBEROS(V5). Type Kerberos into the Service field. This field defines the name of the service Oracle Database uses to obtain a Kerberos service ticket.
Page 156
Enabling Kerberos Authentication file is updated with the following entries: sqlnet.ora SQLNET.AUTHENTICATION_SERVICES=(KERBEROS5) SQLNET.AUTHENTICATION_KERBEROS5_SERVICE=kservice Step 2: Set the Initialization Parameters To set parameters in the initialization parameter file: Add the following parameter to the initialization parameter file: REMOTE_OS_AUTHENT=FALSE Setting REMOTE_OS_AUTHENT to TRUE can enable a Caution: security breach, because it lets someone using a non-secure protocol, such as TCP, perform an operating system-authorized...
Page 157
Enabling Kerberos Authentication Parameter: SQLNET.KERBEROS5_CLOCKSKEW=number_of_seconds_ accepted_as_network_delay Description: This parameter specifies how many seconds can pass before a Kerberos credential is considered out-of-date. It is used when a credential is actually received by either a client or a database server. An Oracle database server also uses it to decide if a credential needs to be stored to protect against a replay attack.
Enabling Kerberos Authentication Description: This parameter specifies the complete path name to the Kerberos realm translation file. The translation file provides a mapping from a host name or domain name to a realm. The default is operating system-dependent. For UNIX, it is /etc/krb.realms Example: SQLNET.KERBEROS5_REALMS=/krb5/krb.realms...
Utilities for the Kerberos Authentication Adapter Task 10: Get an Initial Ticket for the Kerberos/Oracle User Before you can connect to the database, you must ask the Key Distribution Center (KDC) for an initial ticket. To do so, run the following on the client: % okinit username If, when making a database connection, a reference such as the following follows a database link, you must use the forwardable flag (-f) option:...
Utilities for the Kerberos Authentication Adapter Table 6–1 (Cont.) Options for the okinit Utility Option Description Specify the lifetime of the ticket-granting ticket and all subsequent tickets. By default, the ticket-granting ticket is good for eight (8) hours, but shorter or longer-lived credentials may be desired.
Configuring Interoperability with a Windows 2000 Domain Controller KDC % oklist -f 27-Jul-1999 21:57:51 28-Jul-1999 05:58:14 krbtgt/SOMECO.COM@SOMECO.COM Flags: FI Removing Credentials from the Cache File with the okdstry Utility Use the utility to remove credentials from the credentials cache file: okdstry $ okdstry -f where the -f command option lets you specify an alternative credential cache.
Configuring Interoperability with a Windows 2000 Domain Controller KDC Task 2: Configuring a Windows 2000 Domain Controller KDC to Interoperate with an Oracle Client Task 3: Configuring an Oracle Database to Interoperate with a Windows 2000 Domain Controller KDC Task 4: Getting an Initial Ticket for the Kerberos/Oracle User Task 1: Configuring an Oracle Kerberos Client to Interoperate with a Windows 2000 Domain Controller KDC The following steps must be performed on the Oracle Kerberos client.
Configuring Interoperability with a Windows 2000 Domain Controller KDC Step 2: Specifying Oracle Configuration Parameters in the sqlnet.ora File Configuring an Oracle client to interoperate with a Windows 2000 domain controller KDC uses the same sqlnet.ora file parameters that are listed in "Step 1: Configure Kerberos on the Client and on the Database Server"...
Page 164
Configuring Interoperability with a Windows 2000 Domain Controller KDC For example, if the Oracle database runs on the host sales3854.us.acme.com, then use Active Directory to create a user with the username sales3854.us.acme.com and the password oracle. Do not create a user as host/hostname.dns.com, such as Note: oracle/sales3854.us.acme.com, in Active Directory.
Configuring Interoperability with a Windows 2000 Domain Controller KDC Task 3: Configuring an Oracle Database to Interoperate with a Windows 2000 Domain Controller KDC The following steps must be performed on the host computer where the Oracle database is installed. Step 1: Setting Configuration Parameters in the sqlnet.ora File Specify values for the following parameters in the sqlnet.ora file for the database server:...
Troubleshooting Troubleshooting This section lists some common configuration problems and explains how to resolve them. If you cannot get your ticket-granting ticket using OKINIT: – Ensure that the default realm is correct by examining the file. krb.conf – Ensure that the KDC is running on the host specified for the realm. –...
Configuring Secure Sockets Layer Authentication This chapter describes how to configure and use the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols which are supported by Oracle Advanced Security. It contains the following topics: SSL and TLS in an Oracle Environment Public Key Infrastructure in an Oracle Environment SSL Combined with Other Authentication Methods SSL and Firewalls...
SSL and TLS in an Oracle Environment SSL and TLS in an Oracle Environment Secure Sockets Layer (SSL) is an industry standard protocol originally designed by Netscape Communications Corporation for securing network connections. SSL uses RSA public key cryptography in conjunction with symmetric key cryptography to provide authentication, encryption, and data integrity.
SSL and TLS in an Oracle Environment About Using SSL Oracle Advanced Security supports authentication by using digital certificates over SSL in addition to the native encryption and data integrity capabilities of these protocols. By using Oracle Advanced Security SSL functionality to secure communications between clients and servers, you can Use SSL to encrypt the connection between clients and servers Authenticate any client or server, such as Oracle Application Server 10g, to any...
SSL and TLS in an Oracle Environment How SSL Works in an Oracle Environment: The SSL Handshake When a network connection over SSL is initiated, the client and server perform an SSL handshake that includes the following steps: The client and server establish which suites to use.
Public Key Infrastructure in an Oracle Environment Public Key Infrastructure in an Oracle Environment A public key infrastructure (PKI) is a substrate of network components that provide a security underpinning, based on trust assertions, for an entire organization. A PKI exists so that disparate network entities can access its security services, which use public-key cryptography, on an as-needed basis.
Public Key Infrastructure in an Oracle Environment Public Key Infrastructure Components in an Oracle Environment Public key infrastructure (PKI) components in an Oracle environment include the following: Certificate Authority Certificates Certificate Revocation Lists Wallets Hardware security modules Certificate Authority A certificate authority (CA) is a trusted third party that certifies the identity of entities, such as users, databases, administrators, clients, and servers.
Page 173
Public Key Infrastructure in an Oracle Environment A certificate contains the entity's name, public key, and an expiration date—as well as a serial number and information. It can also contain information certificate chain about the privileges associated with the certificate. When a network entity receives a certificate, it verifies that it is a trusted certificate,...
Page 174
Public Key Infrastructure in an Oracle Environment Wallets A wallet is a container that is used to store authentication and signing credentials, including private keys, certificates, and trusted certificates needed by SSL. In an Oracle environment, every entity that communicates over SSL must have a wallet containing an X.509 version 3 certificate, private key, and list of trusted certificates (with the exception of Diffie-Hellman).
Page 175
Public Key Infrastructure in an Oracle Environment Currently only nCipher devices are certified with Oracle Note: Advanced Security. Certificate with other vendors is in progress. "Configuring Your System to Use Hardware Security See Also: Modules" on page 7-48 for details configuration details. Configuring Secure Sockets Layer Authentication 7-9...
SSL Combined with Other Authentication Methods SSL Combined with Other Authentication Methods You can configure Oracle Advanced Security to use SSL concurrently with database usernames and passwords, RADIUS, and Kerberos, which are discussed in the following sections: Architecture: Oracle Advanced Security and SSL How SSL Works with Other Authentication Methods Appendix A, "Data Encryption and Integrity See Also:...
Page 177
SSL Combined with Other Authentication Methods Figure 7–1 SSL in Relation to Other Authentication Methods Wallet Oracle Client Oracle Server Authentication Server The client seeks to connect to the Oracle database server. SSL performs a handshake during which the server authenticates itself to the client and both the client and server establish which cipher suite to use.
SSL and Firewalls SSL and Firewalls Oracle Advanced Security supports two types of firewalls: Application proxy-based firewalls, such as Network Associates Gauntlet, or Axent Raptor. Stateful packet inspection firewalls, such as Check Point Firewall-1, or Cisco PIX Firewall. When you enable SSL, stateful inspection firewalls behave like application proxy firewalls because they do not decrypt encrypted packets.
Page 179
SSL and Firewalls Although Oracle Connection Manager can be used to avoid Note: opening up multiple SSL ports through the firewall, consider the following: The internal connection, between Oracle Connection Manager and the database, is not an SSL connection. You should encrypt such connections, using Oracle Advanced Security native encryption.
SSL Usage Issues SSL Usage Issues Consider the following issues when using SSL: SSL use enables secure communication with other Oracle products, such as Oracle Internet Directory. Because SSL supports both authentication and encryption, the client/server connection is somewhat slower than the standard Oracle Net TCP/IP transport (using native encryption).
Enabling SSL Enabling SSL To enable SSL: Task 1: Install Oracle Advanced Security and Related Products Task 2: Configure SSL on the Server Task 3: Configure SSL on the Client Task 4: Log on to the Database Task 1: Install Oracle Advanced Security and Related Products Install Oracle Advanced Security on both the client and server.
Page 182
Enabling SSL Manager. The wallet should contain a certificate with a status of "Ready" and auto login turned on. If auto login is not on, then select it from the Wallet menu and re-save the wallet. This turns auto login on. See Also: "Opening an Existing Wallet"...
Page 183
Enabling SSL and listener.ora files are updated with the following sqlnet.ora entries: wallet_location = (SOURCE= (METHOD=File) (METHOD_DATA= (DIRECTORY=wallet_location))) The listener uses the wallet defined in listener.ora (it Note: can use any database wallet). When SSL is configured for a server using Net Manager, the wallet location is entered into the listener.ora and the sqlnet.ora files.
Enabling SSL Prioritize cipher suites starting with the strongest and moving to the weakest to ensure the highest level of security possible. If you set a cipher suite employing Diffie-Hellman Note: anonymous authentication on the server, then you must also set the same cipher suite on the client.
Page 185
Enabling SSL To specify cipher suites for the server: Navigate to the SSL tab of the Oracle Advanced Security window in Oracle Net Manager, and select Configure SSL for: Server. Click Add. A dialog box displays available cipher suites (Figure 7–2).
Page 186
Enabling SSL Figure 7–3 Oracle Advanced Security SSL Window (Server) Use the up and down arrows to prioritize the cipher suites. Choose File > Save Network Configuration. file is updated with the following entry: sqlnet.ora SSL_CIPHER_SUITES= (SSL_cipher_suite1 [,SSL_cipher_suite2]) Step 4: Set the Required SSL Version on the Server (Optional) You can set the SSL_VERSION parameter in the sqlnet.ora file.
Page 187
Enabling SSL To set the SSL version for the server: Navigate to the SSL tab of the Oracle Advanced Security window in Oracle Net Manager, and select Configure SSL for: Server. In the Require SSL Version: list, the default is Any. Accept this default or select the SSL version you want to use.
Page 188
Enabling SSL Figure 7–4 Oracle Advanced Security SSL Window (Server) Uncheck Require Client Authentication. Choose File > Save Network Configuration. file is updated with the following entry: sqlnet.ora SSL_CLIENT_AUTHENTICATION=FALSE Step 6: Set SSL as an Authentication Service on the Server (Optional) The SQLNET.AUTHENTICATION_SERVICES parameter in the sqlnet.ora file sets the SSL authentication service.
Enabling SSL To set the SQLNET.AUTHENTICATION_SERVICES parameter on the server: Add TCP/IP with SSL (TCPS) to this parameter in the sqlnet.ora file by using a text editor. For example, if you want to use SSL authentication in conjunction with RADIUS authentication, set this parameter as follows: SQLNET.AUTHENTICATION_SERVICES = (TCPS, radius) If you do not want to use SSL authentication in conjunction with another authentication method, then do not set this parameter.
Page 190
Enabling SSL Step 1: Confirm Client Wallet Creation Before proceeding with the next step, you must confirm that a wallet has been created on the client and that the client has a valid certificate. Oracle Corporation recommends that you use Oracle Wallet Note: Manager to remove the trusted certificate...
Page 191
Enabling SSL (SECURITY= (SSL_SERVER_CERT_DN="cn=finance,cn=OracleContext,c=us,o=acme")) The client uses this information to obtain the list of DNs it expects for each of the servers, enforcing the server's DN to match its service name. Example 7–1 shows an entry for the Finance database in the tnsnames.ora file. Alternatively, the administrator can ensure that the common name (CN) portion of the server's DN matches the service name.
Page 192
Enabling SSL Navigate to the Oracle Advanced Security profile. (See "Navigating to the Oracle Advanced Security Profile" on page 2-3) The Oracle Advanced Security SSL window appears (Figure 7–5): Figure 7–5 Oracle Advanced Security SSL Window (Client) Choose the SSL tab. Select Configure SSL for: Client.
Page 193
Enabling SSL This check can be made only when RSA ciphers are Note: selected, which is the default setting. No (default): SSL checks for a match between the DN and the service name, but does not enforce it. Connections succeed regardless of the outcome, but an error is logged if the match fails.
Page 194
Enabling SSL Step 4: Set the Client SSL Cipher Suites (Optional) A cipher suite is a set of authentication, encryption, and data integrity algorithms used for exchanging messages between network entities. During an SSL handshake, two entities negotiate to see which cipher suite they will use when transmitting messages back and forth.
Page 195
Enabling SSL If the SSL_CLIENT_AUTHENTICATION parameter is set to Note: true in the sqlnet.ora file, then disable all cipher suites that use Diffie-Hellman anonymous authentication. Otherwise, the connection fails. To specify client cipher suites: Navigate to the SSL tab of the Oracle Advanced Security window in Oracle Net Manager, and select Configure SSL for Client.
Page 196
Enabling SSL Use the up and down arrows to prioritize the cipher suites. Choose File > Save Network Configuration. file is updated with the following entry: sqlnet.ora SSL_CIPHER_SUITES= (SSL_cipher_suite1 [,SSL_cipher_suite2]) Step 5: Set the Required SSL Version on the Client (Optional) You can set the SSL_VERSION parameter in the sqlnet.ora file.
Troubleshooting SSL Oracle Advanced Security. For example, use this parameter if you want the server to authenticate itself to the client by using SSL and the client to authenticate itself to the server by using RADIUS. To set the client SQLNET.AUTHENTICATION_SERVICES parameter: Add TCP/IP with SSL (TCPS) to this parameter in the sqlnet.ora file by using a text editor.
Page 198
Troubleshooting SSL Ensure that the correct wallet location is specified in the sqlnet.ora file. Note: this should be the same directory location where you saved the wallet. Enable Oracle Net tracing to determine the name of the file that cannot be opened and the reason.
Page 199
Troubleshooting SSL Action: Check the following: Ensure that the correct wallet location is specified in the sqlnet.ora file so the system can find the wallet. Use Oracle Net Manager to ensure that cipher suites are set correctly in the sqlnet.ora file. (Sometimes this error occurs because the sqlnet.ora has been manually edited and the cipher suite names are misspelled.
Troubleshooting SSL A certificate authority for one of the certificates in the chain is not recognized as a trust point. The signature in one of the certificates cannot be verified. Action: See "Opening an Existing Wallet" on page 8-13 to use Oracle Wallet Manager to open your wallet and check the following: Ensure that all of the certificates installed in your wallet are current (not expired).
Certificate Validation with Certificate Revocation Lists does not give the complete chain and you do not have the appropriate trust points to complete it. Action: Use Oracle Wallet Manager to install the trust points that are required to complete the chain. See "Importing a Trusted Certificate"...
Certificate Validation with Certificate Revocation Lists How CRL Checking Works Certificate revocation status is checked against CRLs which are located in file system directories, Oracle Internet Directory, or downloaded from the location specified in the CRL Distribution Point (CRL DP) extension on the certificate. Typically, CRL definitions are valid for a few days.
Certificate Validation with Certificate Revocation Lists Note: For performance reasons, only user certificates are checked. Oracle recommends that you store CRLs in the directory rather than the local file system. Configuring Certificate Validation with Certificate Revocation Lists The SSL_CERT_REVOCATION parameter must be set to REQUIRED or REQUESTED in the sqlnet.ora file to enable certificate revocation status checking.
Page 204
Certificate Validation with Certificate Revocation Lists Figure 7–7 Oracle Advanced Security SSL Window with Certificate Revocation Checking Selected Choose one of the following options from the Revocation Check list (see Figure 7–7): REQUIRED Requires certificate revocation status checking. The SSL connection is rejected if a certificate is revoked or no CRL is found.
Page 205
Certificate Validation with Certificate Revocation Lists For performance reasons, only user certificates are checked Note: for revocation. (Optional) If CRLs are stored on your local file system, then set one or both of the following fields that specify where they are stored. These fields are available only when Revocation Check is set to REQUIRED or REQUESTED.
Certificate Validation with Certificate Revocation Lists When configuring your ldap.ora file, you should specify Note: only a non-SSL port for the directory. CRL download is done as part of the SSL protocol, and making an SSL connection within an SSL connection is not supported. Oracle Advanced Security CRL functionality will not work if the Oracle Internet Directory non-SSL port is disabled.
Page 207
Certificate Validation with Certificate Revocation Lists CRLs must be updated at regular intervals (before they Note: expire) for successful validation. You can automate this task by using orapki commands in a script. You can also use LDAP command-line tools to manage CRLs in Oracle Internet Directory.
Page 208
Certificate Validation with Certificate Revocation Lists issuer's name. Then when the system validates a certificate, the same hash function is used to calculate the link (or copy) name so the appropriate CRL can be loaded. Depending on your operating system, enter one of the following commands to rename CRLs stored in the file system.
Page 209
Certificate Validation with Certificate Revocation Lists permission to add CRLs to the CRL subtree, and wallet_location is the location of a wallet that contains the certificate of the CA that issued the CRL. Using -wallet and -summary are optional. Specifying -wallet causes the tool to verify the validity of the CRL against the CA's certificate prior to uploading it to the directory.
Page 210
Certificate Validation with Certificate Revocation Lists following at the command line: orapki crl display -crl crl_location [-wallet wallet_location] -summary where crl_location is the location of the CRL in the directory. It is convenient to paste the CRL location from the list that displays when you use the orapki crl list command.
Certificate Validation with Certificate Revocation Lists [-summary] where issuer_name is the name of the CA who issued the CRL, the hostname and ssl_port are for the system on which your directory is installed, and username is the directory user who has permission to delete CRLs from the CRL subtree.
Page 212
Certificate Validation with Certificate Revocation Lists Oracle Net Services Administrator's Guide for information See Also: about setting tracing parameters to enable Oracle Net tracing Oracle Net Tracing File Error Messages Associated with Certificate Validation The following trace messages, relevant to certificate validation, may be logged between the entry and exit entries in the Oracle Net tracing file.
Page 213
Certificate Validation with Certificate Revocation Lists If necessary, use the orapki utility to configure CRLs for system use as follows: – For CRLs stored on your local file system, see "Renaming CRLs with a Hash Value for Certificate Validation" on page 7-41 –...
Configuring Your System to Use Hardware Security Modules Configuring Your System to Use Hardware Security Modules Oracle Advanced Security supports hardware security modules that use APIs which conform to the RSA Security, Inc., PKCS #11 specification. Typically, these hardware devices are used to securely store and manage private keys in tokens or smart cards, or to accelerate cryptographic processing.
Configuring Your System to Use Hardware Security Modules Configuring Your System to Use nCipher Hardware Security Modules Hardware security modules made by nCipher Corporation are certified to operate with Oracle Advanced Security. These modules provide a secure way to store keys and off load cryptographic processing.
Configuring Your System to Use Hardware Security Modules (UNIX) /opt/nfast (Windows) C:\nfast The nCipher PKCS #11 library is located at the following file system directory locations for typical installations: (UNIX 32 bit): /opt/nfast/toolkits/pkcs11/libcknfast.so (UNIX 64 bit): /opt/nfast/toolkits/pkcs11/libcknfast-64.so (Windows): C:\nfast\toolkits\pkcs11\cknfast.dll Use the 32-bit library version when using the 32-bit release Note: of Oracle Database and use the 64-bit library version when using the 64-bit release of Oracle Database.
Page 217
Configuring Your System to Use Hardware Security Modules Error Messages Associated with Using Hardware Security Modules The following errors are associated with using PKCS #11 hardware security modules: ORA-43000: PKCS11: library not found Cause: The system cannot locate the PKCS #11 library at the location specified when the wallet was created.
Page 218
Configuring Your System to Use Hardware Security Modules The nCipher log file is in the directory where the module is Note: installed at the following location: /log/logfile nCipher documentation for further information about See Also: troubleshooting. 7-52 Oracle Database Advanced Security Administrator's Guide...
Using Oracle Wallet Manager Security administrators use Oracle Wallet ManagerOracle Wallet Manager to manage public key security credentials on Oracle clients and servers. The wallets it creates can be read by Oracle Database, Oracle Application Server 10g, and the Oracle Identity Management infrastructure. This chapter describes Oracle Wallet Manager, and contains the following topics: Oracle Wallet Manager Overview Starting Oracle Wallet Manager...
Oracle Wallet Manager Overview Oracle Wallet Manager Overview Oracle Wallet Manager is an application that wallet owners use to manage and edit the security credentials in their Oracle wallets. A wallet is a password-protected container that is used to store authentication and signing credentials, including private keys, certificates, and trusted certificates needed by SSL.
Oracle Wallet Manager Overview Strong Wallet Encryption Oracle Wallet Manager stores private keys associated with X.509 certificates and uses Triple-DES encryption. Microsoft Windows Registry Wallet Storage Oracle Wallet Manager lets you optionally store multiple Oracle wallets in the user profile area of the Microsoft Windows system registry or in a Windows file management system.
Oracle Wallet Manager Overview cryptography standards called Public-Key Cryptography Standards, or PKCS for short. These standards have been developed to establish interoperability between computer systems that use public-key technology to secure data across intranets and the Internet. Oracle Wallet Manager stores X.509 certificates and private keys in PKCS #12 format, and generates certificate requests according to the PKCS #10 specification.
Page 223
Oracle Wallet Manager Overview legal usage combinations). There must be a one-to-one mapping between certificate requests and certificates. The same certificate request can be used to obtain multiple certificates; however, more than one certificate for each certificate request cannot be installed in the same wallet at the same time.
Page 224
Oracle Wallet Manager Overview Table 8–2 Oracle Wallet Manager Import of User Certificates to an Oracle Wallet KeyUsage Value Critical? Usage 2 alone, or 2 + any Accept certificate for SSL or S/MIME encryption combination excluding 5 use. 5 alone, or any combination Accept certificate for CA certificate signing use.
Starting Oracle Wallet Manager LDAP Directory Support Oracle Wallet Manager can upload wallets to and retrieve them from an LDAP-compliant directory. Storing wallets in a centralized LDAP-compliant directory lets users access them from multiple locations or devices, ensuring consistent and reliable user authentication while providing centralized wallet management throughout the wallet life cycle.
How To Create a Complete Wallet: Process Overview How To Create a Complete Wallet: Process Overview Wallets provide a necessary repository in which you can securely store your user certificates and the trust points you need to validate the certificates of your peers. The following steps provide an overview of the complete wallet creation process: Use Oracle Wallet Manager to create a new wallet: "Required Guidelines for Creating Wallet Passwords"...
Managing Wallets client wallets. It is only optional for products that take the wallet password at the time of startup. After completing the preceding process, you have a wallet that contains a user certificate and its associated trust points. Managing Wallets This section describes how to create a new wallet and perform associated wallet management tasks, such as generating certificate requests, exporting certificate requests, and importing certificates into wallets, in the following subsections:...
Managing Wallets Passwords must contain at least eight characters that consist of alphabetic characters combined with numbers or special characters. It is strongly recommended that users avoid choosing Caution: easily guessed passwords based on user names, phone numbers, or government identification numbers, such as "admin0," "oracle1," or "2135551212A."...
Page 229
Managing Wallets Click OK to continue. If the entered password does not conform to the required guidelines, then the following message appears: Password must have a minimum length of eight characters, and contain alphabetic characters combined with numbers or special characters. Do you want to try again? An alert is displayed, and informs you that a new empty wallet has been created.
Page 230
Managing Wallets In the PKCS11 library filename field, enter the path to the directory where the PKCS11 library is stored, or click Browse to find it by searching the file system. Enter the SmartCard password, and choose OK. The smart card password, which is different from the wallet password, is stored in the wallet.
Managing Wallets Opening an Existing Wallet Open a wallet that already exists in the file system directory as follows: Choose Wallet > Open from the menu bar. The Select Directory dialog box appears. Navigate to the directory location in which the wallet is located, and select the directory.
Managing Wallets For other operating systems, see the Oracle documentation for that specific operating system. Because browsers typically do not export trusted Note: certificates under PKCS #12 (other than the signer's own certificate), you may need to add trust points to authenticate the other party in the SSL connection.
Managing Wallets Choose Operations > Export Wallet..The Export Wallet dialog box appears. Enter the destination file system directory for the wallet, or navigate to the directory structure under Folders. Enter the destination file name for the wallet. Choose OK to return to the main window. Table 8–4 PKI Wallet Encoding Standards Component Encoding Standard...
Managing Wallets If no certificates have SSL key usage: When prompted, enter the user's distinguished name (DN), the LDAP server hostname and port information, and click OK. Oracle Wallet Manager attempts connection to the LDAP directory server using simple password authentication mode, assuming that the wallet password is the same as the directory password.
Managing Wallets If Oracle Wallet Manager cannot open the target wallet using the wallet password, then check to make sure you entered the correct password. Otherwise a message displays at the bottom of the window, indicating that the wallet was downloaded successfully. Saving Changes To save your changes to the current open wallet: Choose Wallet >...
Managing Wallets (UNIX) ORACLE_HOME/admin/ORACLE_SID (Windows) ORACLE_BASE\ORACLE_HOME\rdbms\admin Note: SSL uses the wallet that is saved in the system default directory location. Some Oracle applications are not able to use the wallet if it is not in the system default location. Check the Oracle documentation for your specific application to determine whether wallets must be placed in the default wallet directory location.
Managing Wallets To change the password for the current open wallet: Choose Wallet > Change Password. The Change Wallet Password dialog box appears. Enter the existing wallet password. Enter the new password. Re-enter the new password. Choose OK. A message at the bottom of the window confirms that the password was successfully changed.
Managing Certificates Choose Wallet from the menu bar. Uncheck Auto Login. A message at the bottom of the window indicates that auto login is disabled. Managing Certificates Oracle Wallet Manager uses two kinds of certificates: user certificates and trusted certificates. All certificates are signed data structures that bind a network identity with a corresponding public key.
Page 239
Managing Certificates Importing the User Certificate into the Wallet Removing a User Certificate from a Wallet Removing a Certificate Request Exporting a User Certificate Exporting a User Certificate Request Adding a Certificate Request You can add multiple certificate requests with Oracle Wallet Manager. When adding multiple requests, Oracle Wallet Manager automatically populates each subsequent request dialog box with the content of the initial request that you can then edit.
Managing Certificates Table 8–5 (Cont.) Certificate Request: Fields and Descriptions Field Name Description Organization Optional.Enter the name of the identity's organization. Example: XYZ Corp. Locality/City Optional. Enter the name of the locality or city in which the identity resides. State/Province Optional.
Page 241
Managing Certificates certificates, including the user's certificate and all of the supporting CA and subCA certificates. In contrast, an X.509 certificate file contains an individual certificate without the supporting certificate chain. To copy and paste the text only (BASE64) user certificate from the certificate authority's e-mail: Copy the certificate text from the e-mail message or file you receive from the certificate authority.
Page 242
Managing Certificates Manager main panel, and the status of the corresponding entry in the left panel subtree changes to [Ready]. Removing a User Certificate from a Wallet To remove a user certificate from a wallet: In the left panel subtree, select the certificate that you want to remove. Choose Operations >...
Managing Certificates Exporting a User Certificate Request To save the certificate request in a file system directory, export the certificate request by using the following steps: In the left panel subtree, select the certificate request that you want to export. Choose Operations >...
Page 244
Managing Certificates Choose Paste the Certificate, and click OK. Another Import Trusted Certificate dialog panel appears with the following message: Please provide a base64 format certificate and paste it below. Paste the certificate into the window, and click OK. A message at the bottom of the window informs you that the trusted certificate was successfully installed.
Page 245
Managing Certificates A dialog panel warns you that your user certificate will no longer be verifiable by its recipients if you remove the trusted certificate that was used to sign it. Choose Yes. The selected trusted certificate is removed from the Trusted Certificates tree.
Configuring Multiple Authentication Methods and Disabling Oracle Advanced Security This chapter describes how to configure multiple authentication methods under Oracle Advanced Security, and how to use conventional user name and password authentication, even if you have configured another authentication method. This also chapter describes how to configure your network so that Oracle clients can use a specific authentication method, and Oracle servers can accept any method specified.
Disabling Oracle Advanced Security Authentication For example: % sqlplus scott/tiger@emp You can configure multiple authentication methods, Note: including both externally authenticated users and password authenticated users, on a single database. Disabling Oracle Advanced Security Authentication Use Oracle Net Manager to disable authentication methods (See "Starting Oracle Net Manager"...
Page 249
Disabling Oracle Advanced Security Authentication Figure 9–1 Oracle Advanced Security Authentication Window Choose the Authentication tab. Sequentially move all authentication methods from the Selected Method list to the Available Methods list by selecting a method and choosing the left arrow [<].
Configuring Multiple Authentication Methods Configuring Multiple Authentication Methods Many networks use more than one authentication method on a single security server. Accordingly, Oracle Advanced Security lets you configure your network so that Oracle clients can use a specific authentication method, and Oracle database servers can accept any method specified.
Configuring Oracle Database for External Authentication Configuring Oracle Database for External Authentication This section describes the parameters you must set to configure Oracle Database for network authentication, using the following tasks: Setting the SQLNET.AUTHENTICATION_SERVICES Parameter in sqlnet.ora Verifying that REMOTE_OS_AUTHENT Is Not Set to TRUE Setting OS_AUTHENT_PREFIX to a Null Value See Also: The corresponding chapter in this guide for information about...
Configuring Oracle Database for External Authentication If REMOTE_OS_AUTHENT is set to FALSE, and the server cannot support any of the authentication methods requested by the client, the authentication service negotiation fails and the connection terminates. If the parameter is set as follows in the file on either the client or server, sqlnet.ora the database attempts to use the supplied user name and password to login the...
Page 253
Configuring Oracle Database for External Authentication See Also: Oracle Database Administrator's Guide Oracle Database Heterogeneous Connectivity Administrator's Guide Configuring Multiple Authentication Methods and Disabling Oracle Advanced Security 9-7...
Configuring Oracle DCE Integration Oracle Integration enables Oracle applications and tools to access Oracle Database servers in a distributed computing environment. This chapter briefly describes the Distributed Computing Environment (DCE), the Oracle DCE Integration product, and how to configure it. It contains the following topics: Introduction to Oracle DCE Integration Configuring DCE for Oracle DCE Integration Configuring Oracle Database and Oracle Net Services for Oracle DCE...
Introduction to Oracle DCE Integration Introduction to Oracle DCE Integration Distributed Computing Environment (DCE) from the Open Group is a set of integrated network services that works across multiple systems to provide a distributed environment. The network services include remote procedure calls (RPCs), directory service, security service, threads, distributed file service, diskless support, and distributed time service.
Page 257
Introduction to Oracle DCE Integration DCE Communication/Security This component has three principal features: Authenticated RPC Oracle DCE Integration provides authenticated Remote Procedure Call (RPC) as the transport mechanism that enables multi-vendor interoperability. RPC also uses some of the other DCE services, including directory and security services, to provide location transparency and secure distributed computing.
Introduction to Oracle DCE Integration The DCE CDS offers a distributed, replicated repository service for name, address, and attributes of objects across the network. Because servers register their name and address information in the CDS, Oracle clients can make location-independent connections to Oracle Database servers.
Configuring DCE for Oracle DCE Integration Only one listener address that uses the DCE protocol is permitted for each node. Database links must specify a user name and password to connect. This release of DCE Integration does not support the Oracle Multi-Protocol Interchange.
Configuring DCE for Oracle DCE Integration Perform this task on the server only once after DCE Note: Integration has been installed. Do not perform this task on client systems. Task 2: Install the Key of the Server into a Keytab File Install the key of the server into a keytab file, .
Page 261
Configuring DCE for Oracle DCE Integration cdscp> create dir /.:/subsys/oracle cdscp> create dir /.:/subsys/oracle/names cdscp> create dir /.:/subsys/oracle/service_registry cdscp> exit Note: The directory /.:/subsys/oracle/names contains objects that map Oracle Net service names to connect descriptors, which are used by the CDS naming adapter. The directory /.:/subsys/oracle/service_registry contains objects that map the service name in DCE addresses to the network endpoint that is used by both DCE protocol...
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration This section describes how to configure an Oracle database server and Oracle Net Services to use Oracle DCE Integration after it has been successfully installed. It contains the following topics: DCE Address Parameters Task 1: Configure the Server...
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Table 10–1 (Cont.) DCE Address Parameters and Definitions Component Description CELL_NAME An optional parameter. If present, it specifies the DCE cell name of the database. If this parameter is not set, the cell name defaults to the local cell (useful for single-cell environments).
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration For servers in distributed systems that require database link connections to other servers, configure the sqlnet.ora and protocol.ora files with DCE address information. In this release, the configuration files listener.ora, Note: sqlnet.ora, tnsnames.ora, and protocol.ora are located in the $ORACLE_HOME/network/admin directory.
Page 265
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Verify that these lines are in the initialization parameter file: REMOTE_OS_AUTHENT=FALSE OS_AUTHENT_PREFIX="" Verify that the initialization parameter file does not have a multi-threaded server (MTS) entry for DCE. For example, an entry such as the following is not permitted: mts_dispatchers="(PROTOCOL=dce)(DISPATCHERS=3)"...
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration If connecting to the database across multiple cells, specify both the cell_name and the server_principal, as illustrated in the following: SQL> CREATE USER "CELL_NAME/SERVER_PRINCIPAL" IDENTIFIED EXTERNALLY; SQL> GRANT CREATE SESSION TO "CELL_NAME/SERVER_PRINCIPAL"; You must enclose the externally-identified account name in double quotation marks, because the slash is a reserved character.
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Ensure that the DCE groups that map to Oracle roles adhere to the following syntax: ORA_global_name_role[_[a][d]] Table 10–2 describes the syntax components: Table 10–2 Setting Up External Role Syntax Components Component Definition Designates that this group is used for Oracle purposes...
Page 268
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Local Groups: 0000000c-01f5-2f72-ba01-02608c2c84f3 none 0000006a-0204-2f72-b901-02608c2c84f3 subsys/dce/cds-server 00000078-daf4-2fe1-a201-02608c2c84f3 ora_dce222_dba 00000084-89c8-2fe8-a201-02608c2c84f3 ora_dce222_connect_d 00000087-8a13-2fe8-a201-02608c2c84f3 ora_dce222_resource_d 00000080-f681-2fe1-a201-02608c2c84f3 ora_dce222_role1_ad Connect to the database as usual. The following sample output lists external roles (DBA, CONNECT, RESOURCE, and ROLE1) that have been mapped to DCE groups: SQL>...
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Task 4: Configure DCE for SYSDBA and SYSOPER Connections to Oracle Databases To configure DCE so that you can connect to an Oracle database as SYSOPER or SYSDBA with DCE credentials, do the following: Create DCE groups that map to Oracle DBA and OPERATOR roles.
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Group: 0000000c-7e94-21d2-b201-9019b88baa77 none Local Groups: 0000000c-7e94-21d2-b201-9019b88baa77 none 0000006a-7e94-21d2-ad01-9019b88baa77 subsys/dce/cds-server 00000076-8b53-21d2-9301-9019b88baa77 ora_dce222_dba_ad 00000077-8b53-21d2-9301-9019b88baa77 ora_dce222_operator_ad Identity Info Expires: 1999-12-04-10:28:22 Account Expires: never Passwd Expires: never Kerberos Ticket Information: Ticket cache: /opt/dcelocal/var/security/creds/dcecred_43ae2600 Default principal: oracle@dce.dlsun685.us.oracle.com Server: krbtgt/dce.dlsun685.us.oracle.com@dce.dlsun685.us.oracle.com valid 1999-12-04-00:28:22 to 1999-12-04-10:28:22...
Page 271
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration protocol.ora sqlnet.ora Typically, CDS is used for name resolution. Thus, a local naming configuration file ) is not used, except when loading names and addresses into CDS. tnsnames.ora Parameters in protocol.ora There are four DCE parameters located in the Each parameter file...
Page 272
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration greater than the server DCE_PROTECTION level. If this entry is not specified, cell-wide default protection is used. The options follow: Option Description NONE Perform no protection for the current connection DEFAULT Use the default cell-wide protection level CONNECT...
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Option Description TRUE The default value. Select TRUE if using just the SERVER_ PRINCIPAL format, without the CELL_NAME. An example of a user specified in this format is as follows: oracle TRUE is an appropriate option if users are making connections within a single cell, or if naming conventions in the network...
Page 274
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration DCE Integration installation instructions, and "Task 3: See Also: Configure DCE CDS for Use by Oracle DCE Integration" page 10-6. For example, a service name such as ORADCE and its network address can be stored in DCE CDS.
Page 275
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Restart CDS on the system. The command to restart CDS varies between different operating systems. On the Solaris platform, for example, you can use the following command to restart CDS: /opt/dcelocal/etc/rc.dce restart Step 3: Create a tnsnames.ora File for Loading Oracle Connect Descriptors into...
Page 276
Configuring Oracle Database and Oracle Net Services for Oracle DCE Integration Parameter Name Type Mandatory? Description Oracle Identifies the Oracle system ID; each SID Parameter value must be unique on a node. This parameter is used locally only, and is not used in DCE CDS.
Connecting to an Oracle Database Server in the DCE Environment For a client or server to use DCE CDS Naming, the administrator must do the following: Ensure that the CDS Naming Adapter has been installed on that node. Add the following parameter to the file: sqlnet.ora NAMES.DIRECTORY_PATH=(cds, tnsnames, onames)
Connecting to an Oracle Database Server in the DCE Environment Verify that the service has been created by searching for the dce_service_ name as follows: % cdscp show object "/.:/subsys/oracle/service_registry/dce_service_name" For example: The following command shows you the mapping in the CDS namespace that the listener has chosen for the endpoint: % cdscp show object "/.:/subsys/oracle/service_registry/dce_svc"...
Connecting Clients Outside DCE to Oracle Servers in DCE For example: % sqlplus /@ORADCE Connecting to an Oracle Database by Using Password Authentication From a client, you can still connect with a user name and password: % sqlplus username/password@net_service_name where net_service_name is the Oracle Net service name. For example: % sqlplus scott/tiger@ORADCE Connecting Clients Outside DCE to Oracle Servers in DCE...
Page 280
Connecting Clients Outside DCE to Oracle Servers in DCE The listener.ora File The tnsnames.ora File The listener.ora File file resides on the listener node. It defines listener characteristics listener.ora and the addresses at which the listener listens. In the following example, each element is displayed on a separate line, to show the file's structure.
Page 281
Connecting Clients Outside DCE to Oracle Servers in DCE (SID_NAME=ORASID) (ORACLE_HOME=/usr/prod/oracle8)) #For all listeners, the following parameters list sample #default values. PASSWORDS_LISTENER= STARTUP_WAIT_TIME_LISTENER=0 CONNECT_TIMEOUT_LISTENER=10 TRACE_LEVEL_LISTENER=OFF Oracle Database TRACE_DIRECTORY_LISTENER=/usr/prod/ /network/trace TRACE File_LISTENER=listener.trc Oracle Database LOG_DIRECTORY_LISTENER=/usr/prod/ /network/log LOG_FILE_LISTENER=listener.log The tnsnames.ora File This file resides on both the client and the server nodes. It lists the service names and addresses of all services on the network.
Connecting Clients Outside DCE to Oracle Servers in DCE To access the DB1 database, a user can use ORATCP to identify the appropriate connect descriptor. For example: sqlplus scott/tiger@oratcp Using tnsnames.ora for Name Lookup When CDS Is Inaccessible Typically, names are resolved into network addresses by CDS. Although the main purpose of the file (in the context of native naming adapters) is to tnsnames.ora...
Part IV Enterprise User Security This part describes Oracle Database directory and security integration functionality, which enables single sign-on in a client/server environment. It contains the following chapters, which describe how to set up enterprise user security in an Oracle distributed database environment: Chapter 11, "Getting Started with Enterprise User Security"...
Getting Started with Enterprise User Security Enterprise User Security, a critical component of Oracle Identity Management, lets you create and administer large numbers of users in a secure, LDAP-compliant directory service. The following topics in this chapter explain what Enterprise User Security is and how it works: Introduction to Enterprise User Security About Using Shared Schemas for Enterprise User Security...
Introduction to Enterprise User Security Introduction to Enterprise User Security This section provides an overview of Enterprise User Security, explaining the benefits, how enterprise users access resources across a distributed database system, and how they are authenticated. It contains the following topics: The Challenges of User Management Enterprise User Security: The Big Picture About Enterprise User Security Directory Entries...
Introduction to Enterprise User Security Enterprise User Security: The Big Picture Enterprise User Security addresses user, administrative, and security challenges by relying on the identity management services supplied by Oracle Internet Directory, an LDAP-compliant directory service. Identity management is the process by which the complete security life cycle for network entities is managed in an organization.
Page 288
Introduction to Enterprise User Security Figure 11–1 Enterprise User Security and the Oracle Security Architecture ·Authorization ·Responsibilities ·S-MIME ·Roles ·Auditing ·Roles ·Interpersonal ·Privilege Rights Groups ·File Privileges Third-Party Oracle Oracle OracleAS Portal Applications E-Business Collaboration OracleAS Wireless Suite Suite Application Security Oracle Platform Security ·JAAS Roles...
Page 289
Introduction to Enterprise User Security Single password authentication lets users authenticate to multiple databases with a single global password although each connection requires a unique authentication. The password is securely stored in the centrally located, LDAP-compliant directory, and protected with security mechanisms including encryption and Access Control Lists (ACLs).
Page 290
Introduction to Enterprise User Security About Identity Management Realms An identity management realm is a subtree of directory entries, all of which are governed by the same administrative policies. For example, all employees in an enterprise who have access to the intranet may belong to one realm, while all external users who access the public applications of the enterprise may belong to another realm.
Page 291
Introduction to Enterprise User Security name (DN). When enterprise users log on to a database, the database authenticates those users by using their DN. Enterprise users are defined in the database as global users. Global users can have their own schemas, or they can share a global schema in the databases they access. You can create enterprise users by using the GLOBALLY clause in the CREATE USER statement in two different ways.
Page 292
Introduction to Enterprise User Security See Also: "Creating New Enterprise Users" on page 13-9 Oracle Database Security Guide for more information about global users. Oracle Internet Directory Administrator's Guide for information about defining users in the directory. About Enterprise User Schemas Enterprise users can retain their individual database schemas (exclusive schemas) or share schemas if the enterprise security administrator maps them to a shared schema.
Page 293
Introduction to Enterprise User Security "About Using Shared Schemas for Enterprise User See Also: Security" on page 11-19 for more information about creating and using shared schemas for enterprise users. How Enterprise Users Access Database Resources with Database Links Database links are network objects stored in the local database or in the network definition that identify a remote database, a communication path to that database, and optionally, a username and password.
Introduction to Enterprise User Security Table 11–1 Enterprise User Security Authentication: Selection Criteria Password Authentication SSL Authentication Kerberos Authentication Password-based authentication. Provides strong authentication over Provides strong authentication by SSL. using Kerberos, version 5 tickets. Provides centralized user and Provides centralized user and PKI Provides centralized user and password management.
Introduction to Enterprise User Security Enterprise User Security supports three-tier environments. Note: Oracle Database 10g proxy authentication features enable (i) proxy of user names and passwords through multiple tiers, and (ii) proxy of X.509 certificates and distinguished names through multiple tiers.
Page 296
Introduction to Enterprise User Security The entries described in the following sections can only reside within a realm Oracle Context. Enterprise Roles Enterprise users can be assigned an enterprise role, which determines their access privileges on databases. These enterprise roles are stored and managed in a directory.
Page 297
Introduction to Enterprise User Security Figure 11–2 Example of Enterprise Roles Eastern Region (Identity Management Realm) Oracle Context Registered as members of . . . Acme Widgets (Enterprise Registered as members of . . . Domain) sales_manager Enterprise Role manage_leads bonus_approval global role global role...
Page 298
Introduction to Enterprise User Security enterprise role can be assigned to one or more enterprise users. For example, you could assign the enterprise role sales_manager to a number of enterprise users who hold the same job. This information is protected in the directory, and only a directory administrator can manage users and assign their roles.
Page 299
Introduction to Enterprise User Security "Administering Enterprise Domains" on page 13-15 See Also: Database Server Entries A database server entry (represented as "Sales" in Figure 11–3) contains information about one database server. It is created by the Database Configuration Assistant during database registration.
Page 300
Introduction to Enterprise User Security Figure 11–3 Related Entries in a Realm Oracle Context realm Oracle Users Groups Context Groups OracleDBCreators OracleContextAdmins Sales OracleDBSecurityAdmins Products OracleUserSecurityAdmins (Example Database) OraclePasswordAccessibleDomains User-Schema User Search Base OracleDBAdmins OracleDBSecurity Mapping Group Search Base Group (Example) Networking Services...
Page 301
Introduction to Enterprise User Security See Also: "How Enterprise Users Are Mapped to Schemas" on page 11-20 "Managing Enterprise Domain Database Schema Mappings" page 13-20 Administrative Groups An identity management realm contains administrative groups that are related to Enterprise User Security. Figure 11–3 shows these administrative groups in a realm in the triangle labeled "Groups."...
Introduction to Enterprise User Security Table 11–2 Administrative Groups in a Realm Oracle Context Administrative Group Description DN: (cn=OracleDBCreators,cn=OracleContext...) OracleDBCreators Default owner: OracleContextAdmins (Called "Database Registration Admins" in During default realm Oracle Context creation, Oracle Internet Directory Configuration Release 9.2 and earlier Assistant sets up the following access rights/permissions for these group members: versions of Enterprise Add permission for database service objects in the realm Oracle Context...
About Using Shared Schemas for Enterprise User Security About Using Shared Schemas for Enterprise User Security The following sections describe shared schemas, and how to set them up: Overview of Shared Schemas Used in Enterprise User Security How Shared Schemas Are Configured for Enterprise Users How Enterprise Users Are Mapped to Schemas Overview of Shared Schemas Used in Enterprise User Security Users do not necessarily require individual accounts or schemas set up in each...
About Using Shared Schemas for Enterprise User Security Each enterprise user can be mapped to a shared schema on each database the user needs to access. The user connects to the shared schema when the user connects to a database. Shared schemas lower the cost of managing users in an enterprise.
Page 305
About Using Shared Schemas for Enterprise User Security multiple enterprise users (shared schema). The mapping between a single enterprise user and his or her exclusive schema is stored in the database as an association between the user DN and the schema name. The mapping between enterprise users and a shared schema is done in the directory by means of one or more mapping objects.
Page 306
About Using Shared Schemas for Enterprise User Security For example, suppose that Harriet is trying to connect to the HR database, but the database does not find Harriet's exclusive schema (in the database). In this case, the following steps occur: The HR database looks up a user schema mapping with Harriet's DN in the directory.
About Using Current User Database Links for Enterprise User Security "Task 1: Create Global Schemas and Global Roles in the See Also: Database" on page 12-12 for detailed information about how to create shared schemas for enterprise users. About Using Current User Database Links for Enterprise User Security Oracle Database supports current user database links over an SSL-authenticated network connection.
Page 308
About Using Current User Database Links for Enterprise User Security SSL to authenticate to the other databases. To specify a database as untrusted that is part of a trusted enterprise domain, use the PL/SQL package DBMS_ DISTRIBUTED_TRUST_ADMIN. To obtain a list of trusted servers, use the TRUSTED_SERVERS view.
Enterprise User Security Deployment Considerations Enterprise User Security Deployment Considerations Consider the following issues before deploying Enterprise User Security: Security Aspects of Centralizing Security Credentials Security of Password-Authenticated Enterprise User Database Login Information Considerations for Defining Database Membership in Enterprise Domains Considerations for Choosing Authentication Types between Clients, Databases, and Directories for Enterprise User Security Security Aspects of Centralizing Security Credentials...
Enterprise User Security Deployment Considerations Security of Password-Authenticated Enterprise User Database Login Information In all secure password-based authentication methods, a server authenticates a client with a password verifier, typically a hashed version of the password that must be rigorously protected. Password-based authentication to an Oracle database is no different.
Enterprise User Security Deployment Considerations Protecting Database Password Verifiers The OraclePasswordAccessibleDomains group in each identity management realm is created automatically when the realm is created, and can be managed by using Enterprise Security Manager. Enterprise domains with member databases that must view users' database password verifiers in the directory are placed into this group.
Enterprise User Security Deployment Considerations Considerations for Choosing Authentication Types between Clients, Databases, and Directories for Enterprise User Security Enterprise User Security supports the authentication types listed in Table 11–3 connections between clients, databases, and directories. Table 11–3 Enterprise User Security: Supported Authentication Types for Connections between Clients, Databases, and Directories Connection Supported Authentication Types...
Enterprise User Security Configuration Tasks and Troubleshooting This chapter describes the sequence of steps involved to configure Enterprise User Security from the initial database and directory preparation through connecting to the database as either a password-, Kerberos-, or SSL-authenticated enterprise user. In addition, a troubleshooting section is also included that will help you when testing your Enterprise User Security implementation.
Page 314
Enterprise User Security Configuration Overview Regardless of the authentication method you choose—password, SSL, or Kerberos—you must still create the global database objects and configure the identity management realm as described. The primary difference between configuration for the various authentication types lies with network connection configuration.
Page 315
Enterprise User Security Configuration Overview Figure 12–1 Enterprise User Security Configuration Flow Chart Configuration Started What OID version ESM: Set Login and realm Oracle Name attribute, ESM: Set DB-OID DBCA: Register Are you using Context version user and group authentication the database the default Are you...
Enterprise User Security Configuration Roadmap For brevity, some product names and features have been abbreviated in this flow chart. The following table lists the abbreviations used and their corresponding meaning: Abbreviation Meaning DBCA Database Configuration Assistant Enterprise Security Manager IM Realm Identity Management Realm Netmgr Oracle Net Manager...
Preparing the Directory for Enterprise User Security – "Configuring Enterprise User Security for SSL Authentication" page 12-21 Preparing the Directory for Enterprise User Security This is the first phase in configuring Enterprise User Security and must be performed before you can configure any other part of this feature. Enterprise User Security, 10g Release 1 (10.1) requires Oracle Internet Directory, Release 9.0.4, or later, which installs with the required version of the Oracle schema.
Page 318
Preparing the Directory for Enterprise User Security By default in a version 9.0.4 identity management realm, the Note: user search base is set to cn=Users,cn=realm_name, the group search base is set to cn=Groups,cn=realm_name, and the attribute for login name is set to the user's id (uid). In previous releases, this used to be cn.
Page 319
Preparing the Directory for Enterprise User Security Note: This default realm-wide setting can be overridden on a database by setting the LDAP_DIRECTORY_ACCESS initialization parameter. See Oracle Database Reference for more information about this parameter. If you are using SSL, then see Oracle Internet Directory Administrator's Guide for information about setting up SSL with two-way authentication for Oracle Internet Directory.
Page 320
Preparing the Directory for Enterprise User Security Note: If you are using SSL authentication for your database-to-directory connection, then the SSL port entered in the ldap.ora file must support two-way authentication. This requires a PKI digital certificate and wallet for Oracle Internet Directory.
Page 321
Preparing the Directory for Enterprise User Security After creating the wallet, Database Configuration Assistant stores it at ORACLE_ HOME/admin/Oracle_SID/wallet in UNIX environments and at ORACLE_ BASE\ORACLE_HOME\admin\Oracle_SID\wallet in Windows environments. If a database wallet already exists, then Database Configuration Assistant uses it and updates the wallet password. Enables auto login for the database wallet.
Page 322
Preparing the Directory for Enterprise User Security Choose Finish if you are only registering a database. Choose Next if you want to configure additional database features. To cancel database registration: Depending on user permissions, Database Configuration Note: Assistant may be unable to remove a database from its domain in the directory.
Configuring Enterprise User Security Objects in the Database and the Directory After you have prepared the directory for Enterprise User Security, then you can create the Enterprise User Security database and directory objects as described in "Configuring Enterprise User Security Objects in the Database and the Directory" page 12-11.
Page 324
Configuring Enterprise User Security Objects in the Database and the Directory If you do not use the OracleDefaultDomain or store your users in an identity management realm Users subtree, then see the follow- ing documentation: Oracle Internet Directory Administrator's Guide for information about creating a new identity management realm or modifying an existing one, and for information about setting access control lists on directory objects.
Page 325
Configuring Enterprise User Security Objects in the Database and the Directory Alternatively, you can grant the CREATE SESSION privilege to a global role, which you grant to specific users through an enterprise role. See Step 3. Create global roles for the database to hold relevant privileges. The following syntax examples create the emprole and custrole global roles: SQL>...
Page 326
Configuring Enterprise User Security Objects in the Database and the Directory Task 3: Create Enterprise Roles in the Enterprise Domain Use Enterprise Security Manager to create enterprise roles in the OracleDefaultDomain by using the following steps: Right-click the OracleDefaultDomain in the navigator pane and choose Create Enterprise Role..
Page 327
Configuring Enterprise User Security Objects in the Database and the Directory Click OK. Enterprise Security Manager connects to the selected database, fetches the global roles supported on that database, and displays them in the Add Global Database Roles dialog box. Select one or more global roles and click OK.
Configuring Enterprise User Security for Password Authentication For more information about this task, see "Granting Enterprise Roles to Users" page 13-31. Task 6: Configure Enterprise User Security for the Authentication Method You Require Based on the authentication method you have chosen, go to one of the following sections to complete your Enterprise User Security configuration: "Configuring Enterprise User Security for Password Authentication"...
Page 329
Configuring Enterprise User Security for Password Authentication Task 1: (Optional) Enable the Enterprise Domain to Accept Password Authentication Task 2: Add the Enterprise Domain to the Password-Accessible Domains List Task 3: Connect as a Password-Authenticated Enterprise User Task 1: (Optional) Enable the Enterprise Domain to Accept Password Authentication By default, the OracleDefaultDomain is configured to accept password authentication.
Configuring Enterprise User Security for Kerberos Authentication Task 3: Connect as a Password-Authenticated Enterprise User For an enterprise user whose directory login name is hscortea and whose password is welcome, enter the following to connect to the database by using SQL*Plus: SQL>...
Page 331
Configuring Enterprise User Security for Kerberos Authentication You have prepared your directory by completing the tasks described in "Preparing the Directory for Enterprise User Security" on page 12-5. You have configured your Enterprise User Security objects in the database and the directory by completing the tasks described in "Configuring Enterprise User Security Objects in the Database and the Directory"...
Page 332
Configuring Enterprise User Security for Kerberos Authentication Kerberos Principal Name, User Search Base, and Group Search Base Identity Management Realm Attributes" on page 13-5. By default, Enterprise Security Manager Console user Note: interface does not display the field where you can configure Kerberos principal names.
Configuring Enterprise User Security for SSL Authentication If the KDC is part of the operating system, such as Windows 2000 or some versions of Linux or UNIX, then the operating system automatically picks up the user's ticket (with the FORWARDABLE flag set) from the cache when the user logs in. The user connects to the database by launching SQL*Plus and entering the following at the command line: SQL>...
Page 334
Configuring Enterprise User Security for SSL Authentication – Database certificate DN (stored in the database wallet) – Database directory entry DN – Database wallet DN (not the certificate) "Viewing the Database DN in the Wallet and in the Directory" page 12-24. Note that Database Configuration Assistant sets the database directory entry DN and the database wallet DN to be identical when registering the database in the directory.
Page 335
Configuring Enterprise User Security for SSL Authentication Click Apply. For more information about this task, see "Managing Database Security Options for an Enterprise Domain" on page 13-19. Task 2: Set the LDAP_DIRECTORY_ACCESS Initialization Parameter to SSL You can change this initialization parameter either by editing your database initialization parameter file, or by issuing an ALTER SYSTEM SQL command with the SET clause.
Configuring Enterprise User Security for SSL Authentication client cannot have a wallet location specified there, the server and client cannot share sqlnet.ora files.) If you have a separate client Oracle home, then you do not need to set the TNS_ ADMIN environment variable.
Enabling Current User Database Links To view the database DN so you can request a certificate with the appropriate DN use one of the following options: Use Oracle Directory Manager to look in the directory under the realm Oracle Context for cn=<short_database_name>,cn=OracleContext,<realm_ DN>...
Troubleshooting Enterprise User Security Troubleshooting Enterprise User Security This section describes potential problems and associated corrective actions in the following topics: ORA-# Errors for Password-Authenticated Enterprise Users ORA-# Errors for Kerberos-Authenticated Enterprise Users ORA-# Errors for SSL-Authenticated Enterprise Users NO-GLOBAL-ROLES Checklist USER-SCHEMA ERROR Checklist DOMAIN-READ-ERROR Checklist ORA-# Errors for Password-Authenticated Enterprise Users...
Page 339
Troubleshooting Enterprise User Security Use Database Configuration Assistant to reset the database password used to authenticate the database to Oracle Internet Directory. This resets it both locally in the database wallet, and remotely in the database entry in Oracle Internet Directory. Check that the database wallet has auto login enabled.
Page 340
Troubleshooting Enterprise User Security ORA-28272: Domain policy does not allow password-authenticated GLOBAL users Action: Use Enterprise Security Manager to set the user authentication policy for this enterprise domain to Password or ALL. ORA-28273: No mapping for user login name to LDAP distinguished name exists Action: Check the following: Check that a user entry exists in Oracle Internet Directory for your user.
Troubleshooting Enterprise User Security Use Enterprise Security Manager to check that the user search base containing this user is listed in the user search base attribute of the realm that you are using. Use Enterprise Security Manager to check that the enterprise domain is in the password accessible domains group.
Page 342
Troubleshooting Enterprise User Security Cause: Indicates a problem with the connection between the database and the directory. Action: See the actions listed for resolving "ORA-28030: Problem accessing LDAP directory service" on page 12-26 in the troubleshooting section for password-authenticated enterprise users. ORA-28271: No permission to read user entry in LDAP directory service Action: See the actions listed for resolving "ORA-28271: No permission to read...
Page 343
Troubleshooting Enterprise User Security Check that there is a value for the attribute krbprincipalname in the user entry. If there is no value, then use Oracle Internet Directory Self-Service Console to enter one. Use Enterprise Security Manager to check that the user search base containing this user is listed in the realm Oracle Context that you are using.
Troubleshooting Enterprise User Security If these values are incorrect, reset the database wallet by using Database Configuration Assistant. Use the DN and the password returned by mkstore in the following ldapbind: ldapbind -h <directory host> -p <non-SSL directory port> -D "<database DN>"...
Troubleshooting Enterprise User Security Check that the LDAP_DIRECTORY_ACCESS parameter is set to SSL in the database initialization parameters file. Check that the database wallet has auto login enabled. Either use Oracle Wallet Manager, or check that there is a cwallet.sso file in $ORACLE_ HOME/admin/<ORACLE_SID>/wallet/.
Troubleshooting Enterprise User Security Check that the global role has been created in the database. To create global roles, use the following syntax: CREATE ROLE <role_name> IDENTIFIED GLOBALLY; Use Enterprise Security Manager to check that the global role is included in an enterprise role in the directory.
Troubleshooting Enterprise User Security Use the following syntax to view the DN that was used with the CREATE USER statement: SELECT EXTERNAL_NAME FROM DBA_USERS WHERE USERNAME='<schema>'; If you are using a shared schema, then check the following: – Use Enterprise Security Manager to ensure that you have created a user-schema mapping either for the entire enterprise domain, or for the database.
Page 348
Troubleshooting Enterprise User Security Use Enterprise Security Manager to check that the database is a member of exactly one enterprise domain, and add it to one if it is not. Check that the database can see its domain by entering one of the following at the command line: –...
Page 349
Troubleshooting Enterprise User Security – If the database connects to the directory by using password authentication, then use ldapsearch -h <directory_host> -p <directory_port> -D <database_DN> -w <database_directory_password> -b "cn=OracleContext, <realm_DN>" "objectclass=orclDBEnterpriseRole" where <database_directory_password> is the password in the database wallet, which is the database's password to Oracle Internet Directory.
Administering Enterprise User Security This chapter describes how to use Enterprise Security Manager to administer Enterprise User Security in Oracle Databases. This chapter contains the following topics: Enterprise User Security Administration Tools Overview Administering Identity Management Realms Administering Enterprise Users Administering Enterprise Domains Administering Enterprise Roles Administering Enterprise User Security 13-1...
Enterprise User Security Administration Tools Overview Enterprise User Security Administration Tools Overview Enterprise Security Manager and Enterprise Security Manager Console are the two main tools provided for administering Enterprise User Security. Use Enterprise Security Manager to create and manage Enterprise domains Enterprise roles Use Enterprise Security Manager Console to create, manage, and configure Enterprise users...
Administering Identity Management Realms Administering Identity Management Realms An identity management realm is a subtree of directory entries, all of which are governed by the same administrative policies. A realm Oracle Context is a subtree in a directory identity management realm that contains the data used by any installed Oracle product that uses the directory.
Administering Identity Management Realms Identity Management Realm Versions Enterprise User Security can only use an identity management realm supplied by Oracle Internet Directory 10g (9.0.4) or later, which ships with Oracle Application Server 10g (9.0.4). You can manage Enterprise User Security directory entries in a version 9.0.4 identity management realm by using Enterprise Security Manager for Oracle Database 10g.
Administering Identity Management Realms Setting Properties of an Identity Management Realm An identity management realm has a number of properties that can be viewed and managed by using Enterprise Security Manager. These properties are described in Table 13–1. Table 13–1 Identity Management Realm Properties Property Description Attribute for Login Name...
Administering Identity Management Realms In the Realm Information window, enter the appropriate information into the available fields. Click Submit to save your changes to the directory. Setting the Default Database-to-Directory Authentication Type for an Identity Management Realm Setting the default database-to-directory authentication type, enters a value for the LDAP_DIRECTORY_ACCESS initialization parameter.
Administering Identity Management Realms Managing Identity Management Realm Administrators An identity management realm contains administrative groups that have varying levels of privileges. The administrative groups for an identity management realm, which pertain to Enterprise User Security, are defined in Table 13–2.
Administering Enterprise Users Administering Enterprise Users Enterprise Security Manager manages one directory server at a time, identified at the top of the main application tree. It lets you manage enterprise users and data that is relevant to Enterprise User Security in the identity management. This section describes how to use Enterprise Security Manager to administer enterprise users.
Administering Enterprise Users Creating New Enterprise Users Use Enterprise Security Manager to create users in the directory. Before creating new enterprise users, you must define the Note: user search base in the directory. See "Setting Login Name, Kerberos Principal Name, User Search Base, and Group Search Base Identity Management Realm Attributes"...
Administering Enterprise Users Choose the Users and Groups tab. In the Users and Groups tabbed window, choose the User subtab, if it is not already displayed. In the User subtab window, click Create (located on the upper right corner of the Search Results table).
Administering Enterprise Users The enterprise user password is used for: Directory logon Database logon, to databases that support password authentication for global users To set the password for an enterprise user: Navigate to the Enterprise Security Manager Console home page. (Choose Launch Enterprise Security Manager Console from the Operations menu and log in using your OracleAS Single Sign-On username and password.) Choose the Users and Groups tab.
Administering Enterprise Users Figure 13–3 Enterprise Security Manager: Add Enterprise Roles Window Select the correct identity management realm, then select any enterprise roles in your realm to assign to the new user, and choose OK. Browsing Users in the Directory Enterprise Security Manager lets you browse the directory for all users currently stored there in two ways—by using Enterprise Security Manager Console, or by using the All Users tab in the main application window.
Page 363
Administering Enterprise Users A list of all users that match your search criteria displays. You can browse through the displayed users and select one to Edit, Delete, or Assign Privileges. If you need to create a new user, click Create. To browse enterprise users in the directory by using the All Users tab in the main application window: Select the directory in the left navigator pane.
Administering Enterprise Users Table 13–3 Directory Search Criteria Search Criteria Effect on the Search Base This is the base entry point in the directory where the search is performed. Only users under this base are returned by the search. Include Subtrees This determines whether to show all users found in the entire subtree under the selected base, or to only show only those users that exist directly under that base location (one level...
Administering Enterprise Domains Administering Enterprise Domains An identity management realm contains an enterprise domain called OracleDefaultDomain. The OracleDefaultDomain is part of the realm when it is first created in the directory. When a new database is registered into a realm, it automatically becomes a member of the OracleDefaultDomain in that realm.
Administering Enterprise Domains Creating a New Enterprise Domain If you do not want to use the OracleDefaultDomain, then you can create a new enterprise domain in your identity management realm. To create a new enterprise domain in an identity management realm: Start by using one of the following methods: Select Create Enterprise Domain from the Operations menu.
Administering Enterprise Domains Select Remove Enterprise Domain from the Operations menu. Select an enterprise domain from the main application tree with a right mouse-click. Enterprise Security Manager asks you to confirm removal of the enterprise domain from the realm. Choose OK to remove it. You cannot remove an enterprise domain from an identity Note: management realm if that enterprise domain contains any...
Page 368
Administering Enterprise Domains To remove a database from an enterprise domain: Select a specific database for removal, and choose Remove..The database is removed from the list. Choose Apply. The database is removed from the enterprise domain. To add a database to an enterprise domain: The following restrictions apply to adding databases to an Note: enterprise domain:...
Administering Enterprise Domains Select a new database to be added to the enterprise domain. Choose OK. The selected database is added to the list of databases in the Databases tabbed window (Figure 13–6). Choose Apply (Figure 13–6). The new database is added to the enterprise domain.
Administering Enterprise Domains Managing Enterprise Domain Administrators Enterprise Domain Administrator is a directory user with privileges to modify the content of that domain. You can use the Administrators tabbed window to manage Enterprise Domain Administrators when an enterprise domain is selected under an realm in the main application tree.
Page 371
Administering Enterprise Domains A database can use a schema mapping to share one database schema between multiple directory users. The schema mapping is a pair of values: the base in the directory at which users exist, and the name of the database schema they will use. You can use the Database Schema Mappings tabbed window to manage database schema mappings—when a database is selected under a realm in the main application tree or when a domain is selected.
Page 372
Administering Enterprise Domains To add a new mapping to the list of database schema mappings in the enterprise domain: In the Database Schema Mapping tabbed window, choose Add..The Add Database Schema Mappings window appears (Figure 13–9). Use this window to locate and select a base in the directory and pair it with a database schema name, to make a database schema mapping.
Administering Enterprise Domains Enter the name of the database schema for which this Mapping will be made into the Schema field, and choose OK. This must be a valid name, for a schema that already exists on that database.The new database schema mapping appears in the database schema mappings window (Figure 13–8).
Page 374
Administering Enterprise Domains Choose the Accessible Domains tabbed window and click Add. The Add Accessible Enterprise Domains dialog box appears. See Figure 13–10 page 13-24. Figure 13–10 Enterprise Security Manager: Add Accessible Enterprise Domains Dialog Box Select the OracleDefaultDomain from the list of enterprise domains, and click OK.
Administering Enterprise Domains To remove an enterprise domain from the password-accessible domains list: Select the identity management realm in the left navigator pane. Choose the Accessible Domains tabbed window and select the enterprise domain that you want to remove from the list. Click Remove.
Page 376
Administering Enterprise Domains See Also: "Creating New Enterprise Users" on page 13-9 "Browsing Users in the Directory" on page 13-12 13-26 Oracle Database Advanced Security Administrator's Guide...
Administering Enterprise Roles Administering Enterprise Roles enterprise domain within an identity management realm can contain multiple roles. An enterprise role is a set of Oracle role-based authorizations enterprise across one or more databases in an enterprise domain. This section describes how to use Enterprise Security Manager to administer enterprise roles in the directory.
Administering Enterprise Roles If you invoked the Create Enterprise Role window by Note: right-clicking an enterprise domain, the name of the identity management realm is already selected. Select the appropriate enterprise domain for the new enterprise role, from the Enterprise Domain list. If you invoked the Create Enterprise Role window by Note: right-clicking an enterprise domain, the name of the enterprise...
Page 379
Administering Enterprise Roles Figure 13–12 Enterprise Security Manager: Database Global Roles Tab When populating an enterprise role with different database roles it is only possible to reference roles on databases that are configured to be global roles on those databases. A global role on a database is identical to a normal role, except that the Database Administrator has defined it to be authorized only through the directory.
Page 380
Administering Enterprise Roles enabled as its Oracle Net naming method, or if this name appears as a TNS alias in your local Oracle Net configuration. Otherwise, you can overwrite the content of the Service field with any other TNS alias configured for that database, or by a connect string in the format <host>:<port>:<oracle sid>.
Administering Enterprise Roles Granting Enterprise Roles to Users You can grant an enterprise role to users in two ways: you can select a user and add a role (see "Defining an Initial Enterprise Role Assignment" on page 13-11), or you can select a role and add a user.
Page 382
Administering Enterprise Roles To remove a user from the list of enterprise role grantees: Select a user from the list of grantees in the Users tabbed window. Choose Remove. The selected user is removed from the list. Choose Apply. The user is removed as a grantee for that enterprise role in the enterprise domain.
Part V Appendixes This part contains the following reference appendixes: Appendix A, "Data Encryption and Integrity Parameters" Appendix B, "Authentication Parameters" Appendix C, "Integrating Authentication Devices Using RADIUS" Appendix D, "Oracle Advanced Security FIPS 140-1 Settings" Appendix E, "orapki Utility" Appendix F, "Entrust-Enabled SSL Authentication"...
Data Encryption and Integrity Parameters This appendix describes encryption and data integrity parameters supported by Oracle Advanced Security. It also includes an example of a file sqlnet.ora generated by performing the network configuration described in Chapter 3, "Configuring Network Data Encryption and Integrity for Oracle Servers and Clients"...
Data Encryption and Integrity Parameters RADIUS #Radius sqlnet.authentication_services = (beq, RADIUS ) sqlnet.radius_authentication_timeout = (10) sqlnet.radius_authentication_retries = (2) sqlnet.radius_authentication_port = (1645) sqlnet.radius_send_accounting = OFF sqlnet.radius_secret = /orant/network/admin/radius.key sqlnet.radius_authentication = radius.us.oracle.com sqlnet.radius_challenge_response = OFF sqlnet.radius_challenge_keyword = challenge sqlnet.radius_challenge_interface = oracle/net/radius/DefaultRadiusInterface sqlnet.radius_classpath = /jre1.1/ Data Encryption and Integrity Parameters If you do not specify any values for Server Encryption, Client Encryption, Server Checksum, or Client Checksum, the corresponding configuration parameters do not...
Data Encryption and Integrity Parameters Table A–1 Algorithm Type Selection Encryption Selected? Integrity Selected? There are three classes of parameters used to enable data encryption and integrity. The first two classes listed here are required and the third (seeding the random key generator) is optional: Encryption and Integrity Parameters Seeding the Random Key Generator (Optional)
Data Encryption and Integrity Parameters on the value set for SQLNET.ENCRYPTION_SERVER at the other end of the connection. Table A–3 SQLNET.ENCRYPTION_CLIENT Parameter Attributes Attribute Description Syntax SQLNET.ENCRYPTION_CLIENT = valid_value Valid Values ACCEPTED, REJECTED, REQUESTED, REQUIRED Default Setting ACCEPTED SQLNET.CRYPTO_CHECKSUM_SERVER This parameter specifies the desired data integrity behavior when a client or another server acting as a client connects to this server.
Data Encryption and Integrity Parameters SQLNET.ENCRYPTION_TYPES_SERVER This parameter specifies a list of encryption algorithms used by this server, in the order of intended use. This list is used to negotiate a mutually acceptable algorithm with the client end of the connection. Each algorithm is checked against the list of available client algorithm types until a match is found.
Data Encryption and Integrity Parameters SQLNET.ENCRYPTION_TYPES_CLIENT This parameter specifies a list of encryption algorithms used by this client or server acting as a client. This list is used to negotiate a mutually acceptable algorithm with the other end of the connection. If an algorithm that is not installed is specified on this side, the connection terminates with error message ORA-12650.
Data Encryption and Integrity Parameters Table A–8 SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER Parameter Attributes Attribute Description Syntax SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (valid_crypto_ checksum_algorithm [,valid_crypto_checksum_algorithm]) Valid Values SHA-1: Secure Hash Algorithm MD5: Message Digest 5 Default Setting If no algorithms are defined in the local sqlnet.ora file, all installed algorithms are used in a negotiation in the preceding sequence.
Page 393
Data Encryption and Integrity Parameters If you use this parameter to seed the random number Note: generator, then Oracle recommends that you enter as many characters as possible, up to 70, to make the resulting key more random and therefore stronger. If you do not use this parameter, the system uses various sources of random numbers, depending on your operating system, to seed the random number generator.
Page 394
Data Encryption and Integrity Parameters A-10 Oracle Database Advanced Security Administrator's Guide...
Authentication Parameters This appendix illustrates some sample configuration files with the profile file (sqlnet.ora) and the database initialization file authentication parameters, when using Kerberos, RADIUS, or SSL authentication. This appendix contains the following topics: Parameters for Clients and Servers using Kerberos Authentication Parameters for Clients and Servers using RADIUS Authentication Parameters for Clients and Servers using SSL Parameters for Clients and Servers using Kerberos Authentication...
Parameters for Clients and Servers using RADIUS Authentication Parameters for Clients and Servers using RADIUS Authentication The following sections describe the parameters for RADIUS authentication sqlnet.ora File Parameters Minimum RADIUS Parameters Initialization File Parameters sqlnet.ora File Parameters SQLNET.AUTHENTICATION_SERVICES This parameter configures the client or the server to use the RADIUS adapter. Table B–2 describes this parameter's attributes.
Parameters for Clients and Servers using RADIUS Authentication Table B–4 SQLNET.RADIUS_AUTHENTICATION_PORT Parameter Attributes Attribute Description Syntax SQLNET.RADIUS_AUTHENTICATION_PORT=port_number Default setting 1645 SQLNET.RADIUS_AUTHENTICATION_TIMEOUT This parameter sets the time to wait for response. Table B–5 describes this parameter's attributes. Table B–5 SQLNET.RADIUS_AUTHENTICATION_TIMEOUT Parameter Attributes Attribute Description Syntax...
Parameters for Clients and Servers using RADIUS Authentication Table B–7 SQLNET.RADIUS_SEND_ACCOUNTING Parameter Attributes Attribute Description Syntax SQLNET.RADIUS_SEND_ACCOUNTING=on Default setting SQLNET.RADIUS_SECRET This parameter specifies the file name and location of the RADIUS secret key. Table B–8 describes this parameter's attributes. Table B–8 SQLNET.RADIUS_SECRET Parameter Attributes Attribute Description Syntax...
Parameters for Clients and Servers using RADIUS Authentication SQLNET.RADIUS_ALTERNATE_TIMEOUT This parameter sets the time to wait for response for the alternate RADIUS server. Table B–11 describes this parameter's attributes. Table B–11 SQLNET.RADIUS_ALTERNATE_TIMEOUT Parameter Attributes Attribute Description Syntax SQLNET.RADIUS_ALTERNATE_TIMEOUT=time_in_seconds Default setting SQLNET.RADIUS_ALTERNATE_RETRIES This parameter sets the number of times that the alternate RADIUS server re-sends messages.
Parameters for Clients and Servers using RADIUS Authentication Table B–14 SQLNET.RADIUS_CHALLENGE_KEYWORD Parameter Attributes Attribute Description Syntax SQLNET.RADIUS_CHALLENGE_KEYWORD=keyword Default setting challenge SQLNET.RADIUS_AUTHENTICATION_INTERFACE This parameter sets the name of the Java class that contains the graphical user interface when RADIUS is in the challenge-response (asynchronous) mode. Table B–15 describes this parameter's attributes.
Parameters for Clients and Servers using SSL Initialization File Parameters REMOTE_OS_AUTHENT=FALSE OS_AUTHENT_PREFIX="" Parameters for Clients and Servers using SSL There are two ways to configure a parameter: Static: The name of the parameter that exists in the file. sqlnet.ora Dynamic: The name of the parameter used in the security subsection of the Oracle Net address.
Parameters for Clients and Servers using SSL Example (dynamic): AUTHENTICATION = (TCPS) Cipher Suite Parameters This section describes the static and dynamic parameters for configuring cipher suites. Parameter Name SSL_CIPHER_SUITES (static): Parameter Name SSL_CIPHER_SUITES (dynamic): Parameter Type: String LIST Parameter Class: Static Permitted Values: Any known SSL cipher suite Default Value:...
Page 403
Parameters for Clients and Servers using SSL SSL_RSA_WITH_RC4_128_MD5 SSL_RSA_WITH_DES_CBC_SHA SSL_DH_anon_WITH_3DES_EDE_CBC_SHA SSL_DH_anon_WITH_RC4_128_MD5 SSL_DH_anon_WITH_DES_CBC_SHA SSL_RSA_EXPORT_WITH_RC4_40_MD5 SSL_RSA_EXPORT_WITH_DES40_CBC_SHA SSL_RSA_WITH_AES_128_CBC_SHA SSL_RSA_WITH_AES_256_CBC_SHA Note that the cipher suites that use Advanced Encryption Standard (AES) work with Transport Layer Security (TLS 1.0) only. SSL Version Parameters This section describes the static and dynamic parameters for configuring the version of SSL to be used.
Parameters for Clients and Servers using SSL Example SSL_VERSION=3.0 (dynamic): SSL Client Authentication Parameters This section describes the static and dynamic parameters for configuring SSL on the client. Parameter Name SSL_CLIENT_AUTHENTICATION (static): Parameter Name SSL_CLIENT_AUTHENTICATION (dynamic): Parameter Type: Boolean Parameter Class: Static Permitted Values: TRUE/FALSE Default Value:...
Page 405
Parameters for Clients and Servers using SSL Purpose Use this parameter to force the server's distinguished name to match its service name. If you force the match (DN) verifications, SSL ensures that the certificate is from the server. If you choose to not enforce the match verification, SSL performs the check but permits the connection, regardless if there is a match.
Parameters for Clients and Servers using SSL Example dbalias=(description=address_ list=(address=(protocol=tcps)(host=hostname)( port=portnum)))(connect_ data=(sid=Finance))(security=(SSL_SERVER_ DN="CN=Finance,CN=OracleContext,C=US,O=Acme")) Wallet Location For any application that must access a wallet for loading the security credentials into the process space, you must specify the wallet location parameters defined by Table B–17 in each of the following configuration files: sqlnet.ora...
Integrating Authentication Devices Using RADIUS This appendix describes how third party authentication vendors customize the RADIUS challenge-response user interface to fit their particular device. This appendix contains the following topics: About the RADIUS Challenge-Response User Interface Customizing the RADIUS Challenge-Response User Interface Chapter 5, "Configuring RADIUS Authentication"...
Customizing the RADIUS Challenge-Response User Interface Customizing the RADIUS Challenge-Response User Interface You can customize this interface by creating your own class to support the functionality described in Table C–1. You can then open the file, look sqlnet.ora up the SQLNET.RADIUS_AUTHENTICATION_INTERFACE parameter, and replace the name of the class listed there (DefaultRadiusInterface), with the name of the new class you have just created.
Oracle Advanced Security FIPS 140-1 Settings Oracle Advanced Security Release 8.1.6 has been validated under Federal Information Processing Standard (FIPS) 140-1 at the Level 2 security level. This appendix describes the formal configuration required for Oracle Advanced Security to comply with the FIPS 140-1 standard. Refer to the NIST Cryptographic Modules Validation list at the following Web site address: http://csrc.nist.gov/cryptval/140-1/1401val.htm This appendix contains the following topics:...
Configuration Parameters Configuration parameters are contained in the file that is held locally sqlnet.ora for each of the client and server processes. The protection placed on these files should be equivalent to the level of a DBA. The following configuration parameters are described in this appendix: ENCRYPTION_SERVER ENCRYPTION_CLIENT ENCRYPTION_TYPES_SERVER...
Configuration Parameters The specified algorithm must be installed or the connection terminates. For FIPS 140-1 compliance, only DES encryption is permitted and therefore the following parameter setting is mandatory: SQLNET.ENCRYPTION_TYPES_SERVER=(DES|DES40) Client Encryption Selection List parameter specifies the list of encryption algorithms ENCRYPTION_TYPES_CLIENT which the client is prepared to use for the connection with the server.
Post Installation Checks Post Installation Checks After the installation, the following permissions must be verified in the operating system: Execute permissions must be set on all Oracle Advanced Security executable files so as to prevent execution of Oracle Advanced Security by users who are unauthorized to do so in accordance with the system security policy.
Physical Security Physical Security To comply with FIPS 140-1 Level 2 requirements, tamper-evident seals must be applied to the cover of each machine—to ensure that removal of the cover is detectable. Oracle Advanced Security FIPS 140-1 Settings D-5...
orapki Utility The orapki utility is provided to manage public key infrastructure (PKI) elements, such as wallets and certificate revocation lists, on the command line so the tasks it performs can be incorporated into scripts. Providing a way to incorporate the management of PKI elements into scripts makes it possible to automate many of the routine tasks of maintaining a PKI.
orapki Utility Overview orapki Utility Overview This command line utility can be used to perform the following tasks: Creating and viewing signed certificates for testing purposes Manage Oracle wallets: – Create and display Oracle wallets Add and remove certificate requests –...
Creating Signed Certificates for Testing Purposes Creating Signed Certificates for Testing Purposes This command line utility provides a convenient, lightweight way to create signed certificates for testing purposes. The following syntax can be used to create signed certificates and to view certificates: To create a signed certificate for testing purposes: orapki cert create [-wallet <wallet_location>] -request <certificate_request_ location>...
Managing Oracle Wallets with orapki Utility Managing Oracle Wallets with orapki Utility The following sections describe the syntax used to create and manage Oracle wallets with the orapki command line utility. You can use these orapki utility wallet module commands in scripts to automate the wallet creation process. Creating and Viewing Oracle Wallets with orapki Adding Certificates and Certificate Requests to Oracle Wallets with orapki Exporting Certificates and Certificate Requests from Oracle Wallets with orapki...
Managing Oracle Wallets with orapki Utility Adding Certificates and Certificate Requests to Oracle Wallets with orapki To add a certificate request to an Oracle wallet: orapki wallet add -wallet <wallet_location> -dn <user_dn> -keySize <512|1024|2048> This command adds a certificate request to a wallet for the user with the specified distinguished name (user_dn).
Managing Certificate Revocation Lists (CRLs) with orapki Utility Exporting Certificates and Certificate Requests from Oracle Wallets with orapki To export a certificate from an Oracle wallet: orapki wallet export -wallet <wallet_location> -dn <certificate_dn> -cert <certificate_filename> This command exports a certificate with the subject's distinguished name (-dn) from a wallet to a file that is specified by -cert.
orapki Utility Commands Summary orapki cert display Purpose Use this command to display details of a specific certificate. Syntax orapki cert display -cert <certificate_location> [-summary|-complete] The -cert parameter specifies the location of the certificate you want to display. You can use either the -summary or the -complete parameter to display the following information: –...
orapki Utility Commands Summary with no authentication. See "Uploading CRLs to Oracle Internet Directory" page 7-42 for more information about this port. The -user parameter specifies the username of the directory user who has permission to delete CRLs from the CRL subtree in the directory. The -wallet parameter (optional) specifies the location of the wallet that contains the certificate of the certificate authority (CA) who issued the CRL.
orapki Utility Commands Summary orapki crl hash Purpose Use this command to generate a hash value of the certificate revocation list (CRL) issuer to identify the location of the CRL in your file system for certificate validation. Syntax orapki crl hash -crl <crl_filename|URL> [-wallet <wallet_location>] [-symlink|-copy] <crl_directory>...
orapki Utility Commands Summary The -ldap parameter specifies the hostname and SSL port for the directory server from where you want to list CRLs. Note that this must be a directory SSL port with no authentication. See "Uploading CRLs to Oracle Internet Directory" on page 7-42 for more information about this port.
orapki Utility Commands Summary orapki wallet add Purpose Use this command to add certificate requests and certificates to an Oracle wallet. Syntax To add certificate requests: orapki wallet add -wallet <wallet_location> -dn <user_dn> -keySize <512|1024|2048> The -wallet parameter specifies the location of the wallet to which you want to add a certificate request.
orapki Utility Commands Summary user certificate to a wallet, you must add all the trusted certificates that make up the certificate chain. If all trusted certificates are not installed in the wallet before you add the user certificate, then adding the user certificate will fail. orapki wallet create Purpose Use this command to create an Oracle wallet or to set auto login on for an Oracle...
Page 428
orapki Utility Commands Summary Syntax To export a certificate from an Oracle wallet: orapki wallet export -wallet <wallet_location> -dn <certificate_dn> -cert <certificate_filename> The -wallet parameter specifies the location of the wallet from which you want to export the certificate. The -dn parameter specifies the distinguished name of the certificate. The -cert parameter specifies the name of the file that contains the exported certificate.
Entrust-Enabled SSL Authentication 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.
Benefits of Entrust-Enabled Oracle Advanced Security Benefits of Entrust-Enabled Oracle Advanced Security Entrust-enabled Oracle Advanced Security provides: Enhanced X.509-Based Authentication and Single Sign-On Integration with Entrust Authority Key Management Integration with Entrust Authority Certificate Revocation Note: Oracle Advanced Security has been certified as Entrust-Ready by Entrust, Inc., as of Release 8.1.7.
Required System Components for Entrust-Enabled Oracle Advanced Security Required System Components for Entrust-Enabled Oracle Advanced Security To implement Entrust-enabled Oracle Advanced Security, the following system components are required: Entrust Authority for Oracle Entrust Authority Server Login Feature Entrust Authority IPSec Negotiator Toolkit In the following sections, the term client refers to a client...
Required System Components for Entrust-Enabled Oracle Advanced Security Entrust Authority Security Manager 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. Oracle only supports the use of Entrust-enabled Oracle Note: Advanced Security with versions of Entrust Authority Security...
Entrust Authentication Process 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.
Enabling Entrust Authentication Figure F–1 Entrust Authentication Process Entrust Authority Administration User's Server's Entrust Entrust Profile Profile (Entrust (unattended Entelligence) login) Oracle Client Oracle Oracle Recovery Server Catalog "How SSL Works in an Oracle Environment: The SSL See Also: Handshake" on page 7-4 Enabling Entrust Authentication This section describes the following tasks, which are required to configure...
Page 435
Enabling Entrust Authentication Administrator-Created Entrust Profiles Administrators create Entrust profiles as follows: The Entrust administrator adds the Entrust user using the Entrust Authority Self-Administration Server. The Entrust administration documentation for See Also: information about creating Entrust Users The administrator enters the user's name and password. The Entrust Authority creates the profile, or.epf file.
Enabling Entrust Authentication Installing Oracle Advanced Security and Related Products for Entrust-Enabled SSL 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. Oracle Database operating system-specific installation See Also: documentation...
Enabling Entrust Authentication Configuring Entrust on a Windows Client 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. Set the WALLET_LOCATION parameter in the sqlnet.ora file.
Page 438
Enabling Entrust Authentication Set the 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) Set the CLASSPATH environment variable to include the following paths: $ORACLE_HOME/JRE/lib/rt.jar $ORACLE_HOME/JRE/lib/i18n.jar...
Page 439
Enabling Entrust Authentication Ensure that the listener has a TCPS listening endpoint, then Note: start the listener. Start the Oracle database instance. Configuring Entrust on a Windows Server If the server is on a Windows platform, perform the following steps: "Required System Components for Entrust-Enabled See Also: Oracle Advanced Security"...
Issues and Restrictions that Apply to Entrust-Enabled SSL For all Windows environments, Oracle Corporation Note: recommends that you do not install Entrust Entelligence Desktop Manager on the server computer. Creating Entrust-Enabled Database Users Create global users in the database based on the distinguished name (DN) of each Entrust user.
Troubleshooting Entrust In Oracle Advanced Security In addition, the following restrictions apply: The use of Entrust components for digital signatures in applications based on Oracle is not supported. The Entrust-enabled Oracle Advanced Security integration is only supported with versions of Entrust Authority Release 6.0 and later running on Oracle Database.
Page 442
Troubleshooting Entrust In Oracle Advanced Security Invalid Entrust initialization file specified Entrust Server Login program has not executed on the server 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...
Troubleshooting Entrust In Oracle Advanced Security 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. See Also: "Configuring Entrust on a UNIX Client" on page F-8 "Configuring Entrust on a Windows Client"...
Page 444
Troubleshooting Entrust In Oracle Advanced Security Action: Perform the following tasks to enable tracing on the server: Choose Control Panel > Services. In the Services dialog box, double click OracleTNSListener and change the Log On As from the System Account to the account that is currently logged in.
Troubleshooting Entrust In Oracle Advanced Security 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. General Checklist for Running Entrust on Any Platform The following items apply to all platforms: Confirm that the Entrust Authority is online.
Page 446
Troubleshooting Entrust In Oracle Advanced Security Checklist for Entrust Installations on Windows The following checklist items apply only to Entrust installations on the Windows platform. Ensure that you are logged into Entrust Entelligence Desktop Manager and retry. Choose Windows > Control Panel > Services to confirm that the Entrust Login Interface service has started and is running.
Using the User Migration Utility This chapter describes the User Migration Utility, which can be used to perform bulk migrations of database users to an LDAP directory where they are stored and managed as enterprise users. It contains the following topics: Benefits of Migrating Local or External Users to Enterprise Users Introduction to the User Migration Utility Prerequisites for Performing Migration...
Introduction to the User Migration Utility Provides the infrastructure to enable single sign-on using X.509v3-compliant certificates, which is typically deployed where end-to-end SSL is required Enhanced security Because an enterprise user model is easier to manage, security administrators can perform necessary maintenance changes to user information immediately so they have better control over access to critical network resources.
Introduction to the User Migration Utility After external users are migrated, their external Note: authentication and authorization mechanisms are replaced by directory-based mechanisms. New passwords are randomly generated for migrated users if they are mapped to newly created directory entries. Bulk User Migration Process Overview Bulk user migration is a two-phase process.
Introduction to the User Migration Utility Step 3: Phase Two Completing the Migration After the interface table user information is checked, then in phase two the utility retrieves the information from the table and updates the directory and the database. Depending on whether directory entries exist for migrating users, the utility creates random passwords as follows: If migrating users are being mapped to newly created directory entries, then the...
Introduction to the User Migration Utility Table G–1 ORCL_GLOBAL_USR_MIGRATION_DATA Table Schema Column Name DataType Null Description USERNAME (Primary Key) VARCHAR2(30) NOT NULL Database user name. VARCHAR2(10) Old schema type in the database before OLD_SCHEMA_TYPE migration. VARCHAR2(30) Not used PASSWORD_VERIFIER VARCHAR2(4000) - Distinguished Name (DN) of the user in USERDN the directory (new or existing).
Introduction to the User Migration Utility Which Interface Table Column Values Can Be Modified between Phase One and Phase Two? After running phase one of the utility, if necessary, enterprise user administrators can change the interface table columns that are listed in Table G–2.
Introduction to the User Migration Utility If some users want to retain the objects in their local database schemas and be mapped to a shared schema, then the administrator can manually migrate those objects to the shared schema before performing the bulk user migration. However, when objects are migrated to a shared schema, they are shared among all users who share that new schema.
Prerequisites for Performing Migration Drops or alters the migrating users' local database schemas. (optional) In the current release, the utility migrates users with Note: certificate-based authentication and makes them ready for password authentication. Previously SSL-based authenticated users should reset their Oracle database passwords. User wallets are not created as part of this process.
Prerequisites for Performing Migration Required Directory Privileges In addition to the required database privileges, enterprise user administrators must have the directory privileges which allow them to perform the following tasks: Create entries in the directory under the specified user base and Oracle context location Browse the user entries under the search bases Required Setup to Run the User Migration Utility...
User Migration Utility Command Line Syntax Note: If you plan to use shared schema mapping when migrating users, then you must create the shared schema before running this utility. The same ldap.ora file must be used for both phase one and phase two of a user migration.
Accessing Help for the User Migration Utility DIRLOCATION=ldap_directory_host:ldap_directory_port USERSLIST=username1:username2:username3:... USERSFILE=filename MAPSCHEMA=[PRIVATE | SHARED]:schema_name MAPTYPE=[DB | DOMAIN]:[ENTRY | SUBTREE] CASCADE=[YES | NO] CONTEXT=user_entries_parent_location LOGFILE=filename PARFILE=filename umu PHASE=TWO DBADMIN=dba_username:password ENTADMIN=enterprise_admin_DN:password DBLOCATION=database_host:database_port:database_sid DIRLOCATION=ldap_directory_host:ldap_directory_port LOGFILE=filename PARFILE=filename If the enterprise user administrator does not specify the Note: mandatory parameters on the command line, then the utility will prompt the user for those parameters interactively.
User Migration Utility Parameters User Migration Utility Parameters The following sections list the available parameter keywords and the values that can be used with them when running this utility. The keywords are not case-sensitive. Keyword: HELP Valid Values: YES or NO (These values are not case-sensitive.) Default Setting: Syntax Examples: HELP=YES Description:...
Page 459
User Migration Utility Parameters Syntax Examples: DBLOCATION=my_oracle.us.oracle.com:7777:ora902 Description: Provides the host name, port number, and SID for the database instance. Restrictions: This parameter is mandatory. The value for this parameter must be the same for both phase one and phase two. The database should be configured for encryption and integrity.
Page 460
User Migration Utility Parameters Keyword: ENTADMIN Valid Values: userDN:password Default Setting: No default setting. Syntax Examples: ENTADMIN=cn=janeadmin,dc=acme,dc=com:welcome Description: User Distinguished Name (UserDN) and the directory password for the enterprise directory administrator with the required privileges for logging in to the directory. UserDN can also be specified within double quotation marks ("...").
Page 461
User Migration Utility Parameters Description: Specifies which users are to be migrated. If multiple values are specified for this parameter, then the utility uses the union of these sets of users. Restrictions: This parameter is mandatory for phase one only, and it is ignored in phase two.
Page 462
User Migration Utility Parameters Keyword: MAPSCHEMA Valid Values: schema_type:schema_name Schema type can be: PRIVATE Retains users' old local schemas. Schema name is ignored when schema type is PRIVATE. No mapping entries are created in the directory. SHARED Maps users to a shared schema. Mapping entries are created in the directory.
Page 463
User Migration Utility Parameters Keyword: MAPTYPE Valid Values: mapping_type:mapping_level Mapping type can be: DOMAIN Mapping level can be: ENTRY SUBTREE Separate mapping type from mapping level with a colon (:). (These values are not case-sensitive.) Default Setting: DB:ENTRY Syntax Examples: MAPTYPE=DOMAIN:SUBTREE Description: Specifies the type of schema mapping that is to be applied when...
Page 464
User Migration Utility Parameters Keyword: CASCADE Valid Values: When users are mapped to a shared schema, the utility tries to drop their local schemas from the database. If this parameter is set to NO, then users are migrated only if they do not own objects in their local schema.
Page 465
User Migration Utility Parameters Default Setting: This value is automatically populated from the DEFAULT_ ADMIN_CONTEXT setting in the ldap.ora file by default. This places new user entries directly under the Oracle Context's parent entry. In 10g Release 1 (10.1), this is not the preferred location for user entries, so do not use the default setting for this parameter unless it is specifically desired.
User Migration Utility Usage Examples Description: Specifies a text file which contains a list of these parameters that are intended to be used in a user migration. Each parameter must be listed on a separate line in the file. If a parameter is specified in both the parameter file and on the command line, then the one specified on the command line takes precedence.
User Migration Utility Usage Examples parameter, the utility runs phase one using the default value, PRIVATE, so all users' old database schemas and objects are retained. Migrating Users and Mapping to a Shared Schema To migrate users and map them to a new shared schema, dropping their old database schemas, set the MAPSCHEMA parameter to SHARED.
Page 468
User Migration Utility Usage Examples Mapping Users to a Shared Schema Using Different CASCADE Options The CASCADE parameter setting determines whether users' old database schemas are automatically dropped when mapping to a shared schema during migration. CASCADE can be used only when MAPSCHEMA is set to SHARED. Mapping Users to a Shared Schema with CASCADE=NO By default, the CASCADE parameter is set to NO.
Page 469
User Migration Utility Usage Examples DBADMIN=system:manager DIRLOCATION=machine2:636 ENTADMIN="cn=janeadmin":welcome After phase one completes successfully, the interface table is populated with the user migration information. Then the administrator can review the table to confirm its contents. Because the CASCADE parameter is set to YES, all migrated users' old database schemas are automatically dropped, including those who own database objects.
Page 470
User Migration Utility Usage Examples Example G–3 Migrating Users with Shared Schema Mapping Using the MAPTYPE Parameter umu PHASE=ONE DBLOCATION=machine1:1521:ora_sid DBADMIN=system:manager USERS=ALL_EXTERNAL:LIST USERSLIST=scott1:scott2 MAPSCHEMA=SHARED:schema_32 MAPTYPE=DOMAIN:ENTRY DIRLOCATION=machine2:636 CONTEXT="c=Users, c=us" ENTADMIN="cn=janeadmin":welcome umu PHASE=TWO DBLOCATION=machine1:1521:ora_sid DBADMIN=system:manager DIRLOCATION=machine2:636 ENTADMIN="cn=janeadmin":welcome About Using the SUBTREE Mapping Level Option If a user (scott, for example) who is being migrated will have future user entries in a subtree under it, then it makes sense to create a subtree level mapping from this user entry (cn=scott) to a schema.
User Migration Utility Usage Examples Migrating Users Using the PARFILE, USERSFILE, and LOGFILE Parameters It is possible to enter user information and User Migration Utility parameters into a text file and pass the information and parameters to the utility using the PARFILE and USERSFILE parameters.
Troubleshooting Using the User Migration Utility Example G–6 Migrating Users Using the PARFILE, USERSFILE, and LOGFILE Parameters umu PHASE=ONE DBADMIN=system:manager PARFILE=par.txt LOGFILE=errorfile2 Although the LOGFILE parameter is specified twice, once in Note: the parameter text file as errorfile1 (shown in Example G–4) and once on the command line as errorfile2 (show in...
Page 473
Troubleshooting Using the User Migration Utility Database connection failure Database error: < database_error_message > Database not in any domain : : DB-NAME = < database_name > Database not registered with the directory : : DB-NAME = < dbName > Directory connection failure Directory error : : <...
Page 474
Troubleshooting Using the User Migration Utility Cause: There is no entry for the database in the Oracle context that the ldap.ora file points to. Action: Use Database Configuration Assistant or Enterprise Security Manager to register the database in the directory. Directory connection failure Cause: The utility was unable to connect to the directory.
Page 475
Troubleshooting Using the User Migration Utility Getting local host name failed Interface table creation in SYS schema not allowed Invalid argument or value : : < argument > Invalid arguments for the phase Invalid value : : < user > [ USERSFILE ] Invalid value : : <...
Page 476
Troubleshooting Using the User Migration Utility Check to ensure that the file has the correct permissions so the utility can read it. Getting local host name failed Cause: Syntax error. The utility is unable to read the local host name for the database location or the directory location.
Page 477
Troubleshooting Using the User Migration Utility Invalid value : : < user > [ USERSFILE ] Cause: Syntax error. The user that is specified in this error message is invalid because they are not a user in the database that is specified in the DBLOCATION parameter.
Troubleshooting Using the User Migration Utility Resolving Error Messages Displayed for Phase Two Most of the error messages that you encounter while running this utility occur in phase one. After phase one has completed successfully, and while phase two is running, the following error may occur: Database object missing : : TABLE = ORCL_GLOBAL_USR_MIGRATION_ DATA...
Page 479
Troubleshooting Using the User Migration Utility Action: Specify a different DN for the user. Common Log Messages for Phase Two While the utility is running phase two of the migration, messages that indicate a user has not successfully migrated may be written to the log file. After the utility completes phase two, review the log file to check for the following messages: Attribute exists : : orclPassword Attribute value missing : : orclPassword...
Troubleshooting Using the User Migration Utility SCHEMA column of the interface table and run phase two of the utility for this user again. Create the shared schema in the database and run phase two of the utility for this user again. Entry found : : DN = <...
Troubleshooting Using the User Migration Utility Table G–4 (Cont.) Alphabetical Listing of User Migration Utility Error Messages User Migration Utility Error Message Phase Database error: < database_error_message > on page G-27 Both Database not in any domain : : DB-NAME = < database_name > on page G-27 Both Database not registered with the directory : : DB-NAME = <...
Page 482
Troubleshooting Using the User Migration Utility Table G–5 Alphabetical Listing of User Migration Utility Log Messages User Migration Utility Log Message Phase Invalid value : : <interface_table_column_name> = < interface_table_column_value > on page G-34 Multiple entries found : : < nickname_attribute > = < username > on page G-32 No entry found : : DN = <...
Glossary access control The ability of a system to grant or limit access to specific data for specific clients or groups of clients. Access Control Lists (ACLs) The group of access directives that you define. The directives grant levels of access to specific data for specific clients, or groups of clients, or both.
Page 484
authentication The process of verifying the identity of a user, device, or other entity in a computer system, often as a prerequisite to granting access to resources in a system. A recipient of an authenticated message can be certain of the message's origin (its sender).
Page 485
Cell Directory Services (CDS) Cell Directory Services (CDS) An external naming method that enables users to use Oracle tools transparently and applications to access Oracle Database databases in a Distributed Computing Environment (DCE). certificate An ITU x.509 v3 standard data structure that securely binds an identify to a public key.
Page 486
provide additional information about the subject identity, such as postal address, or a challenge password by which the subject entity may later request certificate revocation. See PKCS #10 certificate revocation lists (CRLs) Signed data structures that contain a list of revoked certificates. The authenticity and integrity of the CRL is provided by a digital signature appended to it.
Page 487
client A client relies on a service. A client can sometimes be a user, sometimes a process acting on behalf of the user during a database link (sometimes called a proxy). confidentiality A function of cryptography. Confidentiality guarantees that only the intended recipient(s) of a message can view the message (decrypt the ciphertext).
Page 488
form of a URL. CRL DPs allow revocation information within a single certificate authority domain to be posted in multiple CRLs. CRL DPs subdivide revocation information into more manageable pieces to avoid proliferating voluminous CRLs, thereby providing performance benefits. For example, a CRL DP is specified in the certificate and can point to a file on a Web server from which that certificate's revocation information can be downloaded.
Page 489
A public or private database link from one database to another is created on the local database by a DBA or user. A global database link is created automatically from each database to every other database in a network with Oracle Names. Global database links are stored in the network definition.
Page 490
Diffie-Hellman key negotiation algorithm This is a method that lets two parties communicating over an insecure channel to agree upon a random number known only to them. Though the parties exchange information over the insecure channel during execution of the Diffie-Hellman key negotiation algorithm, it is computationally infeasible for an attacker to deduce the random number they agree upon by analyzing their network communications.
Page 491
domain Any tree or subtree within the Domain Name System (DNS) namespace. Domain most commonly refers to a group of computers whose host names share a common suffix, the domain name. Domain Name System (DNS) A system for naming computers and network services that is organized into a hierarchy of domains.
Page 492
enterprise user A user defined and managed in a directory. Each enterprise user has a unique identify across an enterprise. entry The building block of a directory, it contains information about an object of interest to directory users. external authentication Verification of a user identity by a third party authentication service, such as Kerberos or RADIUS.
Page 493
Global Directory Service (GDS) GDS is the directory service that acts as an agent between DCE CDS and any X.500 directory service. Both GDS and are obsolete; they are only used by DCE. global role A role managed in a directory, but its privileges are contained within a single database.
Page 494
identity management realm A subtree in Oracle Internet Directory, including not only an Oracle Context, but also additional subtrees for users and groups, each of which are protected with access control lists. initial ticket In Kerberos authentication, an initial ticket or ticket granting ticket (TGT) identifies the user as having the right to ask for additional service tickets.
Page 495
Key Distribution Center. In Kerberos authentication, the KDC maintains a list of user principals and is contacted through the kinit (okinit is the Oracle version) program for the user's initial ticket. Frequently, the KDC and the Ticket Granting Service are combined into the same entity and are simply referred to as the KDC. The Ticket Granting Service maintains a list of service principals and is contacted when a user wants to authenticate to a server providing such a service.
Page 496
kservice An arbitrary name of a Kerberos service object. LDAP Lightweight Directory Access Protocol (LDAP) ldap.ora file A file created by Oracle Net Configuration Assistant that contains the following directory server access information: Type of directory server Location of the directory server Default identity management realm or Oracle Context (including ports) that the client or server will use Lightweight Directory Access Protocol (LDAP)
Page 497
man-in-the-middle A security attack characterized by the third-party, surreptitious interception of a message, wherein the third-party, the man-in-the-middle, decrypts the message, re-encrypts it (with or without alteration of the original message), and re-transmits it to the originally-intended recipient—all without the knowledge of the legitimate sender and receiver.
Page 498
client requests a directory lookup of a net service alias, the directory determines that the entry is a net service alias and completes the lookup as if it was actually the entry it is referencing. net service name The name used by clients to identify a database server. A net service name is mapped to a port number and protocol.
Page 499
object class A named group of attributes. When you want to assign attributes to an entry, you do so by assigning to that entry the object classes that hold those attributes. All objects associated with the same object class share the same attributes. Oracle Context 1.
Page 500
peer identity SSL connect sessions are between a particular client and a particular server. The identity of the peer may have been established as part of session setup. Peers are identified by X.509 certificate chains. The Internet Privacy-Enhanced Mail protocols standard, adopted by the Internet Architecture Board to provide secure electronic mail over the Internet.
Page 501
principal A string that uniquely identifies a client or server to which a set of Kerberos credentials is assigned. It generally has three parts: kservice/kinstance@REALM. In the case of a user, kservice is the username. See also kservice, kinstance, and realm private key In public-key cryptography, this key is the secret key.
Page 502
mathematically related, it is generally viewed as computationally infeasible to derive the private key from the public key. Public and private keys are used only with asymmetric encryption algorithms, also called public-key encryption algorithms, or public-key cryptosystems. Data encrypted with either a public key or a private key from a key pair can be decrypted with its associated key from the...
Page 503
schema mapping user-schema mapping Secure Hash Algorithm (SHA) An algorithm that assures data integrity by generating a 160-bit cryptographic message digest value from given data. If as little as a single bit in the data is modified, the Secure Hash Algorithm checksum for the data changes. Forgery of a given data set in a way that will cause the Secure Hash Algorithm to generate the same result as that for the original data is considered computationally infeasible.
Page 504
service ticket Trusted information used to authenticate the client. A ticket-granting ticket, which is also known as the initial ticket, is obtained by directly or indirectly running okinit and providing a password, and is used by the client to ask for service tickets.
Page 505
single sign-on (SSO) The ability of a user to authenticate once, combined with strong authentication occurring transparently in subsequent connections to other databases or applications. Single sign-on lets a user access multiple accounts and applications with a single password, entered during a single connection. Single password, single authentication.
Page 506
System Global Area (SGA) A group of shared memory structures that contain data and control information for an Oracle instance. system identifier (SID) A unique name for an Oracle instance. To switch between Oracle databases, users must specify the desired SID. The SID is included in the CONNECT DATA parts of connect descriptor in a tnsnames.ora...
Page 507
is being validated as the entity it claims to be. Typically, the certificate authorities you trust are called trusted certificates. If there are several levels of trusted certificates, a trusted certificate at a lower level in the certificate chain does not need to have all its higher level certificates reverified.
Page 508
Wallet Resource Locator A wallet resource locator (WRL) provides all necessary information to locate a wallet. It is a path to an operating system directory that contains a wallet. Windows NT native authentication authentication method that enables a client single login access to a Windows server and a database running on that server.
Index manipulating with orapki tool, 7-40 uploading to LDAP directory, 7-40 accounting, RADIUS, 5-19 where to store them, 7-37 activating checksumming and encryption, 3-6 certificate revocation status checking adapters, 1-15 disabling on server, 7-40 asynchronous authentication mode in certificate validation error message RADIUS, 5-5 CRL could not be found, 7-46 ATTENTION_DESCRIPTION column, G-5...
Page 510
on the server, 7-15 CDS naming adapter components, 10-3 thin JDBC support, 4-1 communication and security, 10-3 connecting components, 10-2 across cells, 10-12 configuration files required, 10-9 to an Oracle database configuring a server, 10-9 to verify roles, 10-14 configuring clients for DCE integration, 10-16 to an Oracle server in DCE, 10-23 configuring clients to use DCE CDS with username and password, 10-25...
Page 511
enterprise user security ORA-12650, 3-6, 3-7, A-6, A-7, A-8 components, 11-25 ORA-28890, F-13 configuration flow chart, 12-3 etbinder command, F-10 configuration roadmap, 12-4 directory entries, 11-11 enterprise domains, 11-14 Federal Information Processing Standard enterprise roles, 11-12 configuration, i-xxix enterprise users, 11-11 Federal Information Processing Standard mapping, 11-20 (FIPS), 1-7, D-1...
Need help?
Do you have a question about the Oracle Database B10772-01 and is the answer not in the manual?
Questions and answers