46 Using Secured Production Mode
In a WebLogic Server domain, the domain mode determines the default values to apply to the security configuration of the domain. Secured production mode applies the strictest default values to the security configuration of your domain.
The domain modes, in order from least to most secure default values, are:
- Development mode
- Production mode
- Secured production mode
When you enable secured production mode, WebLogic Server automatically sets some security configurations to more secure values. However, there are certain security configurations that require additional configuration.
The domain mode only specifies the default values of a domain's security configuration. You can still modify individual configurations to override the default values. Overriding default values can help you fine tune your configuration to meet functional and security requirements, but overriding secured production mode default values should be done with caution, as it may result in a less secure environment.
If your domain does not meet the security criteria of a domain mode, WebLogic Server will flag any insecure values and report them as security warnings. For more information on security validation warnings, see Review Potential Security Issues in Securing a Production Environment for Oracle WebLogic Server. You may also experience behavioral issues when trying to manage your domain.
For information on the default values in each domain mode, see Understand How Domain Mode Affects the Default Security Configuration in Securing a Production Environment for Oracle WebLogic Server.
Although secured production mode can be a powerful tool for securing your domain, it is limited by the complexity and sheer variety of WebLogic Server environments. To ensure your domain is well protected, you should also review the recommendations outlined in Configuring Security for a WebLogic Domain and in Securing a Production Environment for Oracle WebLogic Server and then apply them as appropriate to your environment.
Changes to the Domain Mode
The domain mode is specified as part of the initial domain configuration process. Although it is possible to change the domain mode after a domain is created, interactions between an existing domain configuration and the configurations that are applied by the new domain mode can lead to unexpected outcomes.
The domain mode only controls default values, therefore any configurations that you have set explicitly will persist after a change in domain mode and supersede the values that would otherwise be used. Additionally, if the default value of a configuration in the new domain mode matches the existing, explicit value, it will remove the explicit configuration (and its value) from the domain configuration. Then, if you decide to revert to your previous domain mode, the explicit configuration will remain absent.
Before you change the domain mode to secured production mode, make sure that you carefully review your domain configuration file, config.xml
, and compare its existing values to the MBean attributes that are determined by domain mode. See Secure Values for MBean Attributes in MBean Reference for Oracle WebLogic Server. To change the domain mode after domain creation, see Changing the Domain Mode.
When is Secured Production Mode Enabled?
As of WebLogic 14.1.2.0.0, when you set the domain mode to production mode, it enables secured production mode by default. In previous releases, when you enabled production mode, secured production mode was disabled by default and you had to enable it explicitly.
If you upgrade from WebLogic Server 14.1.1.0.0 and earlier, the behavior of your domain mode will not change. For example, when a domain in production mode is upgraded from 14.1.1.0.0 to 14.1.2.0.0 or later, it will remain in production mode with secured production mode disabled. However, if you upgrade your non-production mode domain to 14.1.2.0.0 or later, and then change the domain mode to production mode, it will enable secured production mode by default.
Note:
You can still use production mode with secured production mode disabled, but you must explicitly disable secured production mode. See Change the Domain Mode in Oracle WebLogic Remote Console Online Help.
The domain configuration file, config.xml
, does not explicitly state that secured production mode is enabled because secured production mode enabled is now the default state of production mode.
Table 46-1 Domain Mode in the Domain Configuration File (config.xml)
WebLogic Server Release | Secured Production Mode is Enabled | Secured Production Mode is Disabled |
---|---|---|
14.1.2.0.0 and later |
|
|
14.1.1.0.0 and earlier |
|
|
Changing the Domain Mode
You can change the domain mode on an existing domain.
Changes to the domain mode require a full domain restart - a rolling restart is not sufficient. Oracle recommends that you use offline tools (such as WLST Offline) to modify the domain mode. If you modify the domain mode on running domains, using tools such as WebLogic Remote Console, you must still shut down all of the servers in the domain and then restart them, one server at a time.
When changing the domain mode of an existing domain, consider saving the existing config.xml
file so you can compare it with the new config.xml
file after the domain mode change and assess which settings were changed. See Changes to the Domain Mode for an explanation of the potential effects of making domain mode changes on an existing domain.
- If using WLST Offline:
- If using WebLogic Remote Console, see Change the Domain Mode in Oracle WebLogic Remote Console Online Help.
Changes to the domain mode can affect the default URL of the Administration Server. When SSL/TLS and the administration port are enabled (by default, both are enabled in secured production mode), the default URL is https://hostname:9002
or t3s://hostname:9002
. Take note of the protocol and the port number. When SSL/TLS and the administration port are disabled (by default, both are disabled in development mode), the default URL is http://hostname:7001
or t3://hostname:7001
.
When you enable secured production mode, WebLogic Server expects certain security configurations to be configured. If they are not configured properly, it will flag settings it deems insecure and possibly block traffic on ports or addresses that were previously available in less secure domain modes.
Overriding the Domain Mode (Single Server Domains Only)
It is possible to override the current domain mode of your domain for the duration of its server life cycle. After you restart the server, it will return to its normal domain mode.
You should only perform this task on single server domains in development or test environments.
Note:
When you override the domain mode at the command line, you will not see the effective domain mode in the config.xml
file or the WebLogic Remote Console Edit Tree perspective. Instead, you can use WLST or the Configuration View Tree perspective in WebLogic Remote Console to see the effective state of the domain. See Verifying Attribute Values That Are Set on the Command Line in Command Reference for Oracle WebLogic Server.
If you want to override the current domain mode of your domain, then run the Administration Server start script and include a system property that determines the effective domain mode. See Table 46-2 for the system properties and their usage.
For example, to try out production mode, run:
startWebLogic.sh -Dweblogic.ProductionModeEnabled=true
You can also set environment variables to achieve the same outcome. For example:
export DOMAIN_PRODUCTION_MODE="true"
startWebLogic.sh
Table 46-2 Overriding the domain mode at the command line
Current Domain Mode | Target Domain Mode | System Property | Environment Variable |
---|---|---|---|
Development |
Production Note: Secured Production Mode is enabled by default. |
weblogic.ProductionModeEnabled=true |
DOMAIN_PRODUCTION_MODE="true" |
Development |
Production (with Secured Production Mode disabled) |
Include both system properties:
|
Set both environment variables:
|
Production (with Secured Production Mode disabled) |
Secured Production |
weblogic.securemode.SecureModeEnabled=true |
SECURE_PRODUCTION_MODE="true" |
Production |
Development |
weblogic.ProductionModeEnabled=false |
DOMAIN_PRODUCTION_MODE="false" |
Secured Production |
Production (with Secured Production Mode disabled) |
weblogic.securemode.SecureModeEnabled=false |
SECURE_PRODUCTION_MODE="false" |
Secured Production |
Development |
weblogic.ProductionModeEnabled=false |
DOMAIN_PRODUCTION_MODE="false" |
Connecting to the Administration Server using WebLogic Remote Console
Depending on your existing security settings, you may need to perform additional configuration before you can manage a domain with secured production mode enabled.
Starting Managed Servers using WebLogic Remote Console
If you use WebLogic Remote Console to start Managed Servers, you must configure Node Manager to register the properties for your custom keystore.
Connecting to the Administration Server using WLST
You must perform additional configuration before you can use the WebLogic Scripting Tool to connect to a domain with secured production mode enabled.
Secured Production Mode in Development Environments
If you want to assess the features of secured production mode but do not want to expend the effort to set up custom keystores, it is possible to configure WebLogic Server to use secured production mode with the demonstration keystores included with WebLogic Server.
For information on the demonstration keystores, see Using Keystores and Certificates in a Development Environment. If you want to use the OPSS Keystore Service, see also Configuring Oracle OPSS Keystore Service.
Note:
The following procedures are suitable for testing and development purposes only. Do not use demo keystores in a true production environment.
Using Secured Production Mode with Demonstration Keystores
You may need to perform additional configuration to support the use of the insecure demo keystores in domains with secured production mode enabled.
Using WLST on Domains using Demo Keystores
When using WLST, you must perform additional configuration to support the use of the insecure demo keystores in domains with secured production mode enabled.
Using Secured Production Mode with Demonstration Keystores with KSS
You may need to perform additional configuration to support the use of the insecure demo keystores provided through the Keystore Service in domains with secured production mode enabled.
The Oracle Platform Security Service (OPSS) Keystore Service (KSS) provides a central management and storage of keys and certificates for all servers in a domain. See Configuring Oracle OPSS Keystore Service.
The OPSS KSS is only available with the JRF template and is not available to the default WebLogic Server configuration. Some of the following settings are already configured by the JRF template by default. If you have not modified those default values, you may be able to skip certain steps, such as configuring SSL/TLS or explicitly enabling KSS.
Using WLST on Domains using Demo Keystores with KSS
When using WLST, you must perform additional configuration to support the use of the insecure demo keystores in domains with secured production mode enabled.
Using Secured Production Mode without SSL/TLS
By default, when domains in secured production mode start, they use the default SSL/TLS and Administration Channel. If your domain or its start mechanism is not configured properly, you will not be able to connect. However, you can modify the domain to disregard the SSL/TLS requirements.
- In WebLogic Remote Console, in the Edit Tree, go to Environment, then Domain.
- Turn on the Listen Port Enabled option.
- Turn off the Enable Administration Port option.
- Turn off the SSL Enabled option.
- Click Save.
- If your domain contains clusters, then go to Environment, then Clusters. On each cluster, make the following change:
- On the Replication tab, turn off Secure Replication Enabled.
- Click Save.
- Commit your changes.
- Restart your Administration Server and all of your Managed Servers.
You can also use WLST Offline to disable the SSL/TLS requirements. See Example: Disabling TLS/SSL on a Domain in Secured Production Mode in Understanding the WebLogic Scripting Tool.