ベース・データベース・サービスのセキュリティ・ガイド

この記事では、ベース・データベース・サービスのセキュリティについて説明します。

セキュリティの概要

このトピックでは、ベース・データベース・サービスのセキュリティの概要について説明します。ほとんどのコンポーネントのセキュリティはOracleが管理しますが、一部のコンポーネントのセキュリティはユーザーが責任を負います。

クラウド・サービス・コンポーネントは、ユーザー・アクセス可能なサービスおよびOracle管理インフラストラクチャに分類されます。ユーザー・アクセス可能なサービスとは、ベース・データベース・サービスのサブスクリプションの一部としてユーザーがアクセスできるコンポーネントのことです。これらは、一般的にDBシステムおよびデータベースと呼ばれる仮想マシンおよびデータベース・サービスです。Oracle管理インフラストラクチャとは、ユーザー・アクセス可能なサービスをサポートするためにOracleが所有および運用するハードウェアのことです。AMDまたはIntelベースのデータベース・コンピューティング・シェイプで構成されます。

Oracleは、Oracle管理インフラストラクチャ・コンポーネントに対するセキュリティおよびアクセスを管理します。ユーザーは、DBシステムとデータベース・サービスへのアクセス、DBシステムへのネットワーク・アクセス、DBシステムにアクセスするための認証、DBシステムで実行されているデータベースにアクセスするための認証を含む、ユーザー・アクセス可能なサービスに対するセキュリティおよびアクセスを管理します。Oracleスタッフには、ユーザー・アクセス可能なサービスにアクセスする権限はありません。

ユーザーは、標準のOracle Database接続方法(ポート1521上のOracle Netなど)を使用して、ユーザー機器からレイヤー2(タグVLAN)接続を介してDBシステムで実行されているOracle Databaseにアクセスします。ユーザーは、ポート22のトークンベースのSSHなど標準のOracle Linuxの方法を使用して、Oracle Databaseを実行しているDBシステムに接続できます。

ベース・データベース・サービスでは、組織がワークロードおよびデータのセキュアなオペレーティング環境を構築できるように、複数の独立した、相互に強化し合うセキュリティ制御が採用されています。ベース・データベース・サービスには、次のセキュリティ制御が用意されています:

オペレーティング環境を保護するための多層防御

ベース・データベース・サービスには、サービス全体で機密性、整合性および説明責任を維持するための複数の制御が用意されています。ベース・データベース・サービスは、多層防御の原則を次のように推進します:

サービスおよびユーザーの最小権限

Oracleセキュア・コーディング標準では、最小権限のパラダイムを必要とします。アプリケーション、サービスおよびユーザーが各自のタスクを実行するために必要な機能にアクセスできるようにすることは、最小限の権限の原則の一面にすぎません。不要な機能、サービスおよびインタフェースへのアクセスを制限することが、同様に重要です。ベース・データベース・サービスは、最小権限の原則を次のように推進します:

イベントおよびアクションの監査および説明責任

システムは、インシデントが発生したときに認識して通知できる必要があります。同様に、インシデントを回避できない場合は、適切なアクションを実行するために、組織がその発生を識別できる必要があります。ベース・データベース・サービスでは、次の方法で監査と説明責任を促進します:

クラウド操作の自動化

システムのプロビジョニング、パッチ適用、メンテナンス、トラブルシューティングおよび構成に必要な手動操作をなくすことで、エラーの可能性が減少し、セキュアな構成が保証されます。

ベース・データベース・サービスは、すべてのプロビジョニング、構成および他のほとんどの操作タスクを自動化して、セキュアになるように設計されています。自動化することで、構成の欠落を回避し、システムへの必要なすべてのパスを適切に構成できます。

セキュリティ機能

このトピックでは、ベース・データベース・サービスで使用可能なセキュリティ機能について説明します。

ベース・データベース・サービスには、次のセキュリティ機能があります:

強化されたOSイメージ

攻撃対象領域の最小化

強化されたイメージの一部として、サービスの提供に必要なソフトウェアのみをインストールして実行することで攻撃対象領域が削減されます。

有効な追加のセキュリティ機能

セキュアなアクセス方法

監査とロギング

デフォルトでは、監査とロギングで、オペレーティング・システムの提供内容から商用デプロイメント用に追加構成が加えられることはありませんが、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)
rsyslogにログを記録するように構成されたCron
定期的な実行のためのAIDEの構成
その他 シングルユーザー・モードおよびメンテナンス・モードへの起動時に必要な認証
対話型セッション・タイムアウト: 600秒
SSSDデバイスで構成されたPAM
パスワードの暗号化された表現のみを格納するように構成されたPAMシステム・サービス
構成されたSSSDLDAPバックエンド・クライアントCA証明書の場所
すべてのトランザクションにTLSを使用するように構成されたSSSD LDAPバックエンド
パスワードの有効期限が切れた後のアカウントの無効化
グループ・アカウント管理ユーティリティは、パスワードの暗号化された表現のみを格納するように構成されています

さらに、ONSRリージョンでは、デフォルトで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)では、1つのバンドルに複数の診断ツールが提供されるため、Oracle DatabaseおよびClusterwareに関する診断情報を収集しやすくなり、Oracle Supportを処理する際の問題の解決に役立ちます。
rootユーザーとして
実行され、initdデモンストレーション(/etc/init.d/init.tfa)
プロセス表にjavaアプリケーション(oracle.rat.tfa.TFAMain)が表示されます。
データベースおよびGI(クラスタウェア) oracleおよびgridユーザーとして実行
一部のCRS/クラスタウェア・デーモン・プロセスがrootユーザーとして実行
プロセス表に次のアプリケーションが表示されます。
ora_*、apx_*、ams_*およびoracle+ASM*
mysqldおよびzookeeper
/u01/<version>/grid/*の他のプロセスの一部

ネットワーク・セキュリティ

このトピックでは、ベース・データベース・サービスのネットワーク・セキュリティについて説明します。次に、domUとも呼ばれるユーザー仮想マシン(DBシステム)でデフォルトで実行されるデフォルトのポート、プロセスおよびiptablesルールのリストを示します。

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 NTP
すべてのインタフェースでリスニング 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の責任およびユーザー責任について説明します。次の表に、Oracle Cloud Operationsおよびユーザーが行う必要があるセキュリティ設定のリストを示します。

オペレーション Oracle Cloud Platform: Oracle Cloudの責任 Oracle Cloud Platform: ユーザーの責任 ユーザー/テナント・インスタンス: Oracle Cloud Responsibility ユーザー/テナント・インスタンス: ユーザー職責
データベースのデプロイメント ベース・データベース・サービス・デプロイメントのソフトウェア・インフラストラクチャおよびガイダンス ネットワーク管理:クラウド・ネットワーク・インフラストラクチャー(VCN、サブネット、ゲートウェイなど)を構成します。
データベース管理者:データベース要件(メモリー、ストレージ、計算、データベースバージョン、データベース・タイプなど)の設定。
オペレーティング・システム、データベースおよびGrid Infrastructureシステムのインストール(選択されている場合) データベース管理者:必要に応じて、Oracle Databaseソフトウェアのバージョン、仮想マシン要件のシェイプ(CPU/メモリー)、データ・ストレージおよびリカバリ・ストレージ構成サイズ・リソースをワークロードに基づいて更新する(リソースのアップグレード/ダウングレード)。
モニタリング 物理セキュリティ、インフラストラクチャ、コントロール・プレーン、ハードウェア障害、可用性、容量 必要なし ユーザー・サービスのユーザー・モニタリングをサポートするインフラストラクチャの可用性。 データベース管理者: ユーザーのオペレーティング・システム、データベース、アプリケーションおよびGrid Infrastructureのモニター
インシデント管理と解決 インシデント管理および修復、スペア・パーツとフィールド・サービスのディスパッチ 必要なし 基礎となるプラットフォームに関連するインシデントのサポート データベース管理者: ユーザー・アプリケーションのインシデント管理および解決
パッチ管理 ハードウェア、IaaS/PaaS制御スタックのプロアクティブなパッチ適用 必要なし 使用可能なパッチのステージング(Oracle Databaseパッチ・セットなど) データベース管理者:テナント・インスタンスへのパッチ適用、テスト
OS管理者: OSパッチ適用
バックアップとリストア インフラストラクチャおよびコントロール・プレーンのバックアップおよびリカバリ、ユーザー仮想マシンの再作成 必要なし 実行中のユーザーがアクセス可能な仮想マシンを提供 データベース管理者: Oracleネイティブまたはサードパーティ機能を使用したユーザーIaaSおよびPaaSデータのスナップショット/バックアップとリカバリ

追加のセキュリティ機能の有効化

ベース・データベース・サービスには、次の追加のセキュリティ機能があります:

dbcli NetSecurity

dbcli NetSecurityでは、ネットワークを通過するデータの暗号化が処理されます。データがOracle Databaseからサード・パーティまたはサーバーからクライアントに移動する場合は、送信者の側でデータを暗号化し、受信者の側で復号化する必要があります。NetSecurityでは、プロビジョニングおよびデータベース・ホームの作成操作中に、クライアントとサーバーの両方にデフォルト値でルールが構成されます。dcs-agent CLIインタフェースには、これらのNetSecurityルールを更新し、暗号化アルゴリズム、整合性アルゴリズムおよび接続タイプのセキュリティを強化するコマンドが用意されています。

デフォルトでは、dcs-agentは、データベース・ホームに対して次のデフォルト・ルールを構成します:

設定の更新の詳細は、Oracle Database CLIリファレンスに関する項を参照してください。

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が最も厳格な標準に従うようにするために使用されます。

詳細は、DB SystemコンポーネントでのFIPS、SE LinuxおよびSTIGの有効化を参照してください。