Securing WebLogic Server
Introduction and Roadmap
The following sections describe the contents and organization of this guide—Securing WebLogic Server.
Document Scope
This document explains how to configure security for WebLogic Server®, including information about security providers, identity and trust, SSL, and Compatibility security. See Related Information for a description of other WebLogic security documentation.
Document Audience
This document is intended for the following audiences:
- Application Architects—Architects who, in addition to setting security goals and designing the overall security architecture for their organizations, evaluate WebLogic Server security features and determine how to best implement them. Application Architects have in-depth knowledge of Java programming, Java security, and network security, as well as knowledge of security systems and leading-edge, security technologies and tools.
- Security Developers—Developers who focus on defining the system architecture and infrastructure for security products that integrate into WebLogic Server and on developing custom security providers for use with WebLogic Server. They work with Application Architects to ensure that the security architecture is implemented according to design and that no security holes are introduced, and work with Server Administrators to ensure that security is properly configured. Security Developers have a solid understanding of security concepts, including authentication, authorization, auditing (AAA), in-depth knowledge of Java (including Java Management eXtensions (JMX), and working knowledge of WebLogic Server and security provider functionality.
- Application Developers—Developers who are Java programmers that focus on developing client applications, adding security to Web applications and Enterprise JavaBeans (EJBs), and working with other engineering, quality assurance (QA), and database teams to implement security features. Application Developers have in-depth/working knowledge of Java (including J2EE components such as servlets/JSPs and JSEE) and Java security.
- Server Administrators—Administrators work closely with Application Architects to design a security scheme for the server and the applications running on the server, to identify potential security risks, and to propose configurations that prevent security problems. Related responsibilities may include maintaining critical production systems, configuring and managing security realms, implementing authentication and authorization schemes for server and application resources, upgrading security features, and maintaining security provider databases. Server Administrators have in-depth knowledge of the Java security architecture, including Web services, Web application and EJB security, Public Key security, SSL, and Security Assertion Markup Language (SAML).
- Application Administrators—Administrators who work with Server Administrators to implement and maintain security configurations and authentication and authorization schemes, and to set up and maintain access to deployed application resources in defined security realms. Application Administrators have general knowledge of security concepts and the Java Security architecture. They understand Java, XML, deployment descriptors, and can identify security events in server and audit logs.
Guide to this Document
This document is organized as follows:
- Overview of Security Management, explains the differences between security in previous releases of WebLogic Server and this release of WebLogic Server; describes the default security configuration in WebLogic Server; lists the configuration steps for security, and describes Compatibility security.
- Customizing the Default Security Configuration, explains when to customize the default security configuration, the configuration requirements for a new security realm, and how to set a security realm as the default security realm.
- Configuring WebLogic Security Providers, describes the available configuration options for the security providers supplied by WebLogic Server and how to configure a custom security provider.
- Configuring Authentication Providers, describes the Authentication providers supplied by WebLogic Server, including information about how to configure them.
- Configuring Single Sign-On with Microsoft Clients, describes how to configure authentication between a WebLogic Server domain and .NET Web Service clients or browser clients (for example, Internet Explorer) in a Microsoft domain, using Windows authentication based on the Simple and Protected Negotiate (SPNEGO) mechanism.
- Configuring Single Sign-On with Web Browsers and HTTP Clients, describes how to configure authentication between a WebLogic Server domain and Web browsers or other HTTP clients, using authentication based on the Security Assertion Markup Language (SAML).
- Migrating Security Data, provides information about exporting and importing security data between security realms and security providers.
- Managing the Embedded LDAP Server, describes the management tasks associated with the embedded LDAP server used by the WebLogic security providers.
- Configuring Identity and Trust, describes how to configure identity and trust for WebLogic Server.
- Configuring SSL, describes how to configure SSL for WebLogic Server.
- Configuring Security for a WebLogic Domain, describes how to set security configuration options for a WebLogic domain.
- Using Compatibility Security,describes how to use Compatibility security, a security configuration mode designed for backwards compatibility with security realms developed under WebLogic Server 6.x.
- Security Configuration MBeans, describes which WebLogic Security MBeans and MBean attributes are dynamic (can be changed without restarting the server) or non-dynamic (changes require a server restart).
Related Information
The following BEA WebLogic Server documents contain information that is relevant to the WebLogic Security Service:
- Understanding WebLogic Security—Summarizes the features of the WebLogic Security Service, including an overview of its architecture and capabilities. It is the starting point for understanding WebLogic security.
- Developing Security Providers for WebLogic Server—Provides security vendors and application developers with the information needed to develop custom security providers that can be used with WebLogic Server.
- Securing a Production Environment—Highlights essential security measures for you to consider before you deploy WebLogic Server in a production environment.
- Securing WebLogic Resources—Introduces the various types of WebLogic resources, and provides information about how to secure these resources using WebLogic Server. This document focuses primarily on securing URL (Web) and Enterprise JavaBean (EJB) resources.
- Programming WebLogic Security—Describes how to develop secure Web applications.
- Administration Console Online Help—Many security configuration tasks can be performed using the WebLogic Administration Console. The console's online help describes configuration procedures and provides a reference for configurable attributes.
- WebLogic Server Upgrade Guide—Provides procedures and other information you need to upgrade from earlier versions of WebLogic Server to this release. It also provides information about moving applications from an earlier version of WebLogic Server to this release. For specific information on upgrading WebLogic Server security, see Security in the WebLogic Server Upgrade Guide.
- Javadocs for WebLogic Classes—Provides reference documentation for the WebLogic security packages that are provided with and supported by this release of WebLogic Server.
Security Samples and Tutorials
In addition to the documents listed in Related Information, BEA Systems provides a variety of code samples for developers.
Security Examples in the WebLogic Server Distribution
WebLogic Server optionally installs API code examples in WL_HOME
\samples\server\examples\src\examples\security
, where WL_HOME
is the top-level directory of your WebLogic Server installation. You can start the examples server, and obtain information about the samples and how to run them from the WebLogic Server Start menu.
The following examples illustrate WebLogic security features:
- Java Authentication and Authorization Service
- Outbound and Two-way SSL
Additional Examples Available for Download
Additional API examples are available for download at http://dev2dev.bea.com. These examples are distributed as .zip
files that you can unzip into an existing WebLogic Server samples directory structure.
You build and run the downloadable examples in the same manner as you would an installed WebLogic Server example. See the download pages of individual examples for more information.
New and Changed Security Features in This Release
WebLogic Server 9.0 introduces several important changes to WebLogic Server security:
New Security Providers
WebLogic Server includes the following new security providers:
Authentication Providers
- Database Base Management System (DBMS) providers—Access user, password, group, and group membership information in databases for authentication purposes and can be used to upgrade from the RDBMS security realm. These providers include SQL Authentication, Read-only SQL Authentication, and Custom DBMS Authentication.
- Windows NT—Enables the use of Windows NT users and groups for authentication purposes.
Identity Assertion Providers
- New LDAP X509 Identity Assertion—Receives an X509 certificate; looks up the LDAP object for the associated user; ensures that the certificate in the LDAP object matches the presented certificate; and retrieves user name from the LDAP object for the purpose of authentication.
- Negotiate Identity Assertion—Decodes Simple and Protected Negotiate (SPNEGO) tokens to provide SSO with the Windows desktop by obtaining Kerberos tokens; validates the Kerberos tokens; and maps Kerberos tokens to WebLogic users.
SAML Providers
The SAML providers use OpenSAML 1.0 to support SAML assertion generation and consumption.
- SAML Identity Assertion—Consumes and validates SAML assertion tokens and determines whether the assertion is to be trusted (using either the proof material available in the SOAP message, the client certificate, or some other configuration indicator).
- SAML Credential Mapping—Generates SAML assertion for users. The SAML assertion contains the name of the requesting user as well as any groups to which the user belongs.
Certificate Lookup and Validation Providers
- WebLogic CertPath—Completes certificate paths and validates certificates using the trusted CA configured for a particular server instance. It also checks signatures in the chain; ensures that the chain has not expired; and checks that one certificate in the chain is issued by one of the trusted CAs configured for the server. If any checks fail, the chain is not valid.
- Certificate Registry—Supports the Certificate lookup and validation framework. The registry allows the system administrator to explicitly configure a list of trusted CA certificates that are allowed access to the server. The Certificate Registry provides an inexpensive mechanism for performing revocation checking. An administrator revokes a certificate by removing it from the certificate registry. The registry is stored in the embedded LDAP server.