基準資料庫服務安全指南

本文說明 Base Database Service 的安全性。

安全總覽

本主題提供 Base Database Service 安全性的總覽。Oracle 負責管理大部分元件的安全性,而使用者則負責某些元件的安全性。

雲端服務元件會分類為使用者可存取的服務和 Oracle 管理的基礎架構。使用者可存取的服務是指使用者在訂閱基準資料庫服務時,可以存取的元件。這些是虛擬機器和資料庫服務,通常分別稱為資料庫系統和資料庫。Oracle 管理的基礎架構是指 Oracle 擁有和運作來支援使用者可存取服務的硬體。它是由 AMD 或 Intel 資料庫運算資源配置所組成。

Oracle 將會管理 Oracle 管理之基礎架構元件的安全性和存取權。使用者將管理對使用者可存取服務的安全性和存取權,包括對資料庫系統和資料庫服務的存取、對資料庫系統的網路存取、對資料庫系統的存取進行認證,以及對存取資料庫系統上執行之資料庫的認證。Oracle 員工未獲授權存取使用者可存取的服務。

使用者可以使用標準 Oracle Database 連線方法 (例如連接埠 1521 上的 Oracle Net),從使用者設備透過第 2 層 (標記為 VLAN) 連線存取在資料庫系統上執行的 Oracle 資料庫。使用者可以使用標準的 Oracle Linux 方法,連線至執行 Oracle 資料庫的資料庫系統,例如連接埠 22 上的權杖型 SSH。

基準資料庫服務採用多種獨立且相互強化的安全控制功能,協助組織為工作負載和資料建立安全的作業環境。基準資料庫服務提供下列安全控制:

深度防禦以保護作業環境

基準資料庫服務提供數個控制項,以維護服務的機密性、完整性和問責性。基準資料庫服務以下列方式提升深度防禦原則:

服務和使用者的最低權限

Oracle 安全編碼標準要求最低權限的範例。確保應用程式、服務和使用者可以存取執行工作所需的功能,僅是最低權限原則的一方。同樣重要的是,確保對不必要的功能、服務和介面的存取受到限制。基準資料庫服務會提升最低權限的原則,如下所示:

事件與動作的稽核與歸責

系統必須能夠在事件發生時辨識和通知事件。同樣地,當意外事件無法回復時,組織必須能夠識別其發生事件,才能採取適當的動作。基準資料庫服務透過下列方式鼓勵稽核及問責:

將雲端作業自動化

藉由消除佈建、修補、維護、疑難排解和配置系統所需的手動作業,可以減少錯誤的可能性並確保配置安全。

基準資料庫服務的設計目的是透過自動化所有佈建、組態及大多數其他作業作業,確保安全無虞。藉由自動化,可以避免遺漏的組態,並確保正確設定系統中的所有必要路徑。

安全功能

本主題描述 Base Database Service 中可用的安全功能。

基準資料庫服務提供下列安全功能:

強化作業系統映像檔

最小化攻擊面

在強化映像檔中,只要安裝並執行提供服務所需的軟體,即可減少受攻擊面。

已啟用其他安全功能

安全存取方法

稽核與記錄日誌

依預設,稽核和記錄不會為作業系統提供的商業部署新增任何其他組態,但可透過啟用 STIG 來新增其他安全設定值來加以改善。

請參閱下列主題以取得詳細資訊:

使用者安全性

本主題描述 Base Database Service 中可用的使用者安全性。「基準資料庫服務」元件由數個使用者帳戶定期管理。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 Reboot
已停用 DCCP 支援
已停用 USB 儲存裝置
已移除 X Windows 套裝程式群組
SSH 組態 只允許使用 SSH 協定 2
啟用使用權限區隔
SSH 閒置逾時間隔:600 秒
停用 GSSAPI 認證
設為延遲的壓縮
允許 SSH 登入系統的非憑證信任
SSH 常駐程式不允許使用已知主機認證進行認證
薪資配套 安裝更新的版本之後,請移除所有軟體元件
系統會禁止安裝未驗證之軟體、修正程式、服務套件、裝置驅動程式或作業系統元件的本機套裝程式
記錄日誌 系統和核心訊息會傳送到遠端主機 (rsyslog)
已設定為記錄到 rsyslog 的 cron
設定 AIDE 定期執行
其他 啟動以單一使用者和維護模式時需要認證
互動式階段作業逾時:600 秒
在 SSSD 裝置中設定 PAM
將 PAM 系統服務設定為只儲存加密的密碼表示法
設定的 SSSDLDAP 後端從屬端 CA 憑證位置
設定讓 SSSD LDAP 後端對所有交易使用 TLS
密碼到期後停用帳戶
群組帳戶管理公用程式設定為只儲存加密的密碼表示法

此外,ONSR 區域預設可讓 FIPS、SE Linux 和 STIG 符合需求標準。您可以啟用額外的配置來提升系統的安全性。設定組態標準 (STIG) 時必須遵循最嚴格的標準,並以 DISA 的 Oracle Linux 7 STIG 提高安全性規範。此工具會作為映像檔的一部分提供,以啟用 FIPS、SE Linux 以及 STIG。

請參閱下列主題以取得詳細資訊:

安全性程序

本主題描述「基準資料庫服務」中可用的預設安全處理作業。下列是預設在使用者虛擬機器 (DB 系統) 上執行的處理作業清單,也稱為 domU。

處理作業 說明
domU 代理程式 它是處理資料庫生命週期作業的雲端代理程式。
以 root 使用者身分執行的處理作業
處理作業表格顯示其以 java 處理作業的形式執行,並使用下列 jar 名稱:
dcs-agent-VersionNumber-SNAPSHOT.jar
dcs-admin-VersionNumber-SNAPSHOT.jar
TFA 代理程式 Oracle Trace File Analyzer (TFA) 在單一組合中提供數種診斷工具,可讓您輕鬆收集 Oracle Database 和 Clusterware 的診斷資訊,進而協助處理 Oracle Support 時的問題解決。
以 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:管理服務品質 (QOMS) 伺服器
監聽所有介面 0.0.0.0 9000 RAC: Oracle Clusterware
監聽所有介面 0.0.0.0 68 DHCP
監聽所有介面 0.0.0.0 123 新浪微博
監聽所有介面 0.0.0.0 5353 多點傳送 DNS
用戶端介面 ens3 1521 RDBMS:TNS 監聽器
用戶端介面 ens3 5000 RDBMS:Autonomous Health Framework (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 職責,以及 Base Database Service 中安全性設定值的使用者職責。下表提供 Oracle Cloud 作業和使用者需要執行的安全設定值清單。

作業 Oracle Cloud Platform:Oracle Cloud 職責 Oracle Cloud Platform:使用者職責 使用者 / 用戶執行處理:Oracle Cloud 職責 使用者 / 用戶執行處理:使用者職責
資料庫建置 基準資料庫服務部署的軟體基礎架構和指南 網路管理員: 設定雲端網路基礎架構 (VCN 和子網路、閘道等) .
資料庫管理:設定資料庫需求 (記憶體、儲存體、運算、資料庫版本、資料庫類型等等)。
安裝作業系統、資料庫以及 Grid Infrastructure 系統 (如果選取) 資料庫管理:視需要根據工作負載更新 Oracle Database 軟體版本、虛擬機器需求的資源配置 (CPU / 記憶體)、資料儲存以及復原儲存組態大小資源 (升級 / 降級資源)。
監視 實體安全性,基礎架構,控制平面,硬體故障,可用性,容量 不需要任何東西 支援使用者監控使用者服務的基礎架構可用性。 資料庫管理:監控使用者作業系統、資料庫、應用程式及 Grid Infrastructure
事件管理與解決 事故管理與補救零件與現場分派 不需要任何東西 支援任何與基礎平台相關的未預期事件 資料庫管理:使用者應用程式的事件管理與解決方法
修補程式管理 主動修正硬體、IaaS/PaaS 控制堆疊 不需要任何東西 暫存可用的修正程式,例如 Oracle Database 修正程式集 資料庫管理:修正用戶執行處理,測試
作業系統管理: 作業系統修正
備份和回復 基礎架構與控制層備份與復原,重新建立使用者虛擬機器 不需要任何東西 提供執行中和使用者可存取的虛擬機器 資料庫管理:使用 Oracle 原生或第三方功能,對使用者 IaaS 和 PaaS 資料進行快照 / 備份與復原

啟用其他安全功能

基準資料庫服務提供下列其他安全功能:

dbcli 網路安全性

dbcli NetSecurity 會處理透過網路傳輸的資料加密。當資料從 Oracle Database 移至第三方,或從伺服器移至用戶端時,必須在寄件者端加密資料,並在收件者端解密。在 NetSecurity 中,會在啟動設定和資料庫本位目錄建立作業期間,設定從屬端和伺服器的預設值。dcs-agent CLI 介面提供更新這些 NetSecurity 規則的指令,以及增強加密演算法、完整性演算法和連線類型的安全性。

依照預設,dcs-agent 會為資料庫本位目錄設定下列預設規則:

如需更新設定值的詳細資訊,請參閱 Oracle Database CLI Reference 。

OCI 保存庫整合

基準資料庫服務現在已與所有 OCI 商業區域中的 OCI Vault 服務整合。您現在可以在保護資料庫的 OCI 保存庫內建立及管理 TDE 主要金鑰。使用此功能,您可以選擇開始使用 OCI Vault 服務來儲存和管理主要加密金鑰。用於保護資料庫的 OCI 保存庫金鑰儲存在高可用性、持久且託管的服務中。

注意: OCI Vault 整合僅適用於 Oracle Database 版本 19.13 和更新版本。

透過 OCI Vault 與 Base Database Service 整合,您可以:

備註:

CLI 以啟用 FIPS

Oracle 為商業使用者提供了改進預設安全性的工具。此工具主要用來讓 FIPS、SE Linux 以及 STIG 遵循最嚴格的標準。

如需詳細資訊,請參閱 Enable FIPS,SE Linux,and STIG on the DB System Components 。