Configuring Security for Oracle CEP 10-25
6.
Edit the server.config file ssl element as Example 10–10
shows to add the following child elements:
■
enforce-fips: set this option to true.
■
secure-random-algorithm: set this option to FIPS186PRNG
■
secure-random-provider: set this option to JsafeJCE.
Example 10–10 Editing server.config to Enable Fips
ssl namesslConfigname
key-store.sslevsidentity.jkskey-store key-store-pass
passwords4YUEvH4Wl2DAjb45iJnrw==password key-store-pass
key-store-aliasevsidentitykey-store-alias key-manager-algorithmSunX509key-manager-algorithm
ssl-protocolTLSssl-protocol enforce-fipstrueenforce-fips
need-client-authfalseneed-client-auth secure-random-algorithmFIPS186PRNGsecure-random-algorithm
secure-random-providerJsafeJCEsecure-random-provider
ssl
7.
Restart the Oracle CEP server for the changes to take effect. See
Section 1.5.4, Starting and Stopping Oracle CEP Servers .
10.7 Configuring HTTPS-Only Connections for Oracle CEP Server
This section describes how to lock down the server so that only HTTPS connections are allowed.
To configure HTTPS-Only connections for Oracle CEP server: 1.
Ensure that SSL is configured for the server. See
Section 10.5, Configuring SSL to Secure Network Traffic for details.
2.
Remove the HTTP port configuration from the servers DOMAIN_ DIR
servernameconfigconfig.xml file, leaving only the configuration for the HTTPS port.
Example 10–11 shows a config.xml snippet with a standard configuration in
which both an HTTP and HTTPS port have been configured. The HTTP port is 9002 and the HTTPS port is 9003. Clients can access the Jetty server using both
ports.
Example 10–11 Typical config.xml File With Both HTTP and HTTPS Access
netio nameNetIOname
port9002port netio
netio namesslNetIoname
port9003port ssl-config-bean-namesslConfigssl-config-bean-name
netio jetty
10-26 Oracle Complex Event Processing Administrators Guide
nameJettyServername network-io-nameNetIOnetwork-io-name
secure-network-io-namesslNetIosecure-network-io-name ...
jetty ssl
namesslConfigname key-store.sslevsidentity.jkskey-store
... ssl
Example 10–12 shows the same config.xml file with HTTP access removed.
Clients can now access the Jetty server only using the HTTPS port.
Example 10–12 Typical config.xml File With HTTP Access Removed
netio namesslNetIoname
port9003port ssl-config-bean-namesslConfigssl-config-bean-name
netio jetty
nameJettyServername secure-network-io-namesslNetIosecure-network-io-name
... jetty
ssl namesslConfigname
key-store.sslevsidentity.jkskey-store ...
ssl
3.
If you have a multi-server domain, be sure that SSL has been configured between the member servers.
See Section 10.5.3, How to Configure SSL in a Multi-Server Domain for Oracle
CEP Visualizer for details.
10.8 Configuring Security for Oracle CEP Server Services
After you complete basic security tasks such as configuring Java SE security, a security service provider, and SSL, you can configure security details specific to the various
services that Oracle CEP server provides.
This section describes:
■
Section 10.8.1, Configuring Jetty Security
■
Section 10.8.2, Configuring JMX Security
■
Section 10.8.3, Configuring JDBC Security
■
Section 10.8.4, Configuring HTTP Publish-Subscribe Server Channel Security
10.8.1 Configuring Jetty Security
Oracle CEP supports Jetty see http:www.mortbay.org
as Java Web server to deploy HTTP servlets and static resources.
The following security tasks affect Jetty configuration:
■
Section 10.2, Configuring Java SE Security for Oracle CEP Server
Configuring Security for Oracle CEP 10-27
■
Section 10.5, Configuring SSL to Secure Network Traffic For more information on Jetty, see
Chapter 11, Configuring Jetty for Oracle CEP .
10.8.2 Configuring JMX Security
Clients that access the Oracle CEP server using JMX are subject to Oracle CEP role-based authentication.
For more information, see:
■
Section 10.1.3, Users, Groups, and Roles
■
Managing Groups in the Oracle Complex Event Processing Visualizer Users Guide
■
Managing Users in the Oracle Complex Event Processing Visualizer Users Guide For more information about JMX, see
Chapter 12, Configuring JMX for Oracle CEP .
10.8.3 Configuring JDBC Security
If you update a data-source with a new password using the Configuration Wizard, the Configuration Wizard performs password encryption for you.
If you update the config.xml file manually by adding or modifying a data-source element, you enter the password in plain text and then encrypt the
password using the encryption utility encryptMSAConfig.
Example 10–13 shows a config.xml file data-source element with a new plain
text password secret specified in the properties element with name password.
Example 10–13 Oracle CEP config.xml File data-source Element After Encryption
data-source nameepcisDSname
driver-params urljdbc:sqlserver:localhost:1433;databaseName=myDB;SelectMethod=cursorurl
driver-namecom.microsoft.sqlserver.jdbc.SQLServerDriverdriver-name properties
element nameusername
valuejulietvalue element
element namepasswordname
valuesecretvalue
element properties
driver-params data-source
transaction-manager nameTMname
rmi-service-nameRMIrmi-service-name transaction-manager
Example 10–14 shows the config.xml file data-source element after encryption. Note
the plain text password has been encrypted.
Example 10–14 Oracle CEP config.xml File data-source Element After Encryption
data-source nameepcisDSname
driver-params urljdbc:sqlserver:localhost:1433;databaseName=myDB;SelectMethod=cursorurl
driver-namecom.microsoft.sqlserver.jdbc.SQLServerDriverdriver-name
10-28 Oracle Complex Event Processing Administrators Guide
properties element
nameusername valuejulietvalue
element element
namepasswordname value{Salted-3DES}hVgC5iZ3nZA=value
element properties
driver-params data-source
transaction-manager nameTMname
rmi-service-nameRMIrmi-service-name transaction-manager
For more information, see:
■
Section 10.1.8, Specifying User Credentials When Using the Command-Line Utilities
■
Section C.2, The encryptMSAConfig Command-Line Utility For more information about JDBC, see
Chapter 13, Configuring JDBC for Oracle CEP
10.8.4 Configuring HTTP Publish-Subscribe Server Channel Security
After you configure at least one HTTP publish-subscribe server channel, you can use role-based authentication to control access to individual HTTP publish-subscribe
server channels using the Oracle CEP Visualizer.
For more information, see:
■
Section 10.1.3, Users, Groups, and Roles
■
Chapter 14, Configuring HTTP Publish-Subscribe for Oracle CEP
■
Configuring Security for the HTTP Publish-Subscribe Channels in the Oracle Complex Event Processing Visualizer Users Guide.
10.9 Configuring the Oracle CEP Security Auditor
Oracle CEP provides a security auditor that logs security-related activity. By default, the security auditor logs to DOMAIN_
DIR servernamelegacy-rootdirserverslegacy-server-namelogsDe
faultAuditRecorder.log file, where DOMAIN_DIR refers to the main directory of your domain, such as d:\oracle_cep\user_projects\domains\mydomain, and
servername refers to the name of your server.
By default, the Oracle CEP security auditor will only log security errors or failures. This helps keep the security auditor log file at a manageable size.
Optionally, you can configure the level at which the Oracle CEP security auditor logs information.
For more information, see Configuring the WebLogic Auditing Provider in the Oracle Fusion Middleware Securing Oracle WebLogic Server.
To configure security auditor logging: 1.
Change to the DOMAIN_DIRservernameconfig directory, where DOMAIN_ DIR
refers to the main directory of your domain, such as d:\oracle_cep\user_