Security in the integration layer is a big concern for every retail enterprise. The security system should be open enough to allow trusted remote applications to integrate easily and, at the same time, lock down unauthorized remote access. To address security concerns, RIB utilizes the security modules available in the Oracle middleware and database systems.
This chapter provides an overview of the security features in Oracle Retail Integration Bus. It includes the following sections:
Physical Deployment Model
Dependent Applications
General Security Principles
Recommended Approach
The following figure illustrates the physical deployment model of the RIB application.
The Web-based RIB Administrator user interface is accessed using a browser. You are responsible for applying the necessary security patches to the Web browser and the operating system.The typical configuration of RIB runs on the following server:
Oracle WebLogic Server 11g Release 2 (10.3.6) that hosts the rib application (rib-<app>.ear).
Oracle Database 12c Release 1 (12.1.0.1).
You are responsible for applying any critical patch updates releases for the server hardware, application server, and the database.
Security Guides for dependent applications can be found at the following links.
Oracle Database 12c Release1(12.1.0.1) Enterprise Edition: http://docs.oracle.com/database/121/TDPSG/E17609-19.pdf
.
Oracle WebLogic Server 11g Release 1 (10.3.6): http://docs.oracle.com/cd/E21764_01/web.1111/e14529/security.htm
.
Each RIB application PAK ear i.e. rib-<app>.ear deployed in application server has a Web based user interface application which can be accessed via HTTP or HTTPS. If the HTTP protocol is disabled, and accessing this application over HTTP is not possible, a valid SSL certificate needs to be installed to access the administration GUI over HTTPS. To install a valid SSL Certificate on the application server, see the documentation for your installed application server. The use of the default SSL certificate shipped with the application server is not recommended because it renders the application prone to intrusion attacks.
Security is fundamentally about protecting assets. It is important to recognize that security is a path, not a destination. As you analyze your infrastructure and applications, you identify potential threats and understand that each threat presents a degree of risk. Security is about risk management and implementing effective countermeasures. One of the most important concepts in security is that effective security is a combination of people, process, and technology.
Security relies on the following elements:
Authentication
Authentication addresses the question: who are you? It is the process of uniquely identifying the clients of your applications and services. These might be end users, other services, processes, or computers. In security parlance, authenticated clients are referred to as principals.
Authorization
Authorization addresses the question: what can you do? It is the process that governs the resources and operations that the authenticated client is permitted to access. Resources include files, databases, tables, rows, and so on, together with system-level resources such as registry keys and configuration data. Operations include performing transactions such as purchasing a product, transferring money from one account to another, or increasing a customer's credit rating.
Auditing
Effective auditing and logging is the key to non-repudiation. Non-repudiation guarantees that a user cannot deny performing an operation or initiating a transaction.
Confidentiality
Confidentiality, also referred to as privacy, is the process of making sure that data remains private and confidential, and that it cannot be viewed by unauthorized users or eavesdroppers who monitor the flow of traffic across a network. Encryption is frequently used to enforce confidentiality. Access control lists (ACLs) are another means of enforcing confidentiality.
Integrity
Integrity is the guarantee that data is protected from accidental or deliberate (malicious) modification. Like privacy, integrity is a key concern, particularly for data passed across networks. Integrity for data in transit is typically provided by using hashing techniques and message authentication codes.
A credential store is used for secure storage of credentials. The Credential Store Framework (CSF) API is used to access and perform operations on the credential store. The Credential Store Framework:
Enables you to manage credentials securely.
Provides an API for storage, retrieval, and maintenance of credentials in different back-end repositories.
Supports file-based (Oracle wallet) and LDAP-based credential management.
Critical (create, update, delete) functions provided by the CSF API include:
Verifying if a credential map, or a credential with a given key, exists in the store.
Returning credentials associated with <mapname, key>.
Assigning credentials to <mapname, key>.
D.eleting credentials associated with a given map name, or a given map name and key.
Resetting credentials for a specified <mapname, key>.
This section discusses the two security approaches that Oracle Retail recommends.
Encompassing every phase of the product development lifecycle, Oracle Software Security Assurance (OSSA) is Oracle's methodology for building security into the design, build, testing, and maintenance of its products. Oracle's goal is to ensure that Oracle's products, as well as the customer systems that leverage those products, remain as secure as possible.
To be OSSA compliant, it is required to use the CSF API to store the passwords in Oracle wallet based files. RIB and other products use the CSF API through a Credential Store Manager utility. This utility provides methods that can store and retrieve credentials from a wallet based file. Internally this utility is using CSF API to manage the credentials.