Sim 160 SG
Sim 160 SG
Sim 160 SG
December 2016
Oracle Retail Store Inventory Management Security Guide, Release 16.0
E76217-01
The information contained herein is subject to change without notice and is not warranted to be error-free. If
you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it
on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software,
any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users
are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and
agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and
adaptation of the programs, including any operating system, integrated software, any programs installed on
the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to
the programs. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management
applications. It is not developed or intended for use in any inherently dangerous applications, including
applications that may create a risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other
measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages
caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of
their respective owners.
Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks
are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD,
Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced
Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content,
products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and
expressly disclaim all warranties of any kind with respect to third-party content, products, and services
unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its
affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of
third-party content, products, or services, except as set forth in an applicable agreement between you and
Oracle.
The following restrictions and provisions only apply to the programs referred to in this section and licensed
to you. You acknowledge that the programs may contain third party software (VAR applications) licensed to
Oracle. Depending upon your product and its version number, the VAR applications may include:
(i) the MicroStrategy Components developed and licensed by MicroStrategy Services Corporation
(MicroStrategy) of McLean, Virginia to Oracle and imbedded in the MicroStrategy for Oracle Retail Data
Warehouse and MicroStrategy for Oracle Retail Planning & Optimization applications.
(ii) the Wavelink component developed and licensed by Wavelink Corporation (Wavelink) of Kirkland,
Washington, to Oracle and imbedded in Oracle Retail Mobile Store Inventory Management.
(iii) the software component known as Access Via licensed by Access Via of Seattle, Washington, and
imbedded in Oracle Retail Signs and Oracle Retail Labels and Tags.
(iv) the software component known as Adobe Flex licensed by Adobe Systems Incorporated of San Jose,
California, and imbedded in Oracle Retail Promotion Planning & Optimization application.
You acknowledge and confirm that Oracle grants you use of only the object code of the VAR Applications.
Oracle will not deliver source code to the VAR Applications to you. Notwithstanding any other term or
condition of the agreement and this ordering document, you shall not cause or permit alteration of any VAR
Applications. For purposes of this section, "alteration" refers to all alterations, translations, upgrades,
enhancements, customizations or modifications of all or any portion of the VAR Applications including all
reconfigurations, reassembly or reverse assembly, re-engineering or reverse engineering and recompilations
or reverse compilations of the VAR Applications or any derivatives of the VAR Applications. You
acknowledge that it shall be a breach of the agreement to utilize the relationship, and/or confidential
information of the VAR Applications for purposes of competitive discovery.
The VAR Applications contain trade secrets of Oracle and Oracle's licensors and Customer shall not attempt,
cause, or permit the alteration, decompilation, reverse engineering, disassembly or other reduction of the
VAR Applications to a human perceivable form. Oracle reserves the right to replace, with functional
equivalent software, any of the VAR Applications in future releases of the applicable program.
Contents
Preface ................................................................................................................................................................. xi
Audience....................................................................................................................................................... xi
Documentation Accessibility ..................................................................................................................... xi
Related Documents ..................................................................................................................................... xi
Customer Support ...................................................................................................................................... xii
Review Patch Documentation .................................................................................................................. xii
Improved Process for Oracle Retail Documentation Corrections ....................................................... xii
Oracle Retail Documentation on the Oracle Technology Network ................................................... xiii
Conventions ............................................................................................................................................... xiii
v
Additional Pre-requisite for Oracle Retail Service Backbone (RSB) Security Policies .......... 1-15
Advanced Infrastructure Security ...................................................................................................... 1-15
4 Troubleshooting
Enabling TLS1.1 and 1.2 Protocols in Internet Explorer 11 .............................................................. 4-1
Hardening Local JRE for Use with Retail Applications ................................................................... 4-2
Java Version 7 SSL Handshake Issue while Using Self Signed Certificates ............................... 4-3
Importing the Root Certificate in Local Client JRE ....................................................................... 4-3
Importing the Root Certificate to the Browser............................................................................... 4-4
Importing the Root Certificate through Internet Explorer ................................................... 4-4
Importing the Root Certificate through Mozilla Firefox ....................................................... 4-4
Secure Cookies.......................................................................................................................................... 4-5
Changes to Web Application Descriptor ............................................................................................. 4-5
Launching Issues with RPM .................................................................................................................. 4-6
Disabling Hostname Verification ......................................................................................................... 4-6
Verifying the Certificate Content.......................................................................................................... 4-7
Verifying the Keystore Content ............................................................................................................ 4-7
Integration Issues ..................................................................................................................................... 4-8
Errors in WLS_FORMS .......................................................................................................................... 4-8
HTTPS Service Encountering Redirect Loop After Applying Policy A ........................................ 4-9
vi
5 Importing Topology Certificate
Importing Certificates into Middleware and Repository of Oracle Retail Applications ......... 5-1
8 Security Features
Overview of Security Features............................................................................................................... 8-1
Dependent Applications ......................................................................................................................... 8-2
Technical Overview of Security Features............................................................................................ 8-2
Authentication .................................................................................................................................... 8-2
Authorization...................................................................................................................................... 8-3
Audit .................................................................................................................................................... 8-3
User Management .............................................................................................................................. 8-3
Encryption and Hashing ......................................................................................................................... 8-3
9 Administration
Roles and Permissions............................................................................................................................. 9-1
Common Application Administration ................................................................................................. 9-1
vii
Extending/Customization ....................................................................................................................... 9-2
References.................................................................................................................................................. 9-2
viii
Send Us Your Comments
ix
x
Preface
The Oracle Retail Store Inventory Management Security Guide serves as a guide for
administrators, developers, and system integrators who securely administer,
customize, and integrate the Oracle Retail Store Inventory Management application.
Installation and configuration for is covered in more detail in the Oracle Retail store
Inventory Management Installation Guide.
Audience
This document is intended for administrators, developers, and system integrators who
perform the following functions:
Document specific security features and configuration details for the Oracle Retail
MP& O Suite products, in order to facilitate and support the secure operation of
the Oracle Retail product and any external compliance standards.
Guide administrators, developers, and system integrators on secure product
implementation, integration, and administration. Functional and technical
description of the problem (include business impact).
It is assumed that the readers have general knowledge of administering the
underlying technologies and the application.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle
Accessibility Program website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Related Documents
For more information, see the following documents in the Oracle Retail Store
Inventory Management Release 16.0 documentation set:
Oracle Retail Store Inventory Management Release Notes
Oracle Retail Store Inventory Management Configuration Guide
xi
Oracle Retail Store Inventory Management Integration Guide
Oracle Retail Store Inventory Management Extension Guide
Oracle Retail Store Inventory Management Installation Guide
Oracle Retail Store Inventory Management Operations Guide
Oracle Retail Store Inventory Management Store User Guide
Oracle Retail Store Inventory Management MAF Guide
Oracle Retail Store Inventory Management MAF Installation Guide
Oracle Retail Store Inventory Management Wavelink Studio Client Guide
Oracle Retail Store Inventory Management Data Model
Oracle Retail Store Inventory Management Upgrade Guide
Customer Support
To contact Oracle Customer Support, access My Oracle Support at the following URL:
https://support.oracle.com
xii
An updated version of the applicable Oracle Retail document is indicated by Oracle
part number, as well as print date (month and year). An updated version uses the
same part number, with a higher-numbered suffix. For example, part number
E123456-02 is an updated version of a document with part number E123456-01.
If a more recent version of a document is available, that version supersedes all
previous versions.
(Data Model documents are not available through Oracle Technology Network. You
can obtain them through My Oracle Support.)
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated
with an action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for
which you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code
in examples, text that appears on the screen, or text that you enter.
xiii
xiv
Part I
Part I Oracle Retail Applications
The following chapters provide guidance for administrators, developers, and system
integrators who securely administer, customize, and integrate the Oracle Retail
Applications.
Part I contains the following chapters:
Pre-installation of Retail Infrastructure in WebLogic
Post Installation of Retail Infrastructure in Database
Post Installation of Retail Infrastructure in WebLogic
Troubleshooting
Importing Topology Certificate
Using Self Signed Certificates
1
Pre-installation of Retail Infrastructure in
1
WebLogic
Using the following URL, download and install the JCE Unlimited Strength
Jurisdiction Policy Files that correspond to the version of your JDK:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
For JDK 7, download from the following URL:
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432
124.html and replace the files in JDK/jre/lib/security directory
For JDK8, download the files from URL:
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133
166.html
Note: Restart the entire WebLogic instance using the JDK to enable
changes to take effect once the JCE has been installed.
Note: You need to obtain a separate signed SSL certificates for each
host where application is being deployed.
The Security Guide focuses on securing Oracle Retail Applications in single node
setup and not on applications deployed on clusters.
Certificate Authority
Certificate Authority or Certification Authority (CA) is an organization which
provides digital certificates to entities and acts as trusted third party. Certificates
issued by the commercial CAs are automatically trusted by most of the web browsers,
devices, and applications. It is recommended to have certificates obtained from a
trusted CA or commercial CAs to ensure better security.
Note: SSL certificates are used to contain public keys. With each
public key there is an associated private key. It is critically important
to protect access to the private key. Otherwise, the SSL messages may
be decrypted by anyone intercepting the communications.
Perform the following steps to obtain an SSL certificate and setting up a keystore:
1. Obtain an identity (private key and digital certificates) and trust (certificates of
trusted certificate authorities) for WebLogic Server.
2. Use the digital certificates, private keys, and trusted CA certificates provided by
the WebLogic Server kit, the CertGen utility, Sun Microsystem's keytool utility, or a
reputed vendor such as Entrust or Verisign to perform the following steps:
a. Set appropriate JAVA_HOME and PATH to java, as shown in the following
example:
export JAVA_HOME=/u00/webadmin/product/jdk
export PATH=$JAVA_HOME/bin:$PATH
b. Create a new keystore.
keytool -genkey -keyalg RSA -keysize 2048 -keystore <keystore> -alias <alias>
For example:
keytool -genkey -keyalg RSA -keysize 2048 -keystore hostname.keystore
-alias hostname
c. Generate the signing request.
keytool -certreq -keyalg RSA -file <certificate request file> -keystore
<keystore> -alias <alias>
For example:
keytool -certreq -keyalg RSA -file hostname.csr -keystore hostname.keystore
-alias hostname
d. Submit the certificate request to CA.
3. Store the identity and trust.
Private keys and trusted CA certificates which specify identity and trust are stored
in a keystore.
In the following examples the same keystore to store all certificates are used:
a. Import the root certificate into the keystore as shown in the following
example:
keytool -import -trustcacerts -alias verisignclass3g3ca -file Primary.pem
-keystore hostname.keystore
A root certificate is either an unsigned public key certificate or a self-signed
certificate that identifies the Root CA.
b. Import the intermediary certificate (if required) into the keystore as shown in
the following example:
keytool -import -trustcacerts -alias oracleclass3g3ca -file Secondary.pem
-keystore hostname.keystore
c. Import the received signed certificate for this request into the keystore as
shown in the following example:
keytool -import -trustcacerts -alias hostname -file cert.cer -keystore
hostname.keystore
Note: Not all changes take effect immediately, some require a restart.
Figure 12 Configuring the Identity and Trust Keystores for WebLogic Server
For more information on configuring SSL, see the section Configure SSL in the
Administration Console Online Help.
All the server SSL attributes are dynamic; when modified through the Console.
They cause the corresponding SSL server or channel SSL server to restart and use
the new settings for new connections. Old connections will continue to run with
the old configuration. You must reboot WebLogic Server to ensure that all the SSL
connections exist according to the specified configuration.
Use the Restart SSL button on the Control: Start/Stop page to restart the SSL
server when changes are made to the keystore files. You have to apply the same
for subsequent connections without rebooting WebLogic Server.
Upon restart you can see the following similar entries in the log:
<Mar 11, 2013 5:18:27 AM CDT> <Notice> <WebLogicServer> <BEA-000365> <Server
state changed to RESUMING>
<Mar 11, 2013 5:18:27 AM CDT> <Notice> <Server> <BEA-002613> <Channel
"DefaultSecure" is now ing on 10.141.15.214:57002 for protocols iiops, t3s,
ldaps, https.>
<Mar 11, 2013 5:18:27 AM CDT> <Notice> <Server> <BEA-002613> <Channel
"DefaultSecure[1]" is now ing on 127.0.0.1:57002 for protocols iiops, t3s,
ldaps, https.>
<Mar 11, 2013 5:18:27 AM CDT> <Notice> <WebLogicServer> <BEA-000329> <Started
WebLogic Admin Server "AdminServer" for domain "APPDomain" running in
Production Mode>
<Mar 11, 2013 5:18:27 AM CDT> <Notice> <WebLogicServer> <BEA-000365> <Server
state changed to RUNNING>
<Mar 11, 2013 5:18:27 AM CDT> <Notice> <WebLogicServer> <BEA-000360> <Server
started in RUNNING mode>
This system property accepts one of the following values for protocol:
Set the following property in startup parameters in WebLogic Managed server for
enabling the higher protocol:
Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.1
Note: In case protocol is set for Managed servers, the same should be
set for Administration server. Ensure that all the managed servers are
down when making changes to the Administration server for setting
up the protocol. It is recommended to set the properties in
Administration server and then the Managed server.
Note: Restart the entire WebLogic instance using the JDK to enable
changes to take effect once the JCE has been installed.
<ssl>
<name>examplesServer</name>
<enabled>true</enabled>
<ciphersuite>TLS_RSA_WITH_AES_256_CBC_SHA</ciphersuite>
<-port>17002</-port>
...
</ssl>
8. You need to bounce the entire WebLogic Domain for changes to take effect, after
activating the changes.
9. You need to verify if the nodemanager is reachable in Monitoring tab after restart.
The deployed application should be able to communicate with LDAP on SSL port
after successful SSL Handshake.
Example 13 Referring TNS Alias inside tnsnames.ora to the TCPS port for Secured
Listener of the database
<DB_NAME>_secure =
(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcps)(host = dbhost1)(Port =
2484)))
(CONNECT_DATA = (SID = <DB_NAME>) (GLOBAL_NAME = <DB_NAME>)))
$ mkdir /u00/webadmin/product/10.3.X_FORMS/WLS/Oracle_FRHome1/network/wallet
$ cd /u00/webadmin/product/10.3.X_FORMS/WLS/Oracle_FRHome1/network/wallet
$ export JAVA_HOME=/u00/webadmin/product/jdk
$ export PATH=$JAVA_HOME/bin:$PATH
$ export ORACLE_HOME=/u00/webadmin/product/10.3.X_FORMS/WLS/Oracle_FRHome1
$ export PATH=$ORACLE_HOME/bin:$PATH
$ export PATH=/u00/webadmin/product/10.3.X_FORMS/WLS/oracle_common/bin:$PATH
$ orapki wallet create -wallet
/u00/webadmin/product/10.3.X_FORMS/WLS/Oracle_FRHome1/network/wallet/secured
-auto_login -pwd <wallet-pwd>
Oracle PKI Tool: Version 11.1.1.5.0
Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
$ ls
cwallet.sso ewallet.p12
2. Import the Signed certificates into the wallet.
Note: You need to create a sqlnet.ora file with details of the wallet in
$ORACLE_HOME/network/admin directory, if the file is not
available.
$ sqlplus rms01app@<DB_NAME>_secure
SQL*Plus: Release 12.1.0.1.0 Production on Tue Aug 5 02:15:22 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
Note:
The web services are secured using WebLogic policies (as opposed to
OWSM policies).
If the application services are secured with any policy other than what is
mentioned in this document or custom policies, the instructions in the
document will not work.
Additional Pre-requisite for Oracle Retail Service Backbone (RSB) Security Policies
Perform the additional pre-requisites for Oracle Retail Service Backbone (RSB) security
policies:
1. Create DB schema for OSB [PolicyA][PolicyB].
2. Ensure that <RSB_MDS> schema is created while running Repository Creation
Utility (RCU) at <rcuHome>/bin/rcu.
3. Extend RSB Domain with OWSM Extention [PolicyA][PolicyB].
4. Ensure that OSB OWSM Extension-11.1.1.6 is selected, when RSBDomain is being
created.
Database
Oracle Retail applications use the Oracle database as the backend data store for
applications. In order to ensure complete environment security the database should be
secured.
This chapter describes the post installation steps for secured setup of Retail
infrastructure in the Database.
The following topics are covered in this chapter:
Configuring SSL Connections for Database Communications
Configuring the Password Stores for Database User Accounts
Configuring the Database Password Policies
Configuring SSL for Oracle Data Integrator (ODI)
Creating an Encrypted Tablespace in Oracle 12c Container Database
Additional Information
11. Verify the connections are successful to the new <dbname>_secure alias
12. At this point either the new secure alias can be used to connect to the database, or
the regular alias can be modified to use TCPS protocol.
13. Export the identity certificate so that it can be imported on the client systems
orapki wallet export -wallet /oracle/secure_wallet -dn <full dn of identity
certificate> -cert <filename_to_create>
mkdir -p /oracle/secure_wallet
2. Create a wallet in the path. For example,
orapki wallet create -wallet /oracle/secure_wallet -auto_login
3. Import each trust chain certificate into the wallet as shown in the following
example:
orapki wallet add -wallet /oracle/secure_wallet -trusted_cert -cert <trust chain
certificate>
4. Import the identity certificate into the wallet, as shown in the following example:
orapki wallet add -wallet /oracle/secure_wallet -trusted_cert -cert <certificate file
location>
5. Update the sqlnet.ora with the wallet location information and disabling SSL
authentication.
WALLET_LOCATION =
(SOURCE=
(METHOD=File)
(METHOD_DATA=
(DIRECTORY=wallet_location)))
SSL_CLIENT_AUTHENTICATION=FALSE
6. Update the tnsnames.ora to configure a database alias using TCPS protocol for
connections.
<dbname>_secure=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCPS)(HOST=<dbserver>)(PORT=2484)))
(CONNECT_DATA=(SERVICE_NAME=<dbname>)))
7. Verify the connections are successful to the new <dbname>_secure alias.
8. At this point either the new secure alias can be used to connect to the database, or
the regular alias can be modified to use TCPS protocol.
3. Import the database certificate into the trust store as shown in the following
example:
keytool -import -alias db_cert -keystore /oracle/secure_jdbc/truststore.jks
-file <db certificate file>
4. JDBC clients can use the following URL format for JDBC connections:
jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS= (PROTOCOL=tcps) (HOST=<dbserver>)
(PORT=2484)) (CONNECT_DATA= (SERVICE_NAME=<dbname>)))
5. You need to set the properties as shown in Table 21, either as system properties or
as JDBC connection properties.
Note: Many other profile settings are available for increased security.
For more information, see the Oracle Database Security Guide.
Valid from: Fri Aug 01 02:12:50 CDT 2014 until: Mon Jul 27 02:12:50 CDT 2015
Certificate fingerprints:
MD5: 6E:67:FE:FA:4F:6C:E7:E8:C5:5F:17:97:18:E6:62:7E
SHA1: 48:B7:66:58:24:C9:BD:A9:F9:E1:FB:08:70:94:35:9A:B0:44:DF:D6
SHA256:
6A:88:40:E1:A7:2F:67:13:6A:F7:12:D0:F1:47:6C:D7:E8:68:45:73:C3:04:36:24:8A:41:1
8:3D:22:8A:DD:5F
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 2E A6 E1 80 12 33 70 4C 72 FA DF ED 98 BB 33 DF .....3pLr.....3.
0010: 81 6B 40 A4 .k@.
]
]
Trust this certificate? [no]: yes
Certificate was added to keystore
[Storing cacerts.jks]
5. Encode the password used by Keystore and Truststore as follows:
$ cd $ODI_HOME/oracledi/agent/bin
$ ./encode.sh <password>
For Example -
$ ./encode.sh password
fDyp8qdXcuuYUbBcg0Jr
6. After configuring repository connection information of the odiparams.sh file,
configure and modify the following sections of the file and save it:
$ vi odiparams.sh
7. Modify the following entries:
ODI_KEYSTORE_ENCODED_PASS=fDyp8qdXcuuYUbBcg0Jr
ODI_KEY_ENCODED_PASS=fDyp8qdXcuuYUbBcg0Jr
ODI_TRUST_STORE_ENCODED_PASS=fDyp8qdXcuuYUbBcg0Jr
ODI_JAVA_OPTIONS="-Djava.security.policy=server.policy
-Doracle.security.jps.config=./jps-config.xml
-Djavax.net.ssl.keyStore=<KEYSTORE_LOCATION>/keystore.jks
-Djavax.net.ssl.trustStore=<KEYSTORE_LOCATION>/SSL/cacerts.jks $ODI_PARAMS_
JAVA_OPTION"
13. Once Connect to Repository Window appears, click Connect to Repository. The
Oracle Data Integrator Login screen appears.
15. Configure the New Agent by right clicking Agents and select New Agent.
16. Specify all the details and make sure you are using an HTTPS protocol.
Port: 21911.
2014-08-01 03:18:51.209 NOTIFICATION ODI-1111 Agent oracledi1 started. Agent
version: 11.1.1.7.0 - 02/03/2013. Port: 20911. JMX Port: 21911.
2014-08-01 03:18:51.210 NOTIFICATION ODI-1136 Starting Schedulers on Agent
oracledi1.
2014-08-01 03:18:52.040 NOTIFICATION ODI-1137 Scheduler started for work
repository ODI_WREP_141QA1LIN on Agent oracledi1
Note: One can set the Encryption KEY only for particular PDB if
required, by specifying the CONTAINER=<PDB>.
WRL_
WRL_ PARAMET WALLET_ WALLET FULLY
TYPE ER STATUS TYPE OR BAC CON ID
FILE /u03/walle OPEN PASSWOR SINGLE NO 0
t_cdb D
Additional Information
For more information on the subjects covered in this section as well as information on
other options that are available to strengthen database security, see the Oracle Database
Security Guide 12c Release 1.
The Oracle Advanced Security Option provides industry standards-based solutions to
solve enterprise computing security problems, including data encryption and strong
authentication. Some of the capabilities discussed in this guide require licensing the
Advanced Security Option.
For more information, see the Oracle Database Advanced Security Administrator's Guide
12c Release 1.
WebLogic
This chapter describes the post installation steps for secured setup of Oracle Retail
infrastructure in WebLogic.
The following topics are covered in this chapter:
Retail Application Specific Post installation Steps for Security
Batch Set Up for SSL Communication
Oracle Business Intelligence (BI) Publisher - Disable Guest User - Optional
Retail Merchandising System (RMS) - Forms Timeout Setting - Optional
Asynchronous Task JMS Queue Security
Hardening Use of Headers and Transport Layer Security
Update weblogic.jdbc.remoteEnabled in setStartupEnv.sh
Verifying and Creating Required Async Task Job Role and User
Securing the JMS async task queue requires a special enterprise role and a special user
to exist in the retailer's Oracle Internet Directory (OID) instance.
The RETAIL_ASYNC_TASK_JOB is an enterprise role that will be used to group users
who will have access to the asynchronous task queue.
The RETAIL _ASYNC_TASK_USER is a special user Retail Applications can use as a
principal for executing their message-driven-bean-based consumer processes. This
user is a member of the RETAIL_ASYNC_TASK_JOB.
The RETAIL_ASYNC_TASK_JOB and RETAIL_ASYNC_TASK_USER are included as
part of the Retail Default Security Reference Implementation installed as part of the
Retail Application.
Verify the existence of the job and user in the OID instance. You need to create them if
they do not exist.
4. Specify a name for the JMS Queue Scoped Role. The suggested naming convention
is [AppCode]AsyncJMSQueueAccessRole]. For example,
AllocAsyncJMSQueueAccessRole. The JMS Queue Scoped Role will be created.
9. Add a new Role based condition specifying the JMS Queue Role created in the
previous step.
11. Proceed to the next section to allow the Retail Web Application to publish tasks to
the queue.
See the Oracle Internet Directory documentation for details on how to extend one
group to another.
<IfModule mod_headers.c>
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate,
no-transform"
Header set Pragma "no-cache"
</IfModule>
This chapter covers the common errors, issues, and troubleshooting them.
The following topics are covered in this chapter:
Enabling TLS1.1 and 1.2 Protocols in Internet Explorer 11
Hardening Local JRE for Use with Retail Applications
Java Version 7 SSL Handshake Issue while Using Self Signed Certificates
Secure Cookies
Changes to Web Application Descriptor
Launching Issues with RPM
Disabling Hostname Verification
Verifying the Certificate Content
Verifying the Keystore Content
Integration Issues
Errors in WLS_FORMS
HTTPS Service Encountering Redirect Loop After Applying Policy A
Troubleshooting 4-1
Hardening Local JRE for Use with Retail Applications
Figure 41
2. Under Advanced>Settings, scroll down and select TLS 1.0, 1.1 and 1.2. Disable
SSL 2.0 and SSL 3.0 as follows:
Figure 42
3. Click Apply.
Java Version 7 SSL Handshake Issue while Using Self Signed Certificates
Java Version 7 may have issues using self signed certificates. The self-signed root
certificate may not be recognized by Java Version 1.7 and a certificate validation
exception might be thrown during the SSL handshake. You need to create the private
key with Subject Key Identifier to fix this problem. You need to include an option -
addext_ski when the orapki utility is used to create the private key in the root wallet.
2. Import the certificate using keytool utility as shown in the following example:
C:\Program Files\Java\jre7\lib\security>..\..\bin\keytool.exe -import
-trustcacerts -file D:\ADMINISTRATION\SSL\apphost2\Selfsigned\apphost2.root.cer
-alias apphost2 -keystore "C:\Program Files\Java\jre7\lib\security\cacerts"
Troubleshooting 4-3
Java Version 7 SSL Handshake Issue while Using Self Signed Certificates
Secure Cookies
Cookies should be set to secure by default. To verify this has been correctly set, do the
following:
1. Enable SSL in the environment.
2. Check the weblogic.xml. the cookie-secure element should be set to true.
<session-descriptor>
<cookie-secure>true</cookie-secure>
</session-descriptor>
3. If the element is not set to true and the value has to be changed:
a. Redeploy the <app>.ear file.
b. Restart the services.
Troubleshooting 4-5
Launching Issues with SIM
</security-constraint>
Perform the following steps to disable the hostname verification for testing purposes:
1. Go to Environment > Domain > Servers > AdminServer.
2. Click the SSL tab.
3. Click Advanced.
Extensions:
Troubleshooting 4-7
Integration Issues
Integration Issues
Oracle Retail applications can be deployed across different hosts and behind network
firewalls. Ensure firewalls are configured to allow TCPS connections to enable secure
communications among integrated application.
Secured applications using signed certificates need to use same secured protocols for
communication. Ensure that all the communicating applications use the same protocol.
For more information on steps to specify secured protocol, see Enforcing Stronger
Encryption in WebLogic section of Chapter 1.
Communicating applications using signed certificates may need to verify the incoming
connections. Root certificates should be available in the keystores of the applications to
verify the requests from different host. It is important to import all the root certificates
in the keystores of all communicating applications. For information on steps to import
the root certificate in local client JRE, see Importing the Root Certificate in Local Client
JRE section.
Errors in WLS_FORMS
When you try to restart the WLS_FORMS managed server in Oracle Forms installation
after configuring for secure setup (enabling SSL), the managed server startup logs
shows the error as shown in Example 41. To resolve, ensure that Additional
configuration for WLS_FORMS (For forms server) in Pre-installation - Steps for
Secured Setup of Oracle Retail Infrastructure in WebLogic of Chapter 1have been
completed. The startup shows the errors in the logs as shown in the example, when
you try to restart the WLS_FORMS managed server in Oracle Forms installation after
configuring for security.
Troubleshooting 4-9
HTTPS Service Encountering Redirect Loop After Applying Policy A
Implementation of SSL into the Oracle Retail deployment is driven by mapping the
SSL certificates and wallets to various participating components in the topology.
Note: In Table 51, the *root.cer are the public key certificates and the
*server.cer are the private key certificates.
Self signed certificates can be used for development environment for securing
applications. The generic steps to be followed for creating self signed certificates and
configuring for use for Oracle Retail application deployment are covered in the
subsequent sections.
The following topics are covered in this chapter:
Creating a Keystore through the Keytool in Fusion Middleware (FMW) 11g
Exporting the Certificate from the Identity Keystore into a File
Importing the Certificate Exported into trust.keystore
Configuring WebLogic
Configuring Nodemanager
Importing Self Signed Root Certificate into Java Virtual Machine (JVM) Trust Store
Disabling Hostname Verification
Converting PKCS7 Certificate to x.509 Certificate
Configuring WebLogic
You need to enable SSL for WebLogic server's Admin and managed servers by
following the steps as provided in Configuring the Application Server for SSL section
of Chapter 1.
Configuring Nodemanager
You need to secure the Node manager by following the steps in Securing
Nodemanager with SSL Certificates section.
Importing Self Signed Root Certificate into Java Virtual Machine (JVM)
Trust Store
In order for the Java Virtual Machine (JVM) to trust in your newly created certificate,
import your custom certificates into your JVM trust store.
Perform the following steps to import the root certificate into JVM Trust Store:
1. Ensure that JAVA_HOME has been already set up.
2. Run the following command:
$keytool -import -trustcacerts -file rootCer.cer -alias selfsignedcert -keystore
cacerts
Example:
apphost2:[10.3.6_apps] /u00/webadmin/product/jdk1.1.7_
30.64bit/jre/lib/security> keytool -import -trustcacerts -file
/u00/webadmin/ssl/root.cer -alias apphost2 -keystore
/u00/webadmin/product/jdk1.6.0_30.64bit/jre/lib/security/cacerts -storepass
[spass default is changeit]
Owner: CN=apphost2, OU=<Organization Unit>, O=<company>,L=<city>,ST=<state or
province>, C=<country>"
Issuer: CN=apphost2, OU=<Organization Unit>, O=<company>,L=<city>,ST=<state or
province>, C=<country>"
Serial number: 515d4bfb
Valid from: Thu Apr 04 05:46:35 EDT 2013 until: Fri Apr 04 05:46:35 EDT 2014
Certificate fingerprints:
MD5: AB:FA:18:2B:BC:FF:1B:67:E7:69:07:2B:DB:E4:C6:D9
SHA1: 2E:98:D4:4B:E0:E7:B6:73:55:4E:5A:BE:C1:9F:EA:9B:71:18:60:BB
Signature algorithm name: SHA1withRSA
Version: 3
Trust this certificate? [no]: yes
Certificate was added to keystore
apphost2:[10.3.6_apps] /u00/webadmin/product/jdk1.6.0_
30.64bit/jre/lib/security>
need to be converted to usable form. Java based Keystores supports x.509 format of
certificate.
The following example demonstrates converting certificate PKCS 7 to x.509 format:
1. Copy the PKCS 7 certificate file to a Windows desktop.
2. Rename the file and provide .p7b extension.
3. Open the .p7b file.
4. Click the plus ( + ) symbol.
5. Click the Certificates directory.
An Intermediary certificate if provided by CA for trust.
The following chapters provide guidance for administrators, developers, and system
integrators who securely administer, customize, and integrate the Oracle Retail
Warehouse Management System (SIM) application.
Part II contains the following chapters:
Overview of Store Inventory Management Security
Security Features
Administration
Additional information may also be found in the Installation Guide for the Oracle Retail
Store Inventory Management.
7
Overview of Store Inventory Management
7
Security
This chapter discusses the security architecture and provides guidance for securing the
Oracle Retail Store Inventory Management (SIM) application. Although each retailer
must determine the detailed security methods that best suit its organization, this
chapter outlines best practice for securing Store Inventory Management.
Oracle Software
Oracle releases Critical Patch Updates for security related issues on a regular schedule
four times a year. For more urgent vulnerabilities, Oracle issues Security Alerts for
fixes deemed too critical to wait for the next Critical Patch Update. Information on
these patches is available on the Oracle website and is also distributed by e-mail. It is
strongly recommended that these patches be applied as soon as possible in order to
address the identified vulnerabilities.
General Principles
When hardening security for a SIM deployment, the complete application architecture
and operational environment should be considered. See the relevant security
documentation for detailed information on securing system components such as
Separating Components
The severity of potential security breaches can be limited by separating the different
system components. Hosting the application and database servers on two different
machines would mean a security breach on one machine would not necessarily lead to
a security breach on the other. For example, if the batch client WebLogic server was
compromised, by using a separate user with access limited to SIM services, other web
logic resources such as the database server would remain protected.
The separation of duties with respect to resources provides the opportunity to
implement layered security, often referred to as defense-in-depth. As SIM uses a
multi-tier architecture it is recommended to secure each layer separately. Although this
increases the security complexity it improves the applications resilience against
different forms of attack and reduces the risk of a single point of failure.
For example, the batch client should use an operating system user that does not have
Administrators privileges. That user should only have the access rights required to
execute the batch client runtime, read and write batch files, network access limited to
the SIM server. The WebLogic user account should not have Administrators privileges
and should only have access to the SIM server deployment.
Network Access
Access to the network should be restricted as much as possible. For example, use of
network address white lists, firewalls, software/hardware VPN, encrypted
connections, and user access restrictions can be used to limit access to the deployment
at the network level.
User Access
SIM supports several user security modes and single sign on (SSO) authentication by
using the WebLogic security services.
Handheld Devices
The SIM PC and wireless handheld clients are intended for use in a retail store
environment. Due to the risk of unauthorized users gaining physical access to the
client device additional security measures are recommended. This includes device
access restrictions such as a screen lock based on inactivity protected by password or
two factor authentication. For example, the PC client machine should be configured to
lock the screen after a period of inactivity and require user password authentication to
be unlocked.
Wireless handheld client software is provided by Wavelink. This third party software
renders SIM screens and connects to the Wavelink wireless server.
Secure Shell (SSH) is a protocol developed for transmitting private information over
the Internet. SSH encrypts data that is transferred over the Telnet session. The Telnet
Client supports multiple SSH versions and will automatically select the most secure
protocol that the SSH server supports.
The Wavelink client/server supports TLS transport security. The SIM wireless server
should be configured for TLS security in production deployments.
Installation
This section covers the installation of SIM.
Pre-Installation
Before installation a deployment plan should be developed that considers system
security in addition to application operation. There are many components and features
to examine when hardening system security. By using formal planning with flowcharts
and checklists there is less risk of mistakes and overlooking security vulnerabilities.
When installing each infrastructure component, such as the operating system or
application server, the appropriate security documentation should be reviewed.
Ensure that these components are securely configured and use appropriate security
features, such as password policies and encryption.
Security options such as SSL or TLS should be required and set up using appropriate
signed certificates and trusted certificate authority.
Installation
When installing the SIM application the available security features for all installed
components should be enabled. For example, SSL should be enabled for all resources,
and web service security policies should be applied.
It is important to only install necessary components and to disable any unused
features during configuration.For example, if RIB is not used then it should be
disabled during installation.
Separate user accounts should be used for each component configured by the installer.
The user accounts should have access restricted to the requirements of the functions
they will carry out. They should use credentials that satisfy robust password policies.
Depending on the selected identity management solution, the appropriate security
providers must be installed for SIM to perform authentication and authorization
operations.
If the external (OID or LDAP) or a hybrid user security mode is used then the
WebLogic OID or LDAP authentication provider must be configured for the
WebLogic domain.
If the internal (database) or a hybrid user security mode is used then the SIM
database authentication provider must be installed and configured for the
WebLogic domain.
If SSO authentication is used then the SIM SSO authentication provider must be
installed and configured for the WebLogic domain.
It is recommended to install only the required security providers and remove or
disable any unused providers.
For a clustered installation it is strongly recommended to use an external credential
store (database or LDAP) for Oracle Fusion Middleware security services.
Post Installation
After installing the product the deployment and environment security should be
reviewed.
All unnecessary components should be removed or disabled, including but not limited
to resources, services, application features, weak protocols and insecure access points.
Also ensure that appropriate file restrictions have been applied to protect any sensitive
information and limit access to minimum requirements.
If an internal user security mode is used then application roles and internal user
accounts should be set up. The installer creates an internal installation user who has
access to configuring application settings, role management, and user account
management. Once users have been set up, the internal installation user should be
deleted from the system
multiple roles using these fine grained roles, this can help limit access to required
functions while reducing the frequency of role management activities.
Additional declarative security can be provided using deployment descriptors, so only
specific users are allowed to invoke certain EJBs.
For detailed information about SIM application role based security and user
management see the Oracle Retail SIM Implementation Guides.
the Java Required Files (JRF) extension, which includes the Oracle Platform Security
Services (OPSS). OPSS is a security framework that provides security to Oracle Fusion
Middleware and associated applications.
SIM uses the OPSS credential store framework and Java authorization functionality to
manage sensitive information related to application security. For example, SIM stores
encryption keys and integration user credentials in the credential store.
The OPSS configuration for the WebLogic domain can be managed through Oracle
Enterprise Manager. For detailed information on OPSS, see the Oracle Fusion
Middleware Application Security Guide.
SIM supports multiple user security modes that affect user authentication and
authorization. Based on the selected identity management solution and organization
requirements, the appropriate user security mode should be used.
The default and recommended user security mode is external authentication and
authorization, which allows LDAP to store and manage user data.
The internal authentication and authorization mode allows the SIM application to
manage the user data, which is stored in the database.
There is a hybrid user security mode that uses a combination of LDAP and the
database for storage and management of user data. This mode allows for an externally
managed identity store while retaining application functionality for user management
of internal data. When accessing both external and internal data, the external system is
prioritized before the internal system.
If a hybrid mode is used then it is recommended to disable the cache or reduce it to the
minimum acceptable value.Authentication and authorization capabilities are
configurable through security provider setup and user permissions to produce
alternative restricted variations.
For further information on the user security modes and configuration, see the Oracle
Retail SIM Implementation Guide Volume 1.
Dependent Applications
Information on securing the dependent applications can be found in the following
security guides:
Oracle Database 12c 2 Security Guide.
Oracle Application Security Guide.
WebLogic 12.2.1 Security Guide
Authentication
In order for a remote client to connect to the SIM application, user authentication is
required. SIM supports authentication for SSO, LDAP, and database security. This is
handled by WebLogic security authentication providers.
WebLogic security authentication providers are based on the JAAS framework, which
allows the providers to be ordered and apply control flags that determine how the
overall sequence behaves. If a user cannot be authenticated then the client will not be
allowed to connect to the SIM application.
When the user is successfully authenticated by one of the authentication providers, the
user is then processed for authorization to grant access to resources and application
features.
Authorization
User authorization is handled by both the WebLogic application server and the SIM
application. After successful authentication the security providers will have specified
privileges for the session such as a user and associated roles/groups. The deployed
resources can be configured within WebLogic application server to restrict access
based on those privileges. This allows for fine grained access control of resources. It is
recommended that application users be given access only to the SIM functionality
required for their tasks.
The SIM application handles business authorization for an authenticated user during
the login process. Application features are restricted using a role based access control
system. Roles are managed in the SIM database to define sets of permissions that are
required to perform business operations associated with organization roles. User
access is also restricted by stores and allows roles to be assigned per store.
Role and store assignments for users are managed in the selected identity store (LDAP
or database). When a user logs into a store the authorization process validates role and
store assignments and applies the resulting collection of permissions to the user
session. Access to application features is limited to the set of permissions granted to
the user session.
In addition, access to application and server resources is restricted to users that belong
to specific groups, such as the administrator, security ops, MPS ops groups.
For detailed information on SIM role based security and permissions, see the Oracle
Retail SIM Implementation and Operation Guides.
Audit
SIM provides basic audit capabilities for business processes. Audit records are held in
the SIM database as either generic activity history or specific history records for certain
business areas such as item UIN history.
User Management
The SIM client application can be used to manage user data, role, store and group
assignments that are managed internally (database). External user data (LDAP, SSO) is
not managed by SIM and must be performed using appropriate organization
resources.
For detailed information on user management of internal SIM users, see the Oracle
Retail SIM Implementation and User Guides.
Administration 9-1
Extending/Customization
generates log files in a log directory in the WebLogic domain directory structure,
but shares the same OS user and file access conditions as the WebLogic log files.
It is recommended to restrict access to log files purely to administrators and the
WebLogic application server process owner.
Generally SIM does not limit the number of concurrent sessions for users. The SIM
client application includes a feature that prevents more than one instance of the client
to be launched concurrently on a single machine, although it does not prevent the
same user from logging in on different machines or devices simultaneously. This
option is enabled by default but can be disabled through configuration in the client.cfg
file, located in sim-client-resources.jar.
For detailed information on this configuration file, see the Oracle Retail Store Inventory
Management Operations Guide.
Session timeouts can be controlled by configuring resources in the application
deployment and WebLogic server. The application uses WebLogic default timeouts
with some exceptions for long running EJB services, such as batch operations. These
timeout overrides can be found in the weblogic-ejb-jar.xml deployment descriptor file,
located in sim-server.ear.
It is recommended to use the minimum appropriate timeout values to reduce the
impact of denial of service attacks to resource availability. However, these timeout
values should not be set so short as to interfere with the operations of legitimate users.
Extending/Customization
SIM security features have been designed to allow for extension and customization.
This includes configuration options such as algorithms and parameters. It also allows
custom implementations of security components to be used.
Custom implementations are developed using the same customization patterns found
elsewhere in SIM. This involves extending or replacing factory implementations that
provide custom implementations of factory built objects. For customization of classes
that are not built by a factory, the implementation class name is configured in the
respective configuration file.
For detailed information on configuration options and application customization, see
the Oracle Retail Store Inventory Management Operation Guide and the Oracle Retail Store
Inventory Management Configuration Guide.
References
For more information, see the SIM documentation set.