2 Oracle Database Applianceのセキュリティ機能

Oracle Database Applianceは、ハードウェアおよびソフトウェア強化プロセスを使用してシステムを保護し、レイヤー化されたセキュリティ戦略のデプロイを支援します。

内容は次のとおりです。

Oracle Database Applianceセキュリティ機能について

Oracle Database Applianceのコア・コンポーネントには、強化構成とセキュリティ機能があります。

組織は、レイヤー化されたセキュリティ戦略の一環として、Oracle Database Applianceのセキュリティ機能を使用できます。

強化構成

Oracle Database Applianceは、次のような強化手順をお薦めします。

  • インストールするパッケージを最小限に整理して、不要なパッケージをサーバーにインストールしないでください。

  • Oracle Database Applianceノードでは、必要なサービスのみを有効にします。

  • オペレーティング・システムのユーザーを監査します。

  • chrony、SSHおよび他のサービス用に構成を保護します。

セキュリティ機能

Oracle Database Applianceアーキテクチャは、コア・コンポーネントのためのセキュリティ機能を提供します。この機能は、次のカテゴリにグループ化されます。

  • 分離ポリシー

  • データへのアクセスの制御

  • 暗号化サービス

  • 監視および監査

  • Oracle Integrated Lights Out Manager (ILOM)

Oracle Database Applianceセキュリティのマルチユーザー・アクセスについて

マルチユーザー・アクセスは、Oracle Database Applianceシステムのセキュリティを強化し、ロールを分離するための効率的なメカニズムを提供します。

マルチユーザー・アクセスが有効でない場合は、単一のOracle Database Applianceアカウント(ユーザー名とパスワード)を使用して、Applianceへの接続、ODACLIコマンドの実行またはブラウザ・ユーザー・インタフェース(BUI)へのログインを行います。rootユーザーはOracle Database Applianceですべての管理を実行します。マルチユーザー・アクセスが有効である場合は、データベース管理者がデータベースを管理するための個別のアクセスを提供するオプションがあります。また、ブラウザ・ユーザー・インタフェース内のリソースの表示が、ユーザー・ロールごとにフィルタされます。rootアクセスはOracle Database Applianceのシステム管理者に制限されています。システム管理者はrootアクセスが必要になるシステム・ログにアクセスしたり、問題をデバッグできます。

マルチユーザー・アクセスを有効にする場合は、異なるロールを持つ複数のユーザーを作成して、他のユーザーが作成したリソースへのアクセスを制限したり、ODACLIコマンドまたはBUIを使用して実行できる操作のセットを制限できます。設定したユーザー資格情報と同じものを使用して、BUIにログインしたり、ODACLIコマンドを実行できます。また、BUIはリソースのセットへのアクセスに基づいて、リソースと情報を表示します。個別の「Multi-User Access Management」タブは、システム内のユーザーとリソースを管理するodaadminユーザーのみが使用できます。

関連項目:

ハードウェア・モデルについては、Oracle Database Applianceデプロイメントおよびユーザーズ・ガイドを参照してください。

分離ポリシーの使用

分離ポリシーは、マルチテナント・サービスをよりセキュアにします。

組織がITインフラストラクチャの統合、共有サービス・アーキテクチャの実装およびセキュアなマルチテナント・サービスの実施を求める場合は、サービス、ユーザー、データ、通信およびストレージを分離する必要があります。Oracle Database Applianceは、ニーズに基づいて分離ポリシーと分離戦略を実装できる柔軟性を組織に提供します。

内容は次のとおりです。

ネットワーク・トラフィックの分離

Oracle Database Applianceは、物理ネットワーク・レベルで、クライアント・アクセスをデバイス管理とデバイス間通信から分離します。

Oracle Database Applianceは、クライアントと管理ネットワークのトラフィックを別々のネットワークに分離します。クライアントは冗長な10Gbpsイーサネット・ネットワークを介してサービスにアクセスするので、システム上で実行されるサービスへの信頼性のある高速アクセスが確保されます。クラスタ管理アクセスは、物理的に分離された1Gbpsイーサネット・ネットワークを介して提供されます。物理的に分離されたネットワークを提供することにより、業務用と管理用のネットワーク・トラフィックを確実に分離します。

組織は、仮想LAN (VLAN)を構成することで、クライアント・アクセスのイーサネット・ネットワーク上のトラフィックをさらに分離することも選択できます。VLANは、組織の要件に基づいてネットワーク・トラフィックを分離します。VLAN上では暗号化プロトコルを使用して、通信の機密性と整合性を保証することをお薦めします。

データベースの分離

Oracle Database Applianceでは、すべてのOracle Databaseセキュリティ・オプションを利用できます。

組織がより細分化したデータベース分離を必要とする場合は、Oracle Database Vault、Oracle Virtual Private Database、Oracle Label Securityなどのソフトウェアを使用できます。物理的に分離する最良の方法の1つは、1つの環境を丸ごと単一のアプリケーションまたはデータベース専用にすることです。ただし、サーバーを1つのアプリケーションまたはデータベース専用にすると、コストがかかります。よりコスト効率の高い分離戦略では、同じオペレーティング・システム・イメージ内で複数のデータベースを使用します。ユーザー、グループおよびリソース制御の専用の資格証明など、データベースおよびオペレーティング・システム・レベルの制御を組み合せることで、複数のデータベースを分離できます。

Oracle Database Vaultには、単一データベース内で論理レルムを使用して分離させるための必須のアクセス制御モデルが含まれています。論理レルムは、アプリケーション・データへの一時的アクセスから管理アカウントをブロックすることで、既存のアプリケーション表の周囲に保護境界を形成します。Oracle Database Vaultのコマンド・ルールは、データベースおよびアプリケーション・データにだれが、いつ、どこで、どのようにアクセスするかを制限する、ポリシーベースの制御を可能にします。これによって、アプリケーション・データへの信頼できるパスが作成されます。Oracle Database Vaultは、時間、ソースIPアドレスおよびその他の条件に基づいてアクセスを制限するためにも採用できます。

Oracle Virtual Private Databaseは、データベース表およびビューへのファイングレイン・アクセスを強制するポリシーの作成を可能にします。Oracle Virtual Private Databaseでは、ポリシーはデータベース・オブジェクトに関連付けられて、データベースへのアクセス方法によらず自動的に適用されるため、セキュリティの移植性が実現されます。Oracle Virtual Private Databaseは、データベース内の細分化した分離に使用できます。

Oracle Label Securityはデータを分類し、分類に基づいてそのデータへのアクセスを仲介します。組織は、ニーズに最適な分類戦略(階層、非結合など)を定義できます。この機能によって、様々な分類レベルで保存された情報を、単一の表領域内で行レベルで分離できるようになります。

データへのアクセスの制御

データ、ワークロード、インフラストラクチャへのアクセスを制御することで、セキュリティを高めます。

アプリケーション・データ、ワークロードおよびその実行の基礎となるインフラストラクチャを保護するため、Oracle Database Applianceは、包括的かつ柔軟性のあるアクセス制御機能を、ユーザーと管理者の両方に提供します。この制御機能には、ネットワーク・アクセスとデータベース・アクセスが含まれます。

内容は次のとおりです。

ネットワーク・アクセスの制御

ネットワーク・アクセスを構成して、ファイングレイン制御をします。

ファイングレイン・アクセス制御ポリシーは、単純なネットワークレベルの分離を超えて、デバイス・レベルで導入できます。Oracle Database Applianceのすべてのコンポーネントには、ネットワーク分離などのアーキテクチャを利用した方法で、またはパケット・フィルタリングとアクセス制御リストを使用してコンポーネントおよびサービスへの入出力とそれらの間の通信を制御することで、サービスへのネットワーク・アクセスを制限する機能が組み込まれています。

データベース・アクセスの制御

ロールが割り当てられたオペレーティング・システム・ユーザーおよびグループ・システム権限を使用するデータベース・アーキテクチャの各レイヤーにおいて職務を分離させ、共謀行為や不注意によるエラーのリスクを低減するのに役立ちます。

たとえば、別々のオペレーティング・システム・ユーザー・アカウントを使用し、別々の物理グループを指名してOracle Database権限およびOracle Automatic Storage Management (Oracle ASM)システム権限を付与し、データベース管理者とストレージ管理者のロールを確実に分離します。Oracle Database内では、ユーザーに特定の権限およびロールを割り当てることで、そのユーザーがアクセスを認可されたデータ・オブジェクトのみにアクセスすることを保証できます。明示的に許可された場合を除き、データは共有できないようにします。

Oracle Databaseで利用できるパスワードベースの認証に加えて、Oracle Advanced Securityを使用すると、公開キーの資格証明、RADIUSまたはKerberosインフラストラクチャを使用して強力な認証を実装できます。Oracle Enterprise User Securityを使用すると、認証および認可のためにデータベースを既存のLDAPリポジトリに統合できます。これらの機能によって、データベースに接続するユーザーのIDをより強力に保証できます。

管理ユーザーおよび特権ユーザーのアクセスを管理し、アプリケーション・データにアクセスする方法、時間および場所を制御するために、Oracle Database Vaultを使用できます。Oracle Database Vaultは、盗難にあったログイン資格証明の不正使用、アプリケーション・バイパス、アプリケーションおよびデータの未許可の変更(アプリケーション・データのコピー作成を含む)に対する保護を提供します。Oracle Database Vaultは、ほとんどのアプリケーションと日常業務に対して透過的です。マルチファクタの認可ポリシーをサポートして、ビジネス処理を中断させることなく、ポリシーのセキュアな強制を可能にします。

Oracle Database Vaultは職務の分離を強制して、アカウント管理、セキュリティ管理、リソース管理およびその他の機能が、権限を付与されたユーザーにのみ許可されるようにします。

SUDOを使用した権限とセキュリティの管理について

SUDOポリシーは、システム監査とオペレーティング・システム上のスーパーユーザー(ルート)権限用のアクセス管理を行う上で役立ちます。これらの例を参考に、SUDOポリシーを実装します。

Oracle Appliance Managerコマンドライン・ユーティリティでは、ほとんどの管理アクションにrootシステム権限が必要です。rootとしてログインしていない場合は、アプライアンスでほとんどのアクションを実行できません。たとえば、rootとしてログインしていない場合は、ストレージの情報を確認できますが、ストレージを変更できません。

管理ユーザーにroot権限を付与するには、suのかわりにSUDOを使用してください。SUDOを使用すると、システム管理者は、suとは異なり、rootパスワードを必要とせずにrootとしてコマンドを実行する権限を特定のユーザー(またはユーザー・グループ)に付与できます。また、セキュリティおよびコンプライアンス・プロトコルの一環として、すべてのコマンドおよび引数がログに記録されます。

SUDOセキュリティ・ポリシーを構成するには、ファイル/etc/sudoersを使用します。sudoersファイルの中でユーザー・グループやコマンド・セットを構成すると、SUDOコマンドを使用したサーバーの管理を簡素化して監査できます。

DCSスタックのSUDOセキュリティ・ポリシーの構成

DCSスタック(odacli)を使用するOracle Database ApplianceモデルにSUDOポリシーを実装するには、次の例を参考に使用してください。

SUDOポリシーは、システム監査とオペレーティング・システム上のスーパーユーザー(ルート)権限用のアクセス管理を行う上で役立ちます。

注意:

ユーザーが任意の操作を実行できるようにSUDOを構成することは、そのユーザーにroot権限を与えることに相当します。これがセキュリティのニーズに適しているかどうかを慎重に検討してください。

例2-1 SUDOの例1: ユーザーに対する、任意のODACLI操作の実行の許可

この例では、ユーザーが任意のODACLI操作を実行できるようにSUDOを構成する方法を示します。これを行うには、/etc/sudoersファイルのコマンドのセクションに数行追加します。

## The commands section may have other options added to it.
##
Cmnd_Alias ODACLI_CMDS=/opt/oracle/oak/bin/odacli *
jdoe ALL = ODACLI_CMDS

この例では、ユーザー名は jdoeです。ファイル・パラメータ設定ALL= ODACLI_CMDSは、コマンド別名ODACLI_CMDSで定義されたすべてのodacliコマンドの実行権限をユーザーjdoeに付与します。構成後、1つのsudoersファイルを複数のホストにコピーできます。また、ホストごとに異なるルールを作成することもできます。

ノート:

データベース作成の前に、各サーバーのrootユーザーにSSHのユーザー等価性を設定する必要があります。ユーザーの等価性を設定せずサーバーごとにSSHを構成すると、データベースの作成中、各サーバーのrootパスワードを指定するよう求めるプロンプトが表示されます。

ユーザーのsudoerファイルを構成した後、ユーザーjdoeは、コマンド別名ODACLI_CMDSで構成された一連のodacliコマンドを実行できます。たとえば:

$ sudo odacli create database -db newdb

例2-2 SUDOの例2: ユーザーに対する、選択したODACLI操作のみの実行の許可

ユーザーが選択されたODACLI操作のみを実行できるようにSUDOを構成するには、/etc/sudoersファイルのコマンド・セクションに、次のように行を追加します。

## DCS commands for oracle user 
Cmnd_Alias DCSCMDS = /opt/oracle/dcs/bin/odacli describe-appliance
oracle  ALL=       DCSCMDS
$ sudo /opt/oracle/dcs/bin/odacli describe-appliance

Appliance Information
----------------------------------------------------------------
                     ID: a977bb04-6cf0-4c07-8e0c-91a8c7e7ebb8
               Platform: 
        Data Disk Count: 6
         CPU Core Count: 20
                Created: June 24, 2022 6:51:52 AM HDT

System Information
----------------------------------------------------------------
                   Name: odal001
            Domain Name: example.com
              Time Zone: America/Adak
             DB Edition: EE
            DNS Servers: 10.200.76.198 10.200.76.199 192.0.2.254
            NTP Servers: 10.200.0.1 10.200.0.2

Disk Group Information
----------------------------------------------------------------
DG Name                   Redundancy                Percentage
------------------------- ------------------------- ------------
Data                      Normal                    90
Reco                      Normal                    10

この例では、ユーザーjdoe2sudo odacli list-databasesコマンドを実行しようとしていますが、これはそのユーザーに対して構成したコマンド・セットの中にありません。SUDOにより、jdoe2はそのコマンドを実行できません。

[jdoe2@servernode1 ~]$ sudo /opt/oracle/dcs/bin/odacli list-databases

Sorry, user jdoe2 is not allowed to execute '/opt/oracle/dcs/bin/odacli list-databases' as root on servernode1.

暗号化サービスの使用

暗号化サービスは、保存済、送信中および使用中の情報を保護するのに役立ちます。

暗号化および復号化から、デジタル・フィンガープリントおよび証明書検証まで、暗号化はIT組織で最も広く採用されているセキュリティ制御です。

Oracle Database Applianceは、可能な場合は常に、ハードウェア・プロセッサによって提供される暗号化エンジンを使用します。暗号化処理にハードウェアを使用することで、ソフトウェアで処理を実行する場合に比べてパフォーマンスが大幅に向上します。

ネットワーク暗号化サービスは、暗号によって保護されたプロトコルを使用して、通信の機密性と整合性を保護します。たとえば、セキュア・シェル(SSH)アクセスでは、システムおよびOracle Integrated Lights Out Manager (Oracle ILOM)へのセキュアな管理アクセスが提供されます。TLSは、アプリケーションと他のサービスとの間のセキュアな通信を可能にします。

Oracle Advanced Securityからデータベース暗号化サービスを使用できます。Oracle Advanced Securityは、透過的データ暗号化(TDE)機能を使用してデータベース内の情報を暗号化します。TDEはアプリケーション表領域の暗号化と、表内の個々の列の暗号化をサポートします。一時表領域に格納されたデータと、REDOログも暗号化されます。データベースがバックアップされるとき、格納先メディアでもデータは暗号化されたままです。これによって、物理的な格納場所に関係なく保存済データが保護されます。表領域レベルまたは列レベルでの、保存済データベース・コンテンツの機密性、データベース暗号化を必要とする組織は、Oracle Advanced Securityの利用を検討してください。

また、Oracle Advanced Securityは、ネイティブの暗号化またはTLSを使用してネットワーク上で送信中の情報を保護することで、Oracle Net ServicesおよびJDBCトラフィックを暗号化します。管理接続とアプリケーション接続の両方を保護して、送信中のデータを確実に保護できます。TLS実装では、X.509証明書を使用したサーバーのみの認証およびX.509を使用した相互(クライアント/サーバー)認証など、認証方法の標準セットがサポートされています。

Oracle Database Applianceでのデータベースの監視および監査

Oracle Database Applianceには、Oracle Database Fine Grained Auditing (FGA)、Oracle Audit VaultおよびOracle Database Firewall Remote Monitorがあり、これらにより包括的な監視および監査機能が提供されます。

コンプライアンス・レポートとインシデント対応のいずれについても、監視および監査は、IT環境の可視性を向上するために必要な重要な機能です。導入する監視および監査の程度は、一般的に、環境のリスクまたは重要性に基づいて決まります。Oracle Database Applianceは、サーバー、ネットワーク、データベースおよびストレージの各レイヤーで包括的な監視および監査の機能を提供し、その情報によって組織の監査およびコンプライアンスの要件をサポートできるように設計されています。

Oracle Database Fine Grained Auditing (FGA)は、監査オーバーヘッドを削減し、個別のテーブルや行のレベルで監査記録を作成するのに役立ちます。FGAによって、組織は、監査レコードが生成されるタイミングを選択的に決定するポリシーを設定できます。これは、組織が他のデータベース活動に集中し、監査アクティビティに関連するオーバーヘッドを削減するのに役立ちます。

Oracle Audit Vaultは、データベース監査設定を集中管理して、監査データのセキュアなリポジトリへの統合を自動化します。Oracle Audit Vaultには、特権ユーザーのアクティビティやデータベース構造への変更を含む、幅広いアクティビティを監視するための組込みのレポート機能があります。Oracle Audit Vaultによって生成されたレポートは、様々なアプリケーションおよび管理データベースのアクティビティへの可視性を実現し、アクションのアカウンタビリティをサポートする詳細情報を提供します。

Oracle Audit Vaultによって、不正なアクセスの試みまたはシステム権限の悪用を示している可能性のあるアクティビティのプロアクティブな検出とアラートが可能になります。アラートには、特権ユーザー・アカウントの作成、機密情報を含む表の変更など、システム定義とユーザー定義の両方のイベントおよび条件を含めることができます。

Oracle Database Firewallのリモート・モニターは、リアルタイムのデータベース・セキュリティ監視を提供できます。Oracle Database Firewallリモート・モニターはデータベース接続の問合せを実行して、アプリケーション・バイパス、認可されていないアクティビティ、SQLインジェクション、その他の脅威などの悪意のあるトラフィックを検出します。Oracle Database Firewallは、SQL構文ベースの精度の高いアプローチで、組織が不審なデータベース・アクティビティを迅速に検出できるように支援します。

Oracle Database ApplianceでのFIPS 140-2コンプライアンスについて

Oracle Database ApplianceでFIPS 140-2を実装する方法を理解します。

Oracle Database Applianceリリース19.11以降、ベア・メタルおよびKVMデータベース・システムで実行されているOracle Database Applianceで使用されるLinuxカーネルは、米国連邦情報処理規格140-2 (FIPS 140-2) レベル1に準拠しています。FIPS標準に従って、セキュア・シェル(SSH)が使用するアルゴリズムはFIPS標準で許可されているものに限定されています。FIPS 140-2は、新しくプロビジョニングされたシステムとパッチが適用されたシステムの両方でサポートされます。システムが更新されるとFIPSサポートが自動的に有効になります。ユーザーが介入する必要はありません。

Oracle Database ApplianceでのSTIGコンプライアンスのチェック

Oracle Database Applianceがセキュリティ技術導入ガイドライン(STIG)に準拠しているかどうかをチェックする方法を理解します。

国防情報システム局(DISA)は、ソフトウェア、ハードウェアおよびシステム・コンポーネントのデプロイメントと管理にセキュリティ技術導入ガイドライン(STIG)をお薦めしています(場合によっては必須)。STIG標準の詳細は、https://public.cyber.mil/stigs/downloads/を参照してください。

Oracle Database ApplianceはOracle Linux 7セキュリティ・スクリプト(OLSS)のサポートを提供し、DISA Oracle Linux 7STIGの文書化と連携を支援します。OLSSを使用すると、STIG標準の既存の環境を検証し、DISA標準に設定されていないSTIG設定からシステムを保護できます。

Oracle Database Applianceは、STIGスクリプトをディレクトリ/opt/oracle/dcs/stig内のOracle Database Appliance製品にバンドルします。

OLSSには2つの操作モード(検証と保護)があります。OLSSを実行すると、情報が画面に表示され、ログ・ファイルにも保存されます。検証モードでは、スクリプトはシステムの現在のコンプライアンス・ステータスを確認しますが、設定は変更しません。セキュア・モードでは、スクリプトはシステムの現在のコンプライアンス・ステータスを調査し、設定またはコンプライアンスが適切でない場合にシステムを変更したり、アイテムに「手動」のフラグを付けます。これにより、管理者は変更を加えることができます。

STIGコマンドの実行

STIGスクリプトを実行するステップは、次のとおりです。

  1. ルート・ユーザーとしてログインします。
  2. /opt/oracle/dcs/stigディレクトリからコマンドを実行します。
    [root@oda1 stig]# ./RunSTIG

サマリーと詳細ログは、/opt/oracle/dcs/stig/04_Logsディレクトリにあります。STIGコマンドをセキュア・モードまたは検証モードで実行すると、ログ・ファイルはそれぞれSTIG.Secure.timestampまたはSTIG.Verify.timestampになります。

STIGコマンドをセキュア・モードで実行した場合のログの例を次に示します。ログには、スクリプトの実行順序、ユーザーの入力、ルールの説明、システムで確認された内容、および実行された変更が含まれます。

The file has description of whether a rule PASSED/Manual/FAILED : file name is : Summary.Secure.08_06_2021_05:21 
===========================================================
Tests run: 252: CAT1 = 27, CAT2 = 213, CAT3 = 12
CAT1     results: Pass: 24      Fail: 0         Manual: 3
         results: Pass: 88.88%  Fail: 0%        Manual: 11.11%
CAT2     results: Pass: 182     Fail: 3         Manual: 28
         results: Pass: 85.44%  Fail: 1.40%     Manual: 13.14%
CAT3     results: Pass: 6       Fail: 0         Manual: 6
         results: Pass: 50.00%  Fail: 0%        Manual: 50.00%
Total by results: Pass: 212     Fail: 3         Manual: 37 
Weighted results: Pass: 84.12%  Fail: 1.19%     Manual: 14.68% 
==========================================================
STIGのセキュア・モードと検証モードの両方で、STIGルールの重大度は次のように分類されます。
  • SEV1 - STIGルール重大度1
  • SEV2 - STIGルール重大度2
  • SEV3 - STIGルール重大度3
重大度に基づくSTIG準拠のルールを使用してOracle Database Applianceシステムを検証および保護するには、次のようにオプションを指定します。
  • オプション1 - SEV1 (重大度1)のSTIGルールの検証用
  • オプション2 - SEV2 (重大度2)のSTIGルールの検証用
  • オプション3 - SEV3 (重大度3)のSTIGルールの検証用
  • オプションA - すべての重大度のSTIGルールの検証用

検証モードとセキュア・モードでSTIGスクリプトを実行する例を次に示します。STIGコンプライアンスでOracle Database ApplianceシステムまたはKVM DBシステムを検証および保護するには、検証モードとセキュア・モードの両方でSTIGコマンドを実行するときに、オプション3を選択します。

例2-3 STIGスクリプトの検証モードでの実行

$ ./RunSTIG

Initializing tests.....

******** WARNING    WARNING    WARNING    WARNING    WARNING *********

                    Oracle Linux 7 Security Scripts The Oracle Linux Security Scripts (OLSS) are a tool designed to assist in creation and deployment of secured Oracle Linux 7 Operating Environment systems.
The OLSS is comprised of a set of scripts and directories.

DISCLAIMER OF WARRANTIES:  THE OLSS IS OFFERED  "AS IS" AND "WITH ALL FAULTS" AND WITHOUT WARRANTY OF ANY KIND WHATSOEVER. ORACLE DISCLAIMS, AND USERS OF THE OLSS WAIVE, ANY AND ALL EXPRESS OR IMPLIED WARRANTIES AND REPRESENTATIONS, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NONINFRINGEMENT.
THE OLSS IS TO BE USED AT YOUR OWN RISK.

NO LIABILITY:  IN NO EVENT SHALL ORACLE BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGE IN CONNECTION WITH OR ARISING OUT OF THE USE OF THE OLSS (INCLUDING, BUT NOT LIMITED TO, LOSS OF BUSINESS, REVENUE, PROFITS, USE, DATA, OR OTHER ECONOMIC ADVANTAGE) HOWEVER IT ARISES, WHETHER FOR BREACH OR IN TORT, EVEN IF ORACLE HAS BEEN PREVIOUSLY ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

I Have read and agree with the above Warning [y|n]: y

  **** Welcome to the Oracle Linux 7 STIG tool ****

This tool has two primary modes: Secure or Verify

Throughout this tool the answers in [] are the expected responses

Did you want to Secure or Verify? [Secure|Verify]:

**********************
When ‘Verify’ is chosen:
**********************
Did you want to Secure or Verify? [Secure|Verify]: Verify
Responded: Verify

Is "Verify" correct? (y/n): y
Responded: y

Oracle Linux 7 Security Scripts have 4 flavors:

1) SCAP             - The 177 DISA SCAP checks

2) Exadata or ZDLRA - The 177 DISA SCAP checks with the special
                       host_access_control command for them

3) ODA - All 252 STIG checks with ODA exceptions

4) Full - All 252 STIG checks

Did you want to run checks against [1|2|3|4]: 3
Responded: 3

Is "3" correct? (y/n): y
Responded: y
ODA set of STIG checks  will be run

Did you want to run checks against SEV1, SEV2, SEV3, All [1|2|3|A]:A
Responded: A

Is "A" correct? (y/n): y
Responded: y

   **** Beginning: Verify testing;  ****

例2-4 STIGスクリプトのセキュア・モードでの実行

セキュア・モードでは、STIG警告の重大度(SEV1 - STIGルール重大度1、SEV2 - STIGルール重大度2、SEV3 - STIGルール重大度3)が割り当てられます。

$ ./RunSTIG

**** Welcome to the Oracle Linux 7 STIG tool ****

This tool has two primary modes: Secure or Verify

Throughout this tool the answers in [] are the expected responses

Did you want to Secure or Verify? [Secure|Verify]: Secure
Responded: Secure

Is "Secure" correct? (y/n): y
******** WARNING    WARNING    WARNING    WARNING    WARNING *********

   When running this tool to Secure the system, the tool will modify
   the running system - BE SURE to quiet the system during this time
   by shutting down all apps (web servers, databases, etc) first.

   If required, exit this program with a Control-c

   Reversing any of the changes made by the tool is completed manually
   by reading the contents of the log files that should show exactly
   what was changed and undoing the change.

******** WARNING    WARNING    WARNING    WARNING    WARNING *********


Oracle Linux 7 Security Scripts have 4 flavors:

1) SCAP             - The 177 DISA SCAP checks

2) Exadata or ZDLRA - The 177 DISA SCAP checks with the special
                       host_access_control command for them

3) ODA - All 252 STIG checks with ODA exceptions

4) Full - All 252 STIG checks

Did you want to run checks against [1|2|3|4]: 3
Responded: 3

Is "3" correct? (y/n): y
Responded: y
ODA set of STIG checks  will be run

Did you want to run checks against [1|2|3|4]: 3
Responded: 3

Is "3" correct? (y/n): y
Responded: y
ODA set of STIG checks  will be run

Did you want to run checks against SEV1, SEV2, SEV3, All [1|2|3|A]: A
Responded: A

Is "A" correct? (y/n): y
Responded: y

   **** Beginning: Secure testing;  ****

例2-5 ログの場所

/opt/oracle/dcs/stig/ディレクトリ内のファイルのリストを次に示します。

[root@oda1 stig]# ls -la
total 128
drwx------.  8 3878  900  4096 Aug  4 11:55 .
drwxr-xr-x. 22 root root  4096 Aug  4 20:00 ..
drwx------.  2 3878  900  4096 Jul 27 13:24 01_Sev1 
drwx------.  2 3878  900 12288 Jul 27 13:24 02_Sev2 
drwx------.  2 3878  900  4096 Jul 27 13:24 03_Sev3 
drwx------.  2 3878  900  4096 Aug  3 10:25 04_Logs 
-rwx------.  1 3878  900 19716 Jul 27 13:24 .auto_answer 
-rwx------.  1 3878  900  9288 Jul 27 13:24 .Change_log 
-rwx------.  1 3878  900 16745 Jul 27 13:24 .control_01 
drwx------.  2 3878  900  4096 Jul 27 13:24 .files 
drwx------.  2 3878  900  4096 Jul 27 13:24 .messages 
-rwx------.  1 3878  900 13169 Jul 27 13:24 README 
-rwx------.  1 3878  900 19871 Jul 27 13:24 RunSTIG

例2-6 SecureおよびVerifyログのサマリー

secure、verify、および対応するサマリー・ファイル名のファイル名を次に示します。Summary.Secure.timestampファイルには、強化後のコンプライアンスのステータスが示されます。Summary.Verify.timestampファイルには、強化前のコンプライアンスのステータスが示されます。

[root@oda1 stig]# pwd
/opt/oracle/dcs/stig/04_Logs
[root@scaoda813c1n2 04_Logs]# ls -la
total 48
drwx------. 2 3878 900 4096 Aug 31 07:47 .
drwx------. 9 3878 900 4096 Aug 31 07:47 ..
-rw------- 1 root root 14716 Aug 31 07:47 STIG.Secure.08_31_2021_07:47
-rw------- 1 root root 12884 Aug 31 07:47 STIG.Verify.08_31_2021_07:46
-rw------- 1 root root 1186 Aug 31 07:47 Summary.Secure.08_31_2021_07:47
-rw------- 1 root root 1186 Aug 31 07:47 Summary.Verify.08_31_2021_07:47

Oracle Database ApplianceでのCISベンチマークの有効化について

Oracle Database ApplianceのCenter for Internet Security (CIS)ベンチマークを有効化する方法について理解します。

CIS (Center for Internet Security)ベンチマークは、ターゲット・システムのセキュアな構成に対するベスト・プラクティスです。これらは、政府、企業、業界および学界によって開発され、受け入れられているコンセンサスベースのベスト・プラクティスのセキュリティ構成ガイドです。CISベンチマークは、https://learn.cisecurity.org/benchmarksからダウンロードできます。

Oracle Database Applianceでは、CISスクリプトcis.pyがベア・メタル・プラットフォームと仮想化プラットフォームの両方の製品の/opt/oracle/oak/bin/ディレクトリにバンドルされています。

CISスクリプトの実行

次のステップに従ってCISスクリプトを実行します。

  1. ルート・ユーザーとしてログインします。
  2. opt/oracle/oak/binディレクトリからコマンドを実行します。
    # ./cis.py

    仮想化プラットフォームで、両方のノードのODA_BASEcis.pyを実行して、スクリプトが例外を修正できることを確認します。

表は、CISスクリプトのコマンド・オプションを示しています。

表2-1 Oracle Database ApplianceのCISオプション

コマンド・オプション 説明
-h Oracle Database Appliance CISスクリプトのコマンド・オプションを指定します
-v CISのバージョン情報を示します
enable-SSH システムでの直接ssh rootログインを有効にします
disable-SSH システムでの直接ssh rootログインを無効にします
check システムのOracle Database Appliance CIS違反をチェックしてリストします。check -hを使用して、checkオプションのすべてのパラメータを表示します。
fix システムで報告されたOracle Database Appliance CIS違反を修正します。fix -hを使用して、fixオプションのすべてのパラメータを表示します。

表は、CISスクリプトのcheckオプションのパラメータを示しています。

表2-2 Oracle Database Appliance CISスクリプトのcheckオプションのパラメータ

コマンド・オプション 説明
-h checkオプションのヘルプを提供します。
all システム上のすべてのコンポーネントのセキュリティ脆弱性をテストし、レポートします
perm すべての権限チェックのセキュリティ脆弱性をテストし、レポートします
conf すべての構成パラメータの分類チェックのセキュリティ脆弱性をテストし、レポートします
audit すべての監査の分類チェックのセキュリティ脆弱性をテストし、レポートします
account すべてのアカウントの分類チェックのセキュリティ脆弱性をテストし、レポートします
fs すべてのファイル・システムの分類チェックのセキュリティ脆弱性をテストし、レポートします
grub grubパスワード・チェックの有効化/無効化に関するセキュリティ脆弱性をテストし、レポートします
access アクセス分類チェックのセキュリティ脆弱性をテストし、レポートします

表は、CISスクリプトのfixオプションのパラメータを示しています。

表2-3 Oracle Database Appliance CISスクリプトのfixオプションのパラメータ

コマンド・オプション 説明
-h fixオプションのヘルプを提供します。
all システム上のすべてのコンポーネントのセキュリティ脆弱性を修正し、レポートします
perm 権限の分類チェックのセキュリティ脆弱性を修正し、レポートします
conf すべてのシステム構成の分類チェックのセキュリティ脆弱性を修正し、レポートします
audit すべてのシステム監査の分類チェックのセキュリティ脆弱性を修正し、レポートします
account すべてのシステム・アカウントの分類チェックのセキュリティ脆弱性を修正し、レポートします
fs すべてのシステム・ファイル・システムの分類チェックのセキュリティ脆弱性を修正し、レポートします
grub grubパスワードの有効化/無効化に関するすべてのシステムのセキュリティ脆弱性を修正してレポートし、CISの推奨事項に準拠します
access すべてのシステム・アクセスの分類チェックのセキュリティ脆弱性を修正し、レポートします
rollback システム・ファイルをシステム・イメージ状態(CIS変更なし)にします。このオプションは、fixオプションでのみ実行します。
restore_prev システム・ファイルを以前のセキュリティ脆弱性修正前の状態にします。このオプションは、fixオプションでのみ実行します。

CISチェックのロギング

CISチェックおよび修正のログは、ディレクトリ/opt/oracle/oak/log/oda_1/cis/check_time_stamp.logに格納されます。ログ・ファイルは、check、fix、enableおよびdisableコマンドを実行するたびに作成され、各ログ・ファイルにタイムスタンプが付加されます。

CISスクリプトの実行例

例2-7 CISベンチマークのコンプライアンスのチェック

# ./cis.py check 

例2-8 CISの変更の実装

# ./cis.py fix 

失敗したCISベンチマークの修正

CISベンチマークの実装には、システム管理者の支援が必要になる場合があります。これらのCISベンチマークのステータスは、fixオプションを指定してCISスクリプトを実行するとFailedになります。

たとえば:
[CIS_ID : 4.2.1.4] The rsyslog file is not configured for remote log check,  please contact system administrtor

[CIS_ID : 4.2.3] syslog-ng is not configured, please check with system administrator

セキュアな管理のためのOracle ILOMの使用

Oracle Integrated Lights-Out Management (Oracle ILOM)では、帯域外の全域管理が可能となり、Oracle Database Applianceのリモート管理機能が提供されています。

IPMI v2.0、セキュリティ制御とセキュリティ機能のコレクションは、個々のアプリケーションおよびサービスを適切に保護するために必要です。デプロイ済のサービスおよびシステムのセキュリティを維持するために、包括的な管理機能を持つことも同様に重要です。Oracle Database Applianceは、Oracle ILOMのセキュリティ管理機能を利用します。

Oracle ILOMは、アウトオブバンド管理アクティビティを実行する多くのOracle Database Applianceコンポーネントに組み込まれているサービス・プロセッサです。Oracle ILOMには、次の機能があります。

  • データベース・サーバーおよびストレージ・サーバーのセキュアなLights-Out Managementを実行するための、セキュアなアクセス。アクセスには、Transport Layer Security (TLS)で保護されたWebベースのアクセス、セキュア・シェルを使用したコマンドライン・アクセスおよびSNMPv3プロトコルが含まれます。

  • ロール・ベースのアクセス制御モデルを使用した職務の分離の要件。個々のユーザーには、実行できる機能を制限するために特定のロールが割り当てられます。

  • すべてのログインおよび構成変更の監査レコード。各監査ログ・エントリは、アクションを実行したユーザーとタイムスタンプをリストします。これによって、組織は、認可されていないアクティビティまたは変更を検出し、それらのアクションを起こしたユーザーを特定できます。