基本数据库服务安全指南

本文介绍了基本数据库服务的安全性。

安全概览

本主题概述了基本数据库服务中的安全性。Oracle 管理大多数组件的安全性,而用户则负责某些组件的安全性。

云服务组件分为用户可访问的服务和 Oracle 托管的基础设施。用户可访问的服务是指用户在订阅基本数据库服务时可以访问的组件。这些虚拟机和数据库服务通常分别称为数据库系统和数据库。Oracle 托管的基础设施是指 Oracle 拥有和运营的硬件,用于支持用户可访问的服务。它由基于 AMD 或 Intel 的数据库计算配置组成。

Oracle 将管理 Oracle 托管基础设施组件的安全性和访问权限。用户将管理安全性和对用户可访问服务的访问,包括对数据库系统和数据库服务的访问、对数据库系统的网络访问、访问数据库系统的验证,以及访问在数据库系统上运行的数据库的验证。Oracle 员工无权访问用户可访问的服务。

用户使用标准的 Oracle Database 连接方法(例如,端口 1521 上的 Oracle Net),通过第 2 层(带标记的 VLAN)连接从用户设备访问在数据库系统上运行的 Oracle 数据库。用户可以使用标准的 Oracle Linux 方法连接到运行 Oracle 数据库的数据库系统,例如端口 22 上的基于令牌的 SSH。

基本数据库服务采用多个独立且相互增强的安全控制,以帮助组织为其工作负载和数据创建安全的操作环境。基本数据库服务提供以下安全控制:

用于保护操作环境的深度防御

基本数据库服务提供多种控制,以在整个服务中保持机密性、完整性和问责制。基本数据库服务按如下方式推广纵深防御原则:

服务和用户的最小特权

Oracle 安全编码标准需要最少权限的模式。确保应用程序、服务和用户能够访问他们执行任务所需的功能,这只是最小特权原则的一面。同样重要的是,要确保对不必要的功能、服务和接口的访问受到限制。基本数据库服务按如下方式推广最小特权原则:

事件和操作的审计和责任

系统必须能够在发生事故时识别和通知事故。同样,当无法避免事故时,组织必须能够识别事故的发生,以便采取适当的操作。基本数据库服务鼓励通过以下方式进行审计和问责:

实现云运营自动化

通过消除预配、修补、维护、故障排除和配置系统所需的手动操作,可以减少出错的可能性,并确保安全配置。

基本数据库服务通过自动执行所有预配、配置和大多数其他操作任务来实现安全。通过自动化,可以避免错过配置,并确保正确配置到系统的所有必要路径。

安全特性

本主题介绍了基本数据库服务中提供的安全功能。

基本数据库服务提供以下安全功能:

强化操作系统映像

最小化攻击面

作为硬化映像的一部分,通过仅安装和运行交付服务所需的软件来减少攻击面。

启用其他安全功能

安全访问方法

审计和记录

默认情况下,审计和日志记录不会根据操作系统提供的内容为商业部署添加任何其他配置,但可以通过启用 STIG 添加其他安全设置来对其进行改进。

有关详细信息,请参见以下主题:

用户安全性

本主题介绍了基本数据库服务中可用的用户安全性。基本数据库服务组件由多个用户帐户定期管理。Oracle 仅使用并推荐基于令牌的 SSH 登录。Oracle 用户或进程不使用基于密码的验证。

默认情况下会创建以下类型的用户:

默认用户:无登录权限

此用户列表由默认操作系统用户组成。不应更改这些用户。这些用户无法登录到系统。

bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
polkitd:x:999:996:User for polkitd:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the
tcsd daemon:/dev/null:/sbin/nologin
sssd:x:998:994:User for sssd:/:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dhcpd:x:177:177:DHCP server:/:/sbin/nologin
saslauth:x:997:76:Saslauthd user:/run/saslauthd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin

默认用户:具有登录权限

这些特权用户负责完成系统中的大多数任务。不应更改或删除这些用户,因为这将对正在运行的系统产生重大影响。SSH 密钥用于登录。

下面是具有登录权限的默认用户的列表。

root:x:0:0:root:/root:/bin/bash
opc:x:54322:54323::/home/opc:/bin/bash
mysql:x:54323:54331::/home/mysql:/bin/bash
grid:x:102:1001::/home/grid:/bin/bash
oracle:x:101:1001::/home/oracle:/bin/bash

安全设置

本主题介绍了基本数据库服务中可用的安全设置。以下是系统中提供的默认安全设置。

安全设置 默认值
密码复杂性 密码最小长度:15
密码最大为同一字符类中的连续重复字符数:4
密码最大连续重复字符数:3
密码强度最小数字字符数:1
密码强度最小不同类别:4
密码强度最小不同字符数:8
密码强度最小特殊字符数:1
密码强度最小小写字符数:1
密码强度最小大写字符数:1
用户账户配置 密码可以使用的最大天数:60
密码更改之间允许的最小天数:1
加密散列算法:SHA512
登录失败延迟:4 秒
禁用的选项 已禁用 Ctrl-Alt-Del 重新引导
DCCP 支持已禁用
USB 存储设备已禁用
X Windows 软件包组已删除
SSH 配置 仅允许使用 SSH 协议 2
启用特权分离
SSH 空闲超时间隔:600 秒
禁用 GSSAPI 验证
设置为延迟的压缩
允许通过 SSH 登录到系统的非证书可信
SSH 守护进程不允许使用已知主机验证进行验证
程序包 在安装了更新的版本后删除所有软件组件
系统会阻止为未经验证的软件、修补程序、服务包、设备驱动程序或操作系统组件安装本地软件包
日志 系统和内核消息将发送到远程主机 (rsyslog)
Cron 配置为登录到 rsyslog
配置 AIDE 以定期执行
其他 引导至单用户和维护模式时需要验证
交互式会话超时:600 秒
在 SSSD 设备中配置了 PAM
PAM 系统服务配置为仅存储加密的口令表示形式
配置的 SSSDLDAP 后端客户机 CA 证书位置
配置 SSSD LDAP 后端以将 TLS 用于所有事务处理
密码过期后禁用账户
组账户管理实用程序配置为仅存储加密的密码表示形式

此外,默认情况下,NSR 区域允许 FIPS、SE Linux 和 STIG 遵守要求标准。您可以通过启用其他配置来提高系统安全性。可以将配置标准 (STIG) 设置为遵循限制性最强的标准,并提高 DISA 的 Oracle Linux 7 STIG 的安全性合规性。映像中提供了用于启用 FIPS、SE Linux 和 STIG 的工具。

有关详细信息,请参见以下主题:

安全流程

本主题介绍了基本数据库服务中可用的默认安全进程。以下是默认情况下在也称为 domU 的用户虚拟机(DB 系统)上运行的进程的列表。

进程 说明
domU 代理 它是用于处理数据库生命周期操作的云代理。
以 root 用户身份运行
进程表显示它作为具有以下 jar 名称的 java 进程运行:
dcs-agent-VersionNumber-SNAPSHOT.jar
dcs-admin-VersionNumber-SNAPSHOT.jar
TFA 代理 Oracle Trace File Analyzer (TFA) 在一个捆绑包中提供了多个诊断工具,因此可以轻松收集有关 Oracle Database 和 Clusterware 的诊断信息,这反过来有助于在处理 Oracle 技术支持时解决问题。
以 root 用户身份运行
以 initd 演示 (/etc/init.d/init.tfa) 身份运行
进程表显示 java 应用程序 (oracle.rat.tfa.TFAMain)
数据库和 GI(集群件) 以 oracle 和 grid 用户身份运行
某些 CRS/clusterware 守护进程进程以 root 用户身份运行
进程表显示以下应用程序:
ora_*、apx_*、ams_* 和 oracle+ASM*
mysqld 和 zookeeper
/u01/<version>/grid/* 中的其他一些进程

网络安全性

本主题介绍了基本数据库服务中的网络安全性。以下是默认在用户虚拟机(DB 系统)上运行的默认端口、进程和 iptables 规则的列表,这些规则也称为 domU。

domU 服务的端口

下表提供了 domU 服务的默认端口列表。

界面类型 接口名称 端口 流程正在运行
在所有接口上监听 0.0.0.0 22 SSH
在所有接口上监听 0.0.0.0 1522 RDBMS:TNS 监听程序
在所有接口上监听 0.0.0.0 7060 DCS 管理
在所有接口上监听 0.0.0.0 7070 DCS 代理
在所有接口上监听 0.0.0.0 2181 Zookeeper
在所有接口上监听 0.0.0.0 8888, 8895 RAC:管理服务质量 (Quality of Management Service,QOMS) 服务器
在所有接口上监听 0.0.0.0 9000 RAC:Oracle Clusterware
在所有接口上监听 0.0.0.0 68 DHCP
在所有接口上监听 0.0.0.0 123 NTP
在所有接口上监听 0.0.0.0 5353 多播 DNS
客户端界面 ens3 1521 RDBMS:TNS 监听程序
客户端接口 ens3 5000 RDBMS:自治健康框架 (AHF)(包括 TFA)
客户端界面 ens3:1 1521 RDBMS:TNS 监听程序
客户端界面 ens3:2 1521 RDBMS:TNS 监听程序
客户端界面 ens3:3 1521 RDBMS:TNS 监听程序
集群互连接 ens4 1525 RDBMS:TNS 监听程序
集群互连接 ens4 2888 Zookeeper
集群互连接 ens4 3888 Zookeeper
集群互连接 ens4 6000 RAC:网格进程间通信
集群互连接 ens4 7000 RAC:高可用性服务

domU 的 iptables 规则

默认 iptables 设置为输入链、正向链和输出链上的 ACCEPT 连接。

以下是 domU 服务的默认 iptables 规则:

示例 - iptables 规则

以下示例提供了 domU 服务的默认 iptables 规则。

iptables -L -n -v

输出:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
  43M  110G ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
 2664  224K ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0
40793 2441K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  ens4   *       0.0.0.0/0            0.0.0.0/0
    3   192 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
   40  2400 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:1521 /* Required for access to Database Listener, Do not remove or modify.  */
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:5000 /* Required for TFA traffic.  */
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:6200 /* This rule is recommended and enables the Oracle Notification Services (ONS) to communicate about Fast Application Notification (FAN) events.  */
  343 20580 ACCEPT     tcp  --  *      *       169.254.0.0/16       0.0.0.0/0            state NEW tcp dpt:7070 /* Required for instance management by the Database Service, Do not remove or modify.  */
  132  7920 ACCEPT     tcp  --  *      *       169.254.0.0/16       0.0.0.0/0            state NEW tcp dpt:7060 /* Required for instance management by the Database Service, Do not remove or modify.  */
    0     0 ACCEPT     tcp  --  *      *       169.254.0.0/16       0.0.0.0/0            state NEW tcp dpt:22 /* Required for instance management by the Database Service, Do not remove or modify.  */
    3   424 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 REJECT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT 51078 packets, 3218K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      ens4    0.0.0.0/0            0.0.0.0/0
  52M  170G ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
 8003  548K InstanceServices  all  --  *      *       0.0.0.0/0            169.254.0.0/16

Chain InstanceServices (1 references)
 pkts bytes target     prot opt in     out     source               destination
   11   660 ACCEPT     tcp  --  *      *       0.0.0.0/0            169.254.2.0/24       owner UID match 0 tcp dpt:3260 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
    1    60 ACCEPT     tcp  --  *      *       0.0.0.0/0            169.254.0.2          owner UID match 0 tcp dpt:3260 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            169.254.0.2          tcp dpt:80 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
  678 63323 ACCEPT     udp  --  *      *       0.0.0.0/0            169.254.169.254      udp dpt:53 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            169.254.169.254      tcp dpt:53 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            169.254.0.3          owner UID match 0 tcp dpt:80 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            169.254.0.4          tcp dpt:80 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
 2569  195K ACCEPT     udp  --  *      *       0.0.0.0/0            169.254.169.254      udp dpt:123 /* Allow access to OCI local NTP service */
 4727  284K ACCEPT     tcp  --  *      *       0.0.0.0/0            169.254.169.254      tcp dpt:80 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
   15  4920 ACCEPT     udp  --  *      *       0.0.0.0/0            169.254.169.254      udp dpt:67 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            169.254.169.254      udp dpt:69 /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */
    0     0 REJECT     tcp  --  *      *       0.0.0.0/0            169.254.0.0/16       tcp /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */ reject-with tcp-reset
    0     0 REJECT     udp  --  *      *       0.0.0.0/0            169.254.0.0/16       udp /* See the Oracle-Provided Images section in the Oracle documentation for security impact of modifying or removing this rule */ reject-with icmp-port-unreachable

安全设置的用户责任

本主题介绍了基本数据库服务中安全设置的 Oracle Cloud Operations 职责和用户职责。下表提供了 Oracle Cloud Operations 和用户需要执行的安全设置列表。

操作 Oracle Cloud Platform:Oracle Cloud 责任 Oracle Cloud Platform:用户责任 用户/租户实例:Oracle Cloud 责任 用户/租户实例:用户责任
数据库部署 基本数据库服务部署的软件基础结构和指导 网络管理员:配置云网络基础设施(VCN 和子网、网关等)。
数据库管理员:设置数据库要求(内存、存储、计算、数据库版本、数据库类型等)。
安装操作系统、数据库和网格基础结构系统(如果选中) 数据库管理员:根据需要,根据工作负载更新 Oracle Database 软件版本、虚拟机需求配置(CPU/内存)、数据存储和恢复存储配置大小资源(升级/降级资源)。
MONITORING 物理安全、基础设施、控制层、硬件故障、可用性、容量 无需任何内容 用于支持用户监视用户服务的基础结构可用性。 数据库管理:监视用户操作系统、数据库、应用和网格基础结构
事件管理和解决 事故管理和补救备件和现场派遣 无需任何内容 支持与底层平台相关的任何事件 数据库管理员:用户应用的事件管理和解决
补丁程序管理 主动修补硬件、IaaS/PaaS 控制堆栈 无需任何内容 暂存可用补丁程序,例如 Oracle Database 补丁程序集 数据库管理:为租户实例打补丁,测试
操作系统管理:操作系统打补丁
备份与恢复 基础设施和控制层备份和恢复,重新创建用户虚拟机 无需任何内容 提供可运行和用户访问的虚拟机 数据库管理员:使用 Oracle 原生或第三方功能对用户 IaaS 和 PaaS 数据进行快照/备份和恢复

启用其他安全功能

基本数据库服务提供以下其他安全功能:

dbcli NetSecurity

dbcli NetSecurity 在数据通过网络传输时处理数据加密。当数据从 Oracle Database 移至第三方或从服务器移至客户端时,必须在发送方端进行加密,并在接收方端进行解密。在 NetSecurity 中,在预配和数据库主目录创建操作期间,为客户端和服务器配置了默认值。dcs-agent CLI 界面提供了用于更新这些 NetSecurity 规则和增强加密算法、完整性算法和连接类型安全性的命令。

默认情况下,dcs-agent 为数据库主目录配置以下默认规则:

有关更新设置的更多信息,请参见《Oracle Database CLI Reference 》。

OCI Vault 集成

基本数据库服务现在已与所有 OCI 商业区域的 OCI Vault 服务集成。现在,您可以在 OCI Vault 中创建和管理保护数据库的 TDE 主密钥。使用此功能,您可以选择开始使用 OCI Vault 服务来存储和管理主加密密钥。用于保护数据库的 OCI Vault 密钥存储在高可用性、持久性和托管服务中。

注: OCI Vault 集成仅适用于 Oracle Database 版本 19.13 及更高版本。

借助 OCI Vault 与基本数据库服务的集成,您可以:

注意:

启用 FIPS 的 CLI

Oracle 为商业用户提供了默认提高安全性的工具。此工具用于使 FIPS、SE Linux 和 STIG 遵循最严格的标准。

有关更多信息,请参见 Enable FIPS,SE Linux,and STIG on the DB System Components 。