4 Keeping the Oracle Exadata Secure
This chapter describes policies and procedures to keep Oracle Exadata secure.
- Securing the Hardware
After installation of Oracle Exadata Database Machine, the hardware should be secured. - Securing the Software
Frequently, hardware security is implemented through software measures. - Disabling SSH on Storage Servers
If required, you can lock the storage servers to block SSH access. By default, SSH is enabled on storage servers. - Configuring Data Security for Exadata Storage Servers
Data security for Oracle Exadata Storage Servers is implemented by controlling which Oracle Automatic Storage Management (Oracle ASM) clusters and Oracle Database clients can access specific grid disks on storage cells. - Maintaining a Secure Environment
After security measures are implemented, they must be maintained to keep the system secure.
4.1 Securing the Hardware
After installation of Oracle Exadata Database Machine, the hardware should be secured.
Hardware can be secured by restricting access to the hardware and recording the serial numbers. Oracle recommends the following practices to restrict access:
-
Install Oracle Exadata Database Machine and related equipment in a locked, restricted-access room.
-
Lock the rack door unless service is required on components within the rack.
-
Restrict access to hot-pluggable or hot-swappable devices because the components can be easily removed by design. See
-
Store spare field-replaceable units (FRUs) or customer-replaceable units (CRUs) in a locked cabinet. Restrict access to the locked cabinet to authorized personnel.
-
Limit SSH listener ports to the management and private networks.
-
Use SSH protocol 2 (SSH-2) and FIPS 140-2 approved ciphers.
-
Limit SSH allowed authentication mechanisms. Inherently insecure methods are disabled.
-
Mark all significant items of computer hardware, such as FRUs.
-
Keep hardware activation keys and licenses in a secure location that is easily accessible to the system managers in the case of a system emergency.
-
Record the serial numbers of the components in Oracle Exadata Database Machine, and keep a record in a secure place. All components in Oracle Exadata Database Machine have a serial number.
- Getting the Rack Serial Number
Use the ipmitool utility to get the serial number for the rack. - Getting the Serial Numbers for Rack Components
The CheckHWnFWProfile command can be used to display the serial number of most of the system components. - Getting the Rack Serial Number for a Cisco 9336C or 9348 Switch
Use theshow license host-id
command on the switch to get the serial number. - Getting the Rack Serial Number for a Sun Datacenter InfiniBand Switch 36
Use theshowfruinfo
command on the switch to get the serial number. - Getting the Serial Number for a Cisco 4948 Ethernet Switch
Use thesh inventory
command on the switch to get the serial number.
Related Topics
- How To Obtain The Serial Number Associated With The System Board, Motherboard, Disk Controller, Disks, Infiniband HCA And More Contained In A Cell Or Compute Box (Exadata-Sun V2 or X2 / 11.2)? (My Oracle Support Doc ID 949614.1)
- How to Determine the Serial Number of a Datacenter InfiniBand Switch 36 or QDR InfiniBand Gateway InfiniBand Switch (My Oracle Support Doc ID 1299791.1)
Parent topic: Keeping the Oracle Exadata Secure
4.1.1 Getting the Rack Serial Number
Use the ipmitool utility to get the serial number for the rack.
When interacting with Oracle Support Services, the CSI number for a rack is based on the rack serial number.
Parent topic: Securing the Hardware
4.1.2 Getting the Serial Numbers for Rack Components
The CheckHWnFWProfile command can be used to display the serial number of most of the system components.
Parent topic: Securing the Hardware
4.1.3 Getting the Rack Serial Number for a Cisco 9336C or 9348 Switch
Use the show license host-id
command on the switch to get the serial number.
Parent topic: Securing the Hardware
4.1.4 Getting the Rack Serial Number for a Sun Datacenter InfiniBand Switch 36
Use the showfruinfo
command on the switch to get the serial number.
Parent topic: Securing the Hardware
4.1.5 Getting the Serial Number for a Cisco 4948 Ethernet Switch
Use the sh inventory
command on the switch to get the serial number.
Parent topic: Securing the Hardware
4.2 Securing the Software
Frequently, hardware security is implemented through software measures.
Implement the following guidelines to protect hardware and software:
-
Change all default passwords when the system is installed at the site. Oracle Exadata Database Machine uses default passwords for initial installation and deployment that are widely known. A default password could allow unauthorized access to the equipment. Devices such as the network switches have multiple user accounts. Be sure to change all account passwords on the components in the rack.
-
Limit use of the
root
super user account. Create and use Integrated Lights Out Manager (ILOM) user accounts for individual users to ensure a positive identification in audit trails, and less maintenance when administrators leave the team or company. -
Ensure Oracle Exadata Database Machine is deployed with separate software owner accounts for Oracle Grid Infrastructure and Oracle Database software installations.
Note:
Separate software owner accounts for Oracle Grid Infrastructure and Oracle Database software installations are required for enabling DB-scoped security. -
Disable unnecessary protocols and modules in the operating system.
-
Restrict physical access to USB ports, network ports, and system consoles. Servers and network switches have ports and console connections, which provide direct access to the system.
-
Restrict the capability to restart the system over the network.
-
Refer to the documentation to enable available security features.
Oracle Exadata Database Machine can leverage all the security features available with Oracle Database releases installed on legacy platforms. Oracle Database security products and features include the following:
-
Oracle Advanced Security
-
Oracle Audit Vault
-
Data Masking
-
Oracle Database Firewall
-
Oracle Database Vault
-
Oracle Label Security
-
Oracle Secure Backup
-
Oracle Total Recall
Using the Oracle privileged user and multi-factor access control, data classification, transparent data encryption, auditing, monitoring, and data masking, customers can deploy reliable data security solutions that do not require any changes to existing applications.
Parent topic: Keeping the Oracle Exadata Secure
4.3 Disabling SSH on Storage Servers
If required, you can lock the storage servers to block SSH access. By default, SSH is enabled on storage servers.
If SSH access is blocked, you can still perform operations on the storage server using ExaCLI, which runs on the database servers and communicates using HTTPS and REST APIs to a web service running on the storage server.
When you need to perform operations that require you to log in to the storage server, you can temporarily unlock the storage server. After the operation is complete, you can relock the storage server.
Two CELL attributes control storage server locking:
-
accessLevelPerm
: This attribute specifies the access level at which the cell runs by default. It is eitherremoteLoginEnabled
orremoteLoginDisabled
.-
remoteLoginEnabled
: SSH service is enabled. You can access the cell using SSH or ExaCLI. This is the default value foraccessLevelPerm
. -
remoteLoginDisabled
: SSH service is disabled. You can access the cell only through ExaCLI.
-
-
accessLevelTemp
: The access level can be changed temporarily for a specified duration. After the duration has expired, the access level reverts back to theaccessLevelPerm
value. You typically change the cell's access level when the cell needs a software update.
The access level persists across storage server reboots.
- Locking a Cell
You lock a cell by setting itsaccessLevelPerm
attribute toremoteLoginDisabled
. - Unlocking a Cell Temporarily
You can unlock a locked storage server, or cell, for a short period of time to perform operations such as maintenance or upgrades that require SSH log in to the storage server. - Checking the Current Access Level for a Cell
View theaccessLevelPerm
andaccessLevelTemp
attributes for a cell to determine the current access level. - Access Level Alerts from the Management Server
A stateless alert is generated when theaccessLevelPerm
attribute is modified.
Parent topic: Keeping the Oracle Exadata Secure
4.3.1 Locking a Cell
You lock a cell by setting its accessLevelPerm
attribute to remoteLoginDisabled
.
You must use a user that has the privilege to alter the accessLevelPerm
attribute.
Parent topic: Disabling SSH on Storage Servers
4.3.2 Unlocking a Cell Temporarily
You can unlock a locked storage server, or cell, for a short period of time to perform operations such as maintenance or upgrades that require SSH log in to the storage server.
You can specify the start time of a temporary access window and how long it should last by using the ALTER CELL
command to modify the cell's accessLevelTemp
attribute.
Note the following:
- Only one temporary access window is allowed at any time. You will get an error message if you try to create a new temporary access window when one is already in effect. If the temporary access window is not yet active and is in the future, the newly created temporary access window will replace the one that is in the future.
- To modify a temporary access window that is in the future and not yet active, simply run the
ALTER CELL
command again with the new values. - To modify a temporary access window that is already in progress (for example, to extend the duration or to change the reason), run the
ALTER CELL
command again with the updated duration or reason. The command must provide the exact start time of the existing temporary access window to modify. The (start time + duration) must be in the future.
The accessLevelTemp
attribute has the following properties:
-
accessLevel
: (Mandatory) Specifies whether SSH is enabled (remoteLoginEnabled
) or disabled (remoteLoginDisabled
). You must provide a value for this attribute; there is no default value. -
startTime
: Specifies when the specified access level starts. The time is specified in the ISO 8601 format:"yyyy-MM-ddTHH:mm:ssZ"
. You can also specify the keywordnow
to indicate that the specified access level should start immediately. The default value for this attribute isnow
. -
duration
: Specifies how long the access level should last. The default value is2h
(2 hours). The duration is specified in the following format:- [any number of digits, followed by
d
(for days)]. To specify 1 day, use1d
. - [any number of digits followed by
h
(for hours)]. To specify 1 hour, use1h
. - [any number of digits followed by
m
(for minutes)]. To specify 90 minutes, use90m
.
You can use combinations of duration values. For example, to specify 1 day and 12 hours, use
1d12h
. - [any number of digits, followed by
-
reason
: Specifies a reason for changing the access level, for example: performing an upgrade. The default value isnone
.
Example 4-1 Creating a Temporary Access Window
The following example creates a two-hour temporary access window that starts immediately. The command uses the default values for start time and duration.
exacli> ALTER CELL accessLevelTemp=((accessLevel="remoteLoginEnabled", -
reason="Quarterly maintenance"))
Example 4-2 Creating a Temporary Access Window in the Future
The following example creates a 30 minute temporary access window that will begin on June 20, 2023, at 1:01 AM.
exacli> ALTER CELL accessLevelTemp=((accessLevel="remoteLoginEnabled", -
startTime="2023-06-20T01:01:00-07:00", -
duration="30m", -
reason="Quarterly maintenance"))
Example 4-3 Extending a Temporary Access Window
The following example extends the temporary access window created in the previous example to 5 hours. Note that the start time has to match the window that is being adjusted.
exacli> ALTER CELL accessLevelTemp=((accessLevel="remoteLoginEnabled", -
startTime="2023-06-20T01:01:00-07:00", -
duration="5h", -
reason="Quarterly maintenance window extended to 5 hrs - Joe"))
Example 4-4 Deleting a Temporary Access Window
The following example deletes the temporary access window. If the temporary access window is currently active, it is closed immediately and the access level will be set back to the permanent access level. If the temporary access window is in the future and not yet active, it is canceled.
exacli> ALTER CELL accessLevelTemp=''
Parent topic: Disabling SSH on Storage Servers
4.3.3 Checking the Current Access Level for a Cell
View the accessLevelPerm
and accessLevelTemp
attributes for a cell to determine the current access level.
Parent topic: Disabling SSH on Storage Servers
4.3.4 Access Level Alerts from the Management Server
A stateless alert is generated when the accessLevelPerm
attribute is modified.
A stateful alert is generated when the accessLevelTemp
window is created. An alert email is sent out when the accessLevelTemp
window is activated. The alert is cleared when the window expires.
Parent topic: Disabling SSH on Storage Servers
4.4 Configuring Data Security for Exadata Storage Servers
Data security for Oracle Exadata Storage Servers is implemented by controlling which Oracle Automatic Storage Management (Oracle ASM) clusters and Oracle Database clients can access specific grid disks on storage cells.
By default, all Oracle Database and Oracle ASM instances have access to all grid disks on the storage servers. The storage for each database is provided by Oracle ASM. You can have multiple clustered or unclustered databases running in your Oracle Exadata Database Machine. You can also have more than one Oracle ASM cluster. An Oracle ASM cluster is a collection of interconnected nodes, each with an Oracle ASM instance, operating as a unified cluster. An Oracle ASM cluster presents a shared pool of storage to one or more Oracle Database instances that are also operating on the nodes.
- About Exadata Storage Server Security Modes
Oracle Exadata System Software security allows open security, ASM-scoped security, or DB-scoped security. - Best Practices for ASM-Scoped Security and DB-Scoped Security
While setting up security, it is imperative that the configuration is the same across all the storage servers. - About Security Keys
Oracle Exadata System Software uses keys to identify clients and determine access rights to the grid disks. - Setting Up ASM-Scoped Security on Oracle Exadata Storage Servers
Configuring ASM-scoped security requires actions to be performed on both the database servers and storage servers. - Setting Up DB-Scoped Security on Oracle Exadata Database Machine
When configuring DB-scoped security, you perform actions on both the database and storage servers. - Changing Security Keys for ASM-Scoped Security or DB-Scoped Security
You can change the keys used with ASM-scoped security or DB-scoped security. - Enabling Cell-to-Cell Operations
If you have configured ASM-scoped security or DB-scoped security for your Oracle Exadata Database Machine, then you must configure access control to ensure direct cell-to-cell operations are not restricted. - Removing ASM-Scoped Security or DB-Scoped Security
If you want to revert to an open security model, you must remove DB-scoped security for grid disks before removing ASM-scoped security.
Parent topic: Keeping the Oracle Exadata Secure
4.4.1 About Exadata Storage Server Security Modes
Oracle Exadata System Software security allows open security, ASM-scoped security, or DB-scoped security.
Open Security
The default security mode is open security, where any database client has access to all the grid disks. Open security mode is useful for test or development databases where there are no security requirements. This is the default security mode after creating a new storage cell.
ASM-Scoped Security
Using ASM-scoped security you can restrict access to only the grid disks used by the Oracle ASM disk groups associated with a Oracle ASM cluster. All Oracle Database instances associated with that Oracle ASM cluster have access to the disk groups and underlying grid disks. Grid disks used in disk groups belonging to a different Oracle ASM cluster are not be accessible to these instances.
Use ASM-scoped security when you want all databases and Oracle ASM instances in a cluster to have access to the grid disks that comprise the Oracle ASM disk groups used by the cluster. This includes the case when there is only one database in an Oracle ASM cluster.
DB-Scoped Security
Using DB-scoped security, you can restrict access for an Oracle Database instance to a specific set of grid disks. The database instance must have access to all the grid disks used by the Oracle ASM disk groups for the database. The grid disks used by these Oracle ASM disk groups cannot be used by any other Oracle ASM disk group.
DB-scoped security mode is appropriate when multiple databases are accessing the grid disks. DB-scoped security allows you to limit database access to only the grid disks that are used by the Oracle ASM disk groups associated with the database.

Description of the illustration sagug_031-db-scoped-security.eps
Parent topic: Configuring Data Security for Exadata Storage Servers
4.4.2 Best Practices for ASM-Scoped Security and DB-Scoped Security
While setting up security, it is imperative that the configuration is the same across all the storage servers.
To have consistent Oracle Exadata System Software security, ensure the following:
- Configure the same cell-side grid disk security for all grid disks that belong to the same Oracle ASM disk group to avoid confusion and errors.
- Ensure that all Oracle Real Application Clusters (Oracle RAC) servers in an Oracle ASM cluster have the same content, ownership, and security for the Oracle ASM
cellkey.ora
file. - Ensure that all Oracle RAC servers in a database cluster have the same content, ownership, and security for the database
cellkey.ora
file. - If DB-scoped security is implemented, then ensure it is implemented for all databases accessing the grid disks. Do not mix ASM-scoped security and DB-scoped security for any grid disks.
- Use the
dcli
utility to make configuration changes to ensure consistency and eliminate potential user errors.
Related Topics
Parent topic: Configuring Data Security for Exadata Storage Servers
4.4.3 About Security Keys
Oracle Exadata System Software uses keys to identify clients and determine access rights to the grid disks.
To determine which clients have access to a grid disk, a key is generated using CellCLI and stored in a read-only file that is accessible only by the clients. The CellCLI CREATE KEY
command generates a random hexadecimal string for use as a security key. This key is stored in a cellkey.ora
file on the client side, and assigned to the targets on the storage servers using the ASSIGN KEY
command.
Note:
The client name or Oracle ASM cluster name not case-sensitive. For example,ASM1
and asm1
are treated as the same value.
The CREATE KEY
command can be run on any cell. You should only run this command when you need to create a new unique key. If you are configuring ASM-scoped security, then only a single security key is needed for each Oracle ASM cluster. If you are configuring DB-scoped security, then one key is needed for each Oracle ASM cluster and an additional security key is needed for each database client.
For ASM-scoped security, the cellkey.ora
file is only accessible by the Oracle ASM cluster and its database clients. For DB-scoped security multiple security keys are used. One key is assigned to the Oracle ASM cluster, and one key is assigned to each database client. These security keys are stored in separate cellkey.ora
files, and each file is accessible only by the client.
The cellkey.ora
file contains entries that configure security among Oracle ASM, database clients and cells. The key
and asm
values in the cellkey.ora
files on the Oracle ASM and database host computers must match the values assigned to the clients on the cells.
The cellkey.ora
file contains the following fields:
-
key
— This field is required.-
For ASM-scoped security, this key must match the value of the key assigned to the Oracle ASM cluster with the CellCLI
ASSIGN KEY
command. -
For DB-scoped security, this key must match the value of the key assigned to the database client with the CellCLI
ASSIGN KEY
command.
-
-
asm
— This field is required.This field contains a unique identifier for each Oracle ASM cluster. This value must be unique among all the clusters that access the storage servers in the storage grid. This value is used in the
ASSIGN KEY
command run on each cell, and theALTER GRIDDISK
andCREATE GRIDDISK
commands used to configure grid disks to allow access from only a specific Oracle ASM cluster.Note:
Theasm
field is used when configuring both ASM-scoped security and DB-scoped security.
Access to the cellkey.ora
file is controlled by operating system privileges.
-
For Oracle ASM clients, the file is stored in the
/etc/oracle/cell/network-config
directory, and is readable by the Oracle Grid Infrastructure software owner and the group to which the user belongs. -
For DB-scoped security, there is a
cellkey.ora
for Oracle ASM, readable only by the Oracle Grid Infrastructure software owner, and additionalcellkey.ora
files for each database client. For the database clients, the file is stored in thepfile
directory of the Oracle home directory for each database. Thecellkey.ora
file for a database is readable only by the operating system user that owns the Oracle Database software installation.Note:
The Oracle Grid Infrastructure and Oracle Database software must by owned by different operating system users to implement DB-scoped security.
Figure 4-2 Security Keys and cellkey.ora Files

Description of "Figure 4-2 Security Keys and cellkey.ora Files"
On the storage servers, you use the ASSIGN KEY
command to store the security keys in an access control list (ACL) for the cells. You use the ALTER GRIDDISK
command to set the access rights for individual grid disks with the AvailableTo
attribute. In order to access a grid disk, the security key of the cell ACL must match the security key of the client and the unique name of the client must be included in the AvailableTo
attribute of the grid disk.
The identifying names used for the Oracle ASM and database must be unique. However, in some environments, there is more than one database with the same value for the DB_UNIQUE_ID
. Each database uses a different Oracle ASM cluster for storage. Starting with Oracle Exadata System Software release 12.2.1.1.0, you can define ASM-scoped security based on Oracle ASM clusters. You use the ASMCLUSTER
keyword with the ASSIGN KEY
command. When you use the ASMCLUSTER
keyword, the database name is qualified by the Oracle ASM unique identifier, creating a unique ID for each database, even if they have the same DB_UNIQUE_ID
. Within each Oracle ASM cluster, the database names still have to be unique.
If you configure ASM-scoped security or DB-scoped security, then you also need to configure security keys to enable cell-to-cell operations. You create a key for each storage server, or cell, and assign that key as a local key for the cell using the ASSIGN KEY FOR LOCAL CELL
command. You then assign the keys for the other cells that perform cell-to-cell operations with the current cell using the ASSIGN KEY FOR REMOTE CELL
command.
Example 4-5 Creating a Security Key for Exadata Storage Security
Use the following command on any storage server to generate a unique security key. This key will be used to configure ASM-scoped security or DB-scoped security.
CellCLI> CREATE KEY
66e12adb996805358bf82258587f5050
Example 4-6 cellkey.ora File Entries
This example shows the entries for the cellkey.ora
file.
key=66e12adb996805358bf82258587f5050
asm=cluster1
Related Topics
Parent topic: Configuring Data Security for Exadata Storage Servers
4.4.4 Setting Up ASM-Scoped Security on Oracle Exadata Storage Servers
Configuring ASM-scoped security requires actions to be performed on both the database servers and storage servers.
grid
.
Related Topics
Parent topic: Configuring Data Security for Exadata Storage Servers
4.4.5 Setting Up DB-Scoped Security on Oracle Exadata Database Machine
When configuring DB-scoped security, you perform actions on both the database and storage servers.
These steps are for configuring DB-scoped security for a single Oracle ASM cluster and the databases that are clients of that Oracle ASM cluster. The examples in these steps assume that the Oracle ASM software owner is the user grid
and each Oracle Database home is owned by a different operating system user.
- The combination of the Oracle Database client unique name and the Oracle ASM Cluster used by the database client must be unique in your environment.
- The Oracle Grid Infrastructure software installation and each Oracle Database software installation must be owned by different operating system users.
- Each database client must have distinct Oracle ASM disk groups. The grid disks used by Oracle ASM disk groups can only be assigned to one Oracle ASM disk group.
Related Topics
Parent topic: Configuring Data Security for Exadata Storage Servers
4.4.6 Changing Security Keys for ASM-Scoped Security or DB-Scoped Security
You can change the keys used with ASM-scoped security or DB-scoped security.
- Upgrading ASM-Scoped Security Key for ASMCLUSTER
Starting with Oracle Exadata System Software release 12.2.1.1.0, you can define ASM-scoped security based on Oracle ASM clusters. - Changing the Assigned Key Value for ASM-Scoped Security
You can change the key value used for an Oracle ASM client configured to use ASM-scoped security. - Changing the Assigned Key Value for DB-Scoped Security
You can change the key value used by an Oracle Database client configured to use DB-scoped security.
Parent topic: Configuring Data Security for Exadata Storage Servers
4.4.6.1 Upgrading ASM-Scoped Security Key for ASMCLUSTER
Starting with Oracle Exadata System Software release 12.2.1.1.0, you can define ASM-scoped security based on Oracle ASM clusters.
The identifying names used for the Oracle ASM and database instances must be unique. However, in some environments, there is more than one database with the same value for the DB_UNIQUE_ID
. If each database uses a different Oracle ASM cluster for storage, then you can use the ASMCLUSTER
keyword when assigning the security key to specify that access should be limited to the specified Oracle ASM cluster.
When you use the ASMCLUSTER
keyword, the database name is qualified by the Oracle ASM unique identifier, creating a unique ID for each database, even if they have the same DB_UNIQUE_ID
. Within each Oracle ASM cluster, the database names still have to be unique.
Note:
Do not use theASMCLUSTER
keyword when assigning keys if you are using DB-scoped security. Only use the ASMCLUSTER
keyword for ASM-scoped security.
If you have ASM-scoped security configured, but want to change the keys to be ASMCLUSTER
keys, perform the following steps:
4.4.6.2 Changing the Assigned Key Value for ASM-Scoped Security
You can change the key value used for an Oracle ASM client configured to use ASM-scoped security.
Related Topics
4.4.7 Enabling Cell-to-Cell Operations
If you have configured ASM-scoped security or DB-scoped security for your Oracle Exadata Database Machine, then you must configure access control to ensure direct cell-to-cell operations are not restricted.
To ensure cells have access to other cells when they need to communicate directly with one another, for example for offload operations, you need to set up cell keys for each cell.
- Configuring Simple Cell Access
You can use a single key for both inbound and outbound cell-to-cell traffic. - Configuring LOCAL and REMOTE Cell Keys
You can configure each cell to have a unique key and to accept multiple remote cell keys for granting access. - Changing Between Simple Cell Keys and LOCAL and REMOTE Keys
You must remove the existing cell keys before assigning any new keys with a different format. This protects you from inadvertently breaking your configuration by having different remote and local keys on the storage servers.
Parent topic: Configuring Data Security for Exadata Storage Servers
4.4.7.1 Configuring Simple Cell Access
You can use a single key for both inbound and outbound cell-to-cell traffic.
To ensure cells have access to other cells when they need to communicate directly with one another, for offload operations for example, you can create a single key. Assign that key to all cells using the simple version of the ASSIGN KEY
command.
It is not necessary to use the ALTER GRIDDISK
command to update the availableTo
attribute for the cell key. The cells use the existing access control policy by making sure the originating client is identified at the remote target cell.
Parent topic: Enabling Cell-to-Cell Operations
4.4.7.2 Configuring LOCAL and REMOTE Cell Keys
You can configure each cell to have a unique key and to accept multiple remote cell keys for granting access.
To ensure cells have access to other cells when they need to communicate directly with one another, for offload operations for example, you create cell keys. You can create a single key used by all cells, or you can assign a unique key to individual cells using the LOCAL
and REMOTE
keywords.
You might want to use multiple cell keys temporarily during rekeying, or if you want to limit access to specific cells. In this case, you need to specify LOCAL
or REMOTE
in the ASSIGN KEY
command.
Parent topic: Enabling Cell-to-Cell Operations
4.4.7.3 Changing Between Simple Cell Keys and LOCAL and REMOTE Keys
You must remove the existing cell keys before assigning any new keys with a different format. This protects you from inadvertently breaking your configuration by having different remote and local keys on the storage servers.
If you attempt to assign a LOCAL
or REMOTE
key to an existing cell key (that is, you have run the simple ASSIGN KEY FOR CELL
command, and you want to switch to the explicit LOCAL
or REMOTE
keys), you will get the following error:
CELL-02911: Remove existing CELL key before assigning LOCAL CELL key
Similarly, if you attempt run ASSIGN KEY FOR CELL
when local or remote cell keys already exist, you will get the following error:
CELL-02912: Remove all existing LOCAL and REMOTE CELL keys before assigning a CELL key.
Use LIST KEY FOR CELL to show all LOCAL and REMOTE CELL keys, then use ASSIGN KEY to assign an
empty value to each.
You must remove all existing LOCAL
and REMOTE
cell keys before assigning a simple cell key.
- View the configured keys on each storage server.
- Remove the existing cell keys.
- Recreate the keys in the desired format.
- To change simple cell keys to local and remote keys, follow the steps in Configuring LOCAL and REMOTE Cell Keys
- To change local and remote cell keys to a simple cell key, follow the steps in Configuring Simple Cell Access.
Parent topic: Enabling Cell-to-Cell Operations
4.4.8 Removing ASM-Scoped Security or DB-Scoped Security
If you want to revert to an open security model, you must remove DB-scoped security for grid disks before removing ASM-scoped security.
Before making updates to the security on cells, you must shut down the Oracle Database and Oracle ASM instances. After all of the changes to security configuration are complete, start the Oracle Database and Oracle ASM instances.
- Removing DB-Scoped Security
- Removing ASM-Scoped Security
After you have removed DB-scoped security, you can remove ASM-scoped security if you want open security for the grid disks on the storage servers.
Parent topic: Configuring Data Security for Exadata Storage Servers
4.4.8.1 Removing DB-Scoped Security
To remove DB-scoped security on grid disks, perform the following procedure:
Example 4-7 Removing Database Clients from Grid Disks
The following command removes all database clients from a group of grid disks:
CellCLI> ALTER GRIDDISK DATA1_CD_00_cell01, DATA1_CD_01_cell01, -
DATA1_CD_02_cell01, RECO1_CD_00_cell01, RECO1_CD_01_cell01, -
RECO1_CD_02_cell01 -
availableTo='asm1'
If there are multiple database clients configured for DB-scoped security, for example db1
, db2
, and db3
, and you only want to remove security for one client (db1
), you can use a command similar to the following for a group of grid disks:
CellCLI> ALTER GRIDDISK sales_CD_04_cell01, sales_CD_05_cell01, -
sales_CD_06_cell01, sales_CD_07_cell01, sales_CD_08_cell01, -
sales_CD_09_cell01, -
availableTo='+asm,db2,db3'
The following example removes all database clients from all grid disks:
ALTER GRIDDISK ALL availableTo='+asm'
Note:
If you want open security for the grid disks and storage servers, then you must remove ASM-scoped security after removing DB-scoped security.Related Topics
Parent topic: Removing ASM-Scoped Security or DB-Scoped Security
4.4.8.2 Removing ASM-Scoped Security
After you have removed DB-scoped security, you can remove ASM-scoped security if you want open security for the grid disks on the storage servers.
Example 4-8 Removing the Oracle ASM Client from Grid Disks
The following command removes the Oracle ASM client from all grid disks on a cell:
CellCLI> ALTER GRIDDISK ALL availableTo=''
The following command removes the Oracle ASM client from all grid disks on a group of cells:
dcli -g cell_group -l celladmin "cellcli -e \"ALTER GRIDDISK ALL availableTo=''\""
The following command removes the Oracle ASM client from a group of grid disks on a cell:
CellCLI> ALTER GRIDDISK sales_CD_01_cell01, sales_CD_02_cell01, -
sales_CD_03_cell01, sales_CD_04_cell01, sales_CD_05_cell01, -
sales_CD_06_cell01
availableTo=''
Related Topics
Parent topic: Removing ASM-Scoped Security or DB-Scoped Security
4.5 Maintaining a Secure Environment
After security measures are implemented, they must be maintained to keep the system secure.
Software, hardware and user access need to be updated and reviewed periodically. For example, organizations should review the users and administrators with access to Oracle Exadata Database Machine, and its deployed services to verify if the levels of access and privilege are appropriate. Without review, the level of access granted to individuals may increase unintentionally due to role changes or changes to default settings. It is recommended that access rights for operational and administrative tasks be reviewed to ensure that each user's level of access is aligned to their roles and responsibilities.
Organizations are encouraged to utilize tools to detect unauthorized changes, configuration drift, and prepare for security updates. Oracle Enterprise Manager provides an integrated solution for managing operational issues for hardware, deployed applications, and services.
- Maintaining Network Security
- Encrypting System Log Information
Management Server (MS) on database and storage servers supports thesyslogconf
attribute. Starting with Oracle Exadata System Software release 19.3.0, you can encrypt the log transfer. - Guarding Against Unauthorized Operating System Access
AIDE is a utility that creates a database of files on the system, and then uses that database to ensure file integrity and to detect system intrusions. - Updating Software and Firmware
Effective and proactive software management is a critical part of system security. - Ensuring Data Security Outside of Oracle Exadata Database Machine
It is important to protect data stored outside of Oracle Exadata Database Machine, on backups or removed hard drives.
Related Topics
Parent topic: Keeping the Oracle Exadata Secure
4.5.1 Maintaining Network Security
Follow these guidelines to ensure the security of local and remote access to the system:
-
Network switch configuration files should be managed offline, and access to the configuration file should be limited to authorized administrators. The configuration file should contain descriptive comments for each setting. Consider keeping a static copy of the configuration file in a source code control system.
For more information on network switch configuration, refer to the vendor documentation for the network switch.
-
Review the client access network to ensure that secure host and Integrated Lights Out Manager (ILOM) settings are in effect. Review the settings periodically to ensure that they remain intact.
-
Create a login banner to state that unauthorized access is prohibited.
-
Use access control lists to apply restrictions where appropriate.
-
Set time-outs for extended sessions and set privilege levels.
-
Use authentication, authorization, and accounting (AAA) features for local and remote access to a network switch.
-
Use the port mirroring/switch port analyzer (SPAN) capability of the switch for intrusion detection system (IDS) access.
-
Implement port security to limit access based upon a MAC address (MAC ACL).
-
Limit remote configuration to specific IP addresses using SSH (IP ACL).
-
Disable auto-trunking on all ports for any switch connected to Oracle Exadata Database Machine.
-
Require users to use strong passwords by setting minimum password complexity rules and password expiration policies.
-
Enable logging and send logs to a dedicated secure log host.
-
Configure logging to include accurate time information, using NTP and timestamps.
-
Review logs for possible incidents and archive them in accordance with the organization's security policy.
-
Standard 140 of FIPS (Federal Information Processing Standards) relates to security and cryptography. FIPS 140 is a collection of standards published by NIST (National Institute of Standards and Technology), an agency of the United States federal government. FIPS 140 protects data during transit as well as at rest. It specifies security standards for cryptographic components within a computing environment. FIPS 140 is useful for organizations that need to document that their computing environment meets a published level of security. Many government agencies and financial institutions use FIPS 140 qualified systems.
Configuring FIPS 140 at the Oracle Database level enables the use of FIPS 140 cryptographic modules in the Secure Sockets Layer (SSL), transparent data encryption (TDE), DBMS_CRYPTO PL/SQL package, and Exadata Smart Scan, which protects data while processing Smart Scan offload operations.
4.5.2 Encrypting System Log Information
Management Server (MS) on database and storage servers supports the syslogconf
attribute. Starting with Oracle Exadata System Software release 19.3.0, you can encrypt the log transfer.
In the following topics, syslog and rsyslog are used interchangeably. They both refer to the message logger.
- Overview of syslog File Encryption
You can use certificates and thesyslogconf
attribute to configure encryption of the syslog information. - Configure CA Server and Central rsyslogd Server
Before you can encrypt the syslog transfer, you must generate certificates and sign them by a host that acts as Certificate Authority (CA). This procedure only needs to be completed once. - Configure a Client for SYSLOG Encryption
Configure the client so that it checks the server identity and sends messages only if the server identity is known. - Confirming Syslog Encryption is Enabled
After configuring rsyslog encryption, you can perform basic checks to verify the encryption is working.
Parent topic: Maintaining a Secure Environment
4.5.2.1 Overview of syslog File Encryption
You can use certificates and the syslogconf
attribute to configure encryption of the syslog information.
The syslogconf
attribute extends syslog rules for a database server. The attribute can be used to designate that syslog messages be forwarded to a specific remote syslogd service. On the MS, the forwarded messages are directed to a file, console, or management application, depending on the syslog configuration on the MS. This enables system logs from different servers to be aggregated and mined in a centralized logging server for security auditing, data mining, and so on.
The high-level steps required to enable rsyslog encryption are:
- Setup a Certificate Authority (CA). This could be any node which has the
certtool
command. It is recommended to use a non-Exadata server. The CA creates a self-signed certificate. The certificate encryption key must be stored in a secure place. This certificate is used to sign other certificates. -
Generate certificates on each participating node. If you do not have a central CA, then the Exadata administrator can generate both the private and public key on the CA and distribute copies to each trusted server. If you have a central CA, then the Exadata administrator generates the private key for each server.
-
If using a central CA, the Exadata administrator creates a certificate request. This request is then sent to the CA admin, which in turn generates the certificate (containing the public key). The CA admin then sends back the signed certificate to the Exadata administrator.
-
Install the signed certificates on each participating node. If using a central CA, the Exadata administrator installs the certificate signed by the CA. If you are not using a central CA, then the Exadata administrator installs a copy of private and public keys that were generated on the CA.
-
Setup a syslog central server. The central server needs
syslog.conf
setup. It also needs signed certificates. -
Enable or disable the encryption of syslog on each client by using CellCLI or DBMCLI.
After completing these steps, the syslog chosen to be transported will be encrypted.
Parent topic: Encrypting System Log Information
4.5.2.2 Configure CA Server and Central rsyslogd Server
Before you can encrypt the syslog transfer, you must generate certificates and sign them by a host that acts as Certificate Authority (CA). This procedure only needs to be completed once.
Parent topic: Encrypting System Log Information
4.5.2.3 Configure a Client for SYSLOG Encryption
Configure the client so that it checks the server identity and sends messages only if the server identity is known.
This configuration prevents malicious actors gaining access to the syslog data. These steps need to be performed on each server running the syslog client.
Before starting this task, you must have completed the steps in Configure CA Server and Central rsyslogd Server. You will need the IP address and port number for the rsyslogd central server in this procedure.
Parent topic: Encrypting System Log Information
4.5.2.4 Confirming Syslog Encryption is Enabled
After configuring rsyslog encryption, you can perform basic checks to verify the encryption is working.
Parent topic: Encrypting System Log Information
4.5.3 Guarding Against Unauthorized Operating System Access
AIDE is a utility that creates a database of files on the system, and then uses that database to ensure file integrity and to detect system intrusions.
- About Advanced Intrusion Detection Environment (AIDE)
AIDE helps to track down which file has been affected in case the system was compromised. - Managing AIDE Components
You can use theexadataAIDE
utility to manage AIDE. - Adding Custom AIDE Rules
You can instruct AIDE to not check for changes in specific directories during AIDE the metadata initialize step and also during the dailycron
check. - Managing AIDE Alerts when Updating Exadata Software
Software and hardware updates and installs tend to change the size and nature of operating system files. Therefore, you should re-generate the AIDE database after making changes.
Parent topic: Maintaining a Secure Environment
4.5.3.1 About Advanced Intrusion Detection Environment (AIDE)
AIDE helps to track down which file has been affected in case the system was compromised.
AIDE runs a daily cron job that monitors the system for changes to files in specific directories. It takes a snapshot of all files in the system defined by rules specified in its configuration file. AIDE compares the current file with the snapshot of files taken previously. If any content changes in the snapshot file, AIDE automatically raises CRITICAL software alerts. AIDE uses the default alerting destination email and sends the alert email to the configured SMTP email address. The results of the daily AIDE scan are written to /var/log/aide/aide.log
.
The file snapshot database created by AIDE is stored at /var/lib/aide/aide.db.gz
. You can backup this file daily if you want to audit what happened on a given system on daily basis.
Parent topic: Guarding Against Unauthorized Operating System Access
4.5.3.2 Managing AIDE Components
You can use the exadataAIDE
utility to manage AIDE.
AIDE comes pre-configured with Exadata System Software release 19.1; you do not have to perform any setup tasks to use this feature.
exadataAIDE Syntax
The utility is located at /opt/oracle.SupportTools/exadataAIDE
.
exadataAIDE [-s|-status] [-e|enable] [-d|disable] [-u|-update] [-h|help]
Description of syntax options:
-s[tatus]
: Print the current status of the AIDE daily cron job-e[nable]
: Enable the AIDE daily cron job-d[isable]
: Disable the AIDE daily cron job-u[pdate]
: Update the AIDE database metadata and run the daily scan-h[elp]
: Print the command syntax and help information
Parent topic: Guarding Against Unauthorized Operating System Access
4.5.3.3 Adding Custom AIDE Rules
You can instruct AIDE to not check for changes in specific directories during AIDE the metadata initialize step and also during the daily cron
check.
/opt/myapp
directory content changes going forward.
Parent topic: Guarding Against Unauthorized Operating System Access
4.5.3.4 Managing AIDE Alerts when Updating Exadata Software
Software and hardware updates and installs tend to change the size and nature of operating system files. Therefore, you should re-generate the AIDE database after making changes.
Use the following steps to reduce false alarms when updating software:
Note:
Oracle Exadata Deployment Assistant (OEDA) has intelligence built-in to avoid false alerts when installing or updating software.Parent topic: Guarding Against Unauthorized Operating System Access
4.5.4 Updating Software and Firmware
Effective and proactive software management is a critical part of system security.
Security enhancements are introduced through new releases and software updates. Oracle recommends installing the latest release of the software, and all necessary security updates on the equipment. The application of Oracle recommended and security updates is a best practice for the establishment of baseline security.
Operating system and kernel updates for Oracle Exadata database servers and storage servers are delivered with Oracle Exadata System Software updates. Power distribution unit (PDU) firmware updates are handled separately from the software and other firmware updates. Ensure that the PDU is running the latest approved firmware for Oracle Exadata. As PDU firmware updates are not issued frequently, it is usually sufficient to check the PDU firmware release when upgrading Oracle Exadata System Software.
Note:
Devices such as network switches that contain firmware may require patches and firmware updates.- Regenerate SSH Keys for ILOM Version 5
On systems with ILOM version 5, you can create an SSH key with a key size of 3072 bits.
Related Topics
Parent topic: Maintaining a Secure Environment
4.5.4.1 Regenerate SSH Keys for ILOM Version 5
On systems with ILOM version 5, you can create an SSH key with a key size of 3072 bits.
Previous versions of Integrated Lights Out Manager (ILOM) support a 1024 bit SSH key, while ILOM version 5 supports a 3072 bit SSH key.
If you upgrade an existing Exadata system to ILOM version 5, then the upgraded system preserves the original 1024 bit SSH key. To use a 3072 bit SSH key, you must manually regenerate the SSH key in the ILOM service processor by using the following command:
-> set /SP/services/ssh generate_new_key_type=rsa generate_new_key_action=true
After you regenerate the SSH key, you can query ILOM to report the public key value.
-> show /SP/services/ssh/keys/rsa
/SP/services/ssh/keys/rsa
Targets:
Properties:
fingerprint = hex-id
fingerprint_algorithm = SHA1
length = 3072
privatekey = (Cannot show property)
publickey = public-key-value
Note:
Systems originally deployed with ILOM version 5 use 3072 bit keys by default.
Parent topic: Updating Software and Firmware
4.5.5 Ensuring Data Security Outside of Oracle Exadata Database Machine
It is important to protect data stored outside of Oracle Exadata Database Machine, on backups or removed hard drives.
Data located outside of Oracle Exadata Database Machine can be secured by backing up important data. The data should then be stored in an off-site, secure location. Retain the backups according to organizational policies and requirements.
When disposing of an old hard drive, physically destroy the drive or completely erase all the data on the drive. Deleting the files or reformatting the drive removes only the address tables on the drive. The information can still be recovered from a drive after deleting files or reformatting the drive. The Oracle Exadata Database Machine disk retention support option allows the retention of all replaced hard drives and flash drives, instead of returning them to Oracle.
The CellCLI command DROP CELLDISK
includes an option to securely erase data by overwriting the data. If Oracle Exadata Storage Server drives contain sensitive data that needs to be erased for redeployment or another purpose, then the secure erase feature should be used on the storage cell. The ERASE
option ensures that all data is overwritten with random data, and erased up to seven times. This ensures that the data cannot be recovered, and that the data is permanently erased.
Starting with Oracle Exadata System Software release 19.1.0, if you use DROP CELLDISK
and select to erase disks using 1pass, 3pass, or 7pass method, Oracle Exadata System Software uses the better and faster Secure Eraser if supported by the underlying hardware.
Parent topic: Maintaining a Secure Environment