2 Shipboard Property Management System Security Overview

This chapter provides an overview of the Oracle Hospitality Cruise Shipboard Property Management System security and explains the general principles of application security.

Basic Security Considerations

The following principles are fundamental to using any application securely:

  • Keep software up to date. This includes the latest product release and any patches that apply to it.

  • Limit privileges as much as possible. Users should be given only the access necessary to perform their work. User privileges should be reviewed periodically to determine relevance to current work requirements.

  • Monitor system activity. Establish who should access which system components, and how often, and monitor those components.

  • Install software securely. For example, use firewalls, secure protocols using Transport Layer Security (TLS), Secure Sockets Layer (SSL) and secure passwords. See Chapter 3 Performing a Secure Shipboard Property Management System Installation for more information.

  • Use secure development practices. For example, take advantage of existing database security functionality instead of creating your own application security. See Security Considerations for Developers for more information.

  • Keep up to date on security information. Oracle regularly issues security-related patch updates and security alerts. You must install all security patches as soon as possible. See the “Critical Patch Updates and Security Alerts” website:http://www.oracle.com/technetwork/topics/security/alerts-086861.html

Overview of Shipboard Property Management Security

Overview of Shipboard Property Management Security

The Shipboard Property Management System (SPMS) uses an N-Tier/3-Tier Architecture style. Most of the application pieces are Microsoft Windows desktop applications, interfaces, RESTful API, Progressive Web application (WPA) and a few web services used for third party integration. It is scalable since clients/interfaces, databases and web services can be distributed onto three or more machines and does not have to be deployed on a single machine

Technology

Shipboard Property Management System Web Services uses industry standard Simple Object Access Protocol (SOAP)/JavaScript Object Notation (JSON) to work with internal and external applications. Typically, web services are deployed and exposed on the Microsoft Internet Information Services (IIS) Webserver, and IIS provides options to secure the communication using the Secure Sockets Layer (SSL). It also uses Transmission Control Protocol /Internet Protocol (TCP-IP) and File System for integration internally and externally. Every communication can be configured to use the Secure Sockets Layer (SSL) if required. It also uses strong encryption/hashing algorithms (Microsoft managed Rijndael, Microsoft Windows Data Protection Application Programming Interface (DPAPI), Password-Based Key Derivation Function 2 (PBKDF2)) to encrypt and store sensitive customer information, application user passwords, application configuration information, secrets, and passwords.

Figure 2-1 SPMS Network Architecture Diagram


This figure shows the SPMS Network Architecture.

Figure 2-2 SPMS Software Architecture Diagram


This figure shows the detailed SPMS Software Architecture.

User Authentication

Overview

Authentication is a process of ensuring that people are who they say they are.

Thick/Windows Desktop Client/RESTful API/PWA Authentication

All user credentials for the Shipboard Property Management System are stored in the database. Anyone who wishes to access the desktop client must provide a valid username and password. To ensure strict access control of Shipboard Management, always assign unique usernames and complex passwords to each user. The passwords must follow the Payment Card Industry-Data Security Standard (PCI-DSS) guidelines and must be at least 8 characters long and include letters and numbers

Web Service Authentication

The Security Session Id Approach is used in the Web Services/Web Apps only. For the first request from a client, predefined credentials are passed to gain a session ID, and this session ID is used with subsequent requests throughout the session

Database Users

The Shipboard Property Management System stores the database user password on a local machine in an encrypted format using Microsoft Windows DPAPI (Data Protection Application Programming Interface) starting from Microsoft Windows 2000 onwards.

Security Note

The Oracle database user password and Key Encryption Key (KEK) are hosted/stored on a Shipboard Property Management System Security Server (OHC Secure Login Web Service), deployed on the IIS web server. Clients need to connect to the Security Server one time to fetch the Database user password and KEK, and store them locally in their configuration file in an encrypted form using the Microsoft Windows DPAPI method. The Client uses a password stored in the configuration file to connect to the Database. The Client will only connect to the Shipboard Property Management System Security Server again, if the Database user password is changed, to fetch the changed password.

Understanding the Shipboard Property Management System Environment

When planning your Shipboard Property Management System implementation, consider the following:
  • Which resources need to be protected?

    • You need to protect customer data, such as credit-card numbers.

    • You need to protect internal data, such as proprietary source code.

    • You need to protect system components from being disabled by external attacks or intentional system overloads.

  • Who are you protecting data from?

    Any of your subscriber’s data from other subscribers, but someone in your organization might need to access that data to manage it. You can analyze your workflow to determine who needs access to the data; for example, it is possible that a system administrator can manage your system components without needing to access the system data.

  • What will happen if protections on strategic resources fail?

    In some cases, a fault in your security scheme is nothing more than an inconvenience. In other cases, a fault might cause great damage to you or your customers. Understanding the security ramifications of each resource will help you protect it properly.

Recommended Deployment Configurations

This section describes recommended deployment configurations for the Shipboard Property Management System.

The Shipboard Property Management System can be deployed on a single server or in a cluster of servers. The simplest deployment architecture is the one shown in figure Figure 2-3.

This single-computer deployment may be cost effective for small organizations; however, it cannot provide high availability because all components are stored on the same computer. In a single server environment such as the typical installation, the server should be protected behind a firewall.

Figure 2-3 Simple Computer Deployment Architecture


This figure shows the architecture for a simple computer deployment.

The general architectural recommendation is to use the well-known and generally accepted Internet-Firewall-DMZ-Firewall-Intranet architecture as shown in below figure.

Figure 2-4 Traditional DMZ View


This figure shows the Traditional DMZ View.
The term demilitarized zone (DMZ) refers to a server that is isolated by firewalls from both the Internet and the Intranet, thus forming a buffer between the two. Firewalls separating the DMZ zones provides two essential functions:
  • Blocking any traffic types that are known to be illegal

  • Providing intrusion containment, should successful intrusions take over processes or processors.

See Appendix A - Shipboard Property Management System Ports Numbers for more information about the Shipboard Property Management System network port usage.

Component Security

Operating System Security

Before installing the Shipboard Property Management System, the operating system must be updated with the latest security updates.

Refer to the following Microsoft TechNet articles for more information about operating system security for:

Oracle Database Security

Refer to the Oracle Database Security Guide for more information about Oracle Database security.

Web Security

Use only HTTPS or Transport Layer Security (TLS) security obtained from a certification authority for the OHC Shipboard Property Management System application.