23 CISコンプライアンス標準

この項では、Enterprise Manager Cloud ControlのCenter for Internet Security (CIS)のベンチマークを使用する方法について説明します。CISベンチマークは、コンセンサス・ベースであり、行政、企業、業界および学界によって開発されて受入れられたベストプラクティスのセキュリティ構成ガイドです。

CISコンプライアンス標準について

Enterprise Managerでは、コンプライアンス標準の形式で実装がサポートされます。これらの標準は、従来の監査または統合監査を使用するCISプロファイルで構成されます。

CIS規格は、自己更新で即時に更新できます。詳細は、「コンプライアンス標準の自己更新」を参照してください。

現在使用可能なCISベースのコンプライアンス標準は、次のとおりです。

ノート:

表23-1 Oracle Database 19cのCIS標準

Oracle Database 19cのCISバージョン Enterprise Managerで使用できるCIS標準
CIS Oracle Database 19cベンチマークV1.2.0
  • Oracle 19c Database CIS V1.2.0 - レベル1 - Oracle Database用の従来型監査を使用したRDBMS
  • Oracle 19c Database CIS V1.2.0 - レベル1 - Oracleプラガブル・データベース用の従来型監査を使用したRDBMS
  • Oracle 19c Database CIS V1.2.0 - レベル1 - Oracle Cluster Database用の従来型監査を使用したRDBMS
  • Oracle 19c Database CIS V1.2.0 - レベル1 - Oracle Database用の統合監査を使用したRDBMS
  • Oracle 19c Database CIS V1.2.0 - レベル1 - Oracleプラガブル・データベース用の統合監査を使用したRDBMS
  • Oracle 19c Database CIS V1.2.0 - レベル1 - Oracle Cluster Database用の統合監査を使用したRDBMS
CIS Oracle Database 19cベンチマークV1.1.0
  • Oracle 19c Database CIS V1.1.0 - レベル1 - Oracle Database用の従来型監査を使用したRDBMS
  • Oracle 19c Database CIS V1.1.0 - レベル1 - Oracleプラガブル・データベース用の従来型監査を使用したRDBMS
  • Oracle 19c Database CIS V1.1.0 - レベル1 - Oracle Cluster Database用の従来型監査を使用したRDBMS
  • Oracle 19c Database CIS V1.1.0 - レベル1 - Oracle Database用の統合監査を使用したRDBMS
  • Oracle 19c Database CIS V1.1.0 - レベル1 - Oracleプラガブル・データベース用の統合監査を使用したRDBMS
  • Oracle 19c Database CIS V1.1.0 - レベル1 - Oracle Cluster Database用の統合監査を使用したRDBMS
CIS Oracle Database 19cベンチマークV1.0.0
  • Oracle 19c Database CIS V1.0.0 - レベル1 - Oracle Database用の従来型監査を使用したRDBMS
  • Oracle 19c Database CIS V1.0.0 - レベル1 - Oracleプラガブル・データベース用の従来型監査を使用したRDBMS
  • Oracle 19c Database CIS V1.0.0 - レベル1 - Oracle Cluster Database用の従来型監査を使用したRDBMS
  • Oracle 19c Database CIS V1.0.0 - レベル1 - Oracle Database用の統合監査を使用したRDBMS
  • Oracle 19c Database CIS V1.0.0 - レベル1 - Oracleプラガブル・データベース用の統合監査を使用したRDBMS
  • Oracle 19c Database CIS V1.0.0 - レベル1 - Oracle Cluster Database用の統合監査を使用したRDBMS

表23-2 Oracle Database 12cのCIS標準

Oracle Database 12cのCISバージョン Enterprise Managerで使用できるCIS標準
CIS Oracle Database 12cベンチマークV2.1.0
  • Oracle 12c Database CIS v2.1.0 - レベル1 - Oracle Database 12c用の従来型監査を使用したRDBMS
  • Oracle 12c Database CIS v2.1.0 - レベル1 - Oracle Cluster Database 12c用の従来型監査を使用したRDBMS
  • Oracle 12c Database CIS v2.1.0 - レベル1 - Oracle Database 12c用の統合監査を使用したRDBMS
  • Oracle 12c Database CIS v2.1.0 - レベル1 - Oracle Cluster Database 12c用の統合監査を使用したRDBMS
CIS Oracle Database 12cベンチマークV3.0.0
  • CIS v3.0.0 - レベル1 - 単一インスタンスOracle Database 12cの従来の監査
  • CIS v3.0.0 - レベル1 - プラガブル・インスタンスOracle Database 12cの従来の監査
  • CIS v3.0.0 - レベル1 - RAC Oracle Database 12cの従来の監査
  • CIS v3.0.0 - レベル1 - 単一インスタンスOracle Database 12cの統合監査
  • CIS v3.0.0 - レベル1 - プラガブル・インスタンスOracle Database 12cの統合監査
  • CIS v3.0.0 - レベル1 - RAC Oracle Database 12cの統合監査

CISコンプライアンス標準ターゲットの関連付け

ターゲットをCISコンプライアンス標準に関連付けて、ターゲットがCISコンプライアンス標準に準拠しているかどうかを判別します。

  1. 「エンタープライズ」メニューから「コンプライアンス」を選択し、「ライブラリ」を選択します。
  2. 「コンプライアンス標準」タブを選択して、CIS標準を選択します。
  3. Oracle DatabaseまたはRACを選択し、ターゲットの関連付けをクリックします。
  4. 「追加」をクリックして、監視するターゲットを選択します。セレクタ・ダイアログを閉じると表にターゲットが表示されます。
  5. 「OK」をクリックしてからアソシエーションを保存するか確認します。アソシエーションは、必要な構成拡張を適切な管理エージェントに内部的にデプロイします。
  6. デプロイメント後に構成収集が発生すると、結果を表示できます。「エンタープライズ」メニューから「コンプライアンス」「ダッシュボード」または「結果」の順に選択します。

Oracle Databaseのインストールおよびパッチ適用の要件

セキュアなOracleセキュリティを確保する最善の方法の1つは、クリティカル・パッチ・アップデート(CPU)をリリース時に実装し、システムの稼働を妨げない適切なOSパッチを実装することです。また、本番環境からOracleサンプル・データを削除することをお薦めします。

すべてのデフォルト・パスワードが変更されていること(スコア対象)

Oracleデータベース・ユーザーがデフォルト・パスワードを使用しないようにします。

是正

この推奨事項を是正するには、次のいずれかの処置を実行します。

  • 監査プロシージャで返された各ユーザー名について、次のSQL文を手動で発行します。
    PASSWORD <username>
  • 次のSQLスクリプトを実行して、デフォルト・パスワードを使用している各アカウントにランダムに生成されたパスワードを割り当てます。
    begin
        for r_user in
            (select username from dba_users_with_defpwd where username not like '%XS$NULL%')
        loop
            DBMS_OUTPUT.PUT_LINE('Password for user '||r_user.username||' will be changed.');
            execute immediate 'alter user "'||r_user.username||'" identified by "'||DBMS_RANDOM.string('a',16)||'"account lock password expire';
        end loop;
    end;

すべてのサンプル・データおよびユーザーが削除されていること(スコア対象)

Oracleのサンプル・スキーマを使用すると、表と架空のデータに加えて、一般に知られているデフォルト・パスワード、特定のビュー、プロシージャ/ファンクションを持つサンプル・ユーザー(BI、HR、IX、OE、PM、SCOTT、SH)を作成できます。サンプル・スキーマは削除する必要があります。

是正

この設定を是正するには、次のSQLスクリプトを実行します。

$ORACLE_HOME/demo/schema/drop_sch.sql

その後、次のSQL文を実行します。

DROP USER SCOTT CASCADE;

ノート:

ゴミ箱は、デフォルトの削除スクリプト内でオフに設定されていません。これは、ゴミ箱が空になるまで、使用している環境内にデータがまだ存在することを意味します。

影響

Oracleのサンプル・ユーザー名が、本番環境で使用されている場合があります。削除のSQLスクリプトを実行する前に、BI、HR、IX、OE、PM、SCOTTまたはSHが有効な本番ユーザー名ではないことをまず確認することが重要です。これは、特にHRユーザーおよびBIユーザーにあてはまる場合があります。これらのユーザーが存在する場合、注意が必要であり、存在するスキーマが実際にはOracleサンプル・スキーマであり、ビジネスの運用で信頼されている本番スキーマではないことを確認することが重要です。

Oracleのパラメータの設定

Oracleデータベース・インスタンスの運用は、特定の構成ファイルに設定されていて、範囲がインスタンス固有である数多くのパラメータによって管理されています。これらのパラメータを変更すると、サービス拒否から機密情報の盗難まで、様々な問題の原因になる可能性があるため、これらの構成は慎重に検討して維持する必要があります。

ノート:

OSまたはSQL (あるいはその両方)のコマンド/スクリプトを使用して変更できるパラメータを持つすべてのファイルについては、必要に応じてそれらの両方がリストされます。

リスナーの設定

この項では、TNSリスナーのlistener.oraファイルの設定に関する推奨事項を定義します。

listener.oraにSECURE_CONTROL_が設定されていること(スコア対象)

SECURE_CONTROL_<listener_name>設定は、Oracleサーバーがリスナーのリモート構成を行う場合に必要となる制御接続のタイプを指定します。

是正

この推奨事項を是正するには、次のようにします。

listener.oraファイルに定義されている各リスナーにSECURE_CONTROL_<listener_name>を設定します。

listener.oraにextprocが存在しないこと(スコア対象)

OracleインスタンスがOSライブラリを呼び出せるリスクを軽減するために、listener.oraからextprocを削除する必要があります。

是正

この推奨事項を是正するには、次のようにします。

listener.oraファイルからextprocを削除します。

ADMIN_RESTRICTIONS_にONが設定されていること(スコア対象)

listener.oraファイルが手動で変更されて特権ユーザーによって再起動されている場合を除き、listener.oraファイルのadmin_restrictions_<listener_name>の設定では、setコマンド・ファイルによってlistenerのパラメータをリアルタイムで変更する試行を拒否できます。

是正

この推奨事項を是正するには、次のようにします。

viなどのテキスト・エディタを使用して、admin_restrictions_<listener_name>に値ONを設定します。

SECURE_REGISTER_にTCPSまたはIPCが設定されていること(スコア対象)

SECURE_REGISTER_<listener_name>の設定は、TNSリスナーに接続するために使用されるプロトコルを指定します。各設定の値は、プロトコルの必要性に基づいて、TCPSまたはIPCのいずれかにする必要があります。

是正

この推奨事項を是正するには、次のようにします。

viなどのテキスト・エディタを使用して、$ORACLE_HOME/network/admin/listener.oraにある各リスナーにSECURE_REGISTER_<listener_name>=TCPSまたはSECURE_REGISTER_<listener_name>=IPCを設定します。

データベースの設定

この項では、データベース・インスタンスの一般的なセキュリティ構成を対象とする推奨事項を定義します。推奨事項によって、監査の有効化、リスナーの適切な制限、および認証の適切な構成が確実に行われます。

ノート:

是正の手順では、サーバーの初期化パラメータを格納する方法として多くの場合に適しているサーバー・パラメータ・ファイルの使用を想定しています。

ご使用の環境では、SCOPE = SPFILEディレクティブを削除するか、SCOPE = BOTHに置換することが、推奨事項に応じて望ましい場合があります。

AUDIT_SYS_OPERATIONSにTRUEが設定されていること(スコア対象)

AUDIT_SYS_OPERATIONS設定を使用すると、SYSOPERおよびSYSDBAアカウントで実行されたすべてのユーザー・アクティビティを監査できます。この監査を有効にするには、この設定にTRUEを設定する必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET AUDIT_SYS_OPERATIONS = TRUE SCOPE=SPFILE;
AUDIT_TRAILにDB、XML、OS、DB,EXTENDEDまたはXML,EXTENDEDが設定されていること(スコア対象)

audit_trail設定は、Oracleの基本監査機能を有効にするかどうかを指定します。Operating System (OS)、DB、DB,EXTENDED、XMLまたはXML,EXTENDEDを設定できます。この値は、組織のニーズに応じて設定する必要があります。

是正

この設定を是正するには、次のいずれかのSQL文を実行します。

ALTER SYSTEM SET AUDIT_TRAIL = DB, EXTENDED SCOPE = SPFILE;
ALTER SYSTEM SET AUDIT_TRAIL = OS SCOPE = SPFILE;
ALTER SYSTEM SET AUDIT_TRAIL = XML, EXTENDED SCOPE = SPFILE;
ALTER SYSTEM SET AUDIT_TRAIL = DB SCOPE = SPFILE;
ALTER SYSTEM SET AUDIT_TRAIL = XML SCOPE = SPFILE;
GLOBAL_NAMESにTRUEが設定されていること(スコア対象)

global_names設定を使用すると、データベース・リンクの名前が接続先のリモート・データベースの名前と一致していることを要求できます。この設定の値は、TRUEである必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET GLOBAL_NAMES = TRUE SCOPE = SPFILE;
O7_DICTIONARY_ACCESSIBILITYにFALSEが設定されていること(スコア対象)

O7_dictionary_accessibility設定は、ANY権限(SELECT ANY TABLE、DELETE ANY TABLE、EXECUTE ANY PROCEDUREなど)を使用したオブジェクトへのアクセスを許可または禁止するデータベース初期化パラメータです。この機能は、Oracle 7データベースから以降のバージョンへの移行を容易にするために作成されました。この設定の値は、FALSEである必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET O7_DICTIONARY_ACCESSIBILITY=FALSE SCOPE = SPFILE;

ノート:

この設定の「O7」は、「O(オー)7」で、「0(ゼロ)7」ではありません。また、バージョン11.5.9までのOracle Applicationsの場合、この設定は逆になります。正しい操作のためには、O7_dictionary_accessibility=TRUE値にする必要があります。
OS_ROLESにFALSEが設定されていること(スコア対象)

os_roles設定を使用すると、外部で作成されたグループをデータベース管理に適用できます。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET OS_ROLES = FALSE SCOPE = SPFILE;
REMOTE_LISTENERが空であること(スコア対象)

remote_listener設定は、データベース・インスタンスとは別のシステムに有効なリスナーを作成できるかどうかを指定します。組織が別のシステムに有効なリスナーを必要としていない場合は、この設定を空にする必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET REMOTE_LISTENER = '' SCOPE = SPFILE;

ノート:

remote_listener=trueを設定すると、アドレス/アドレス・リストはTNSNAMES.ORAファイルから取得されます。
REMOTE_LOGIN_PASSWORDFILEにNONEが設定されていること(スコア対象)

remote_login_passwordfile設定は、ログイン時にOracleでパスワード・ファイルをチェックするかどうか、およびパスワード・ファイルを使用できるデータベースの数を指定します。この設定の値は、NONEである必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE = 'NONE' SCOPE = SPFILE;
REMOTE_OS_AUTHENTにFALSEが設定されていること(スコア対象)

remote_os_authent設定は、付随的な権限を持つOSロールでリモート・クライアント接続を行うことを許可するかどうかを指定します。この設定の値は、FALSEである必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET REMOTE_OS_AUTHENT = FALSE SCOPE = SPFILE;
REMOTE_OS_ROLESにFALSEが設定されていること(スコア対象)

remote_os_roles設定を使用すると、リモート・ユーザーのOSロールをデータベース管理に適用できます。この設定の値は、FALSEである必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET REMOTE_OS_ROLES = FALSE SCOPE = SPFILE;
UTL_FILE_DIRが空であること(スコア対象)

utl_file_dir設定を使用すると、utl_file_dirに指定されたファイルへのアクセス(読取り/書込み/変更/削除)をパッケージ(utl_fileなど)に許可できます。この設定の値は空である必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET UTL_FILE_DIR = '' SCOPE = SPFILE;
SEC_CASE_SENSITIVE_LOGONにTRUEが設定されていること(スコア対象)

SEC_CASE_SENSITIVE_LOGON情報は、ログイン時にパスワードの大/小文字を区別する必要があるかどうかを指定します。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = TRUE SCOPE = SPFILE;
SEC_MAX_FAILED_LOGIN_ATTEMPTSが3以下であること(スコア対象)

SEC_MAX_FAILED_LOGIN_ATTEMPTSパラメータは、Oracleによってログイン接続が閉じられるまでに許されるログイン試行の失敗回数を指定します。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET SEC_MAX_FAILED_LOGIN_ATTEMPTS = 3 SCOPE = SPFILE;
SEC_PROTOCOL_ERROR_FURTHER_ACTIONにDROP,3が設定されていること(スコア対象)

SEC_PROTOCOL_ERROR_FURTHER_ACTION設定は、クライアントから受信した不良または不正なパケットに対するOracleサーバーの応答を指定します。この設定の値はDROP,3である必要があり、これにより不良または不正なパケットを3つ受信すると接続が切断されます。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET SEC_PROTOCOL_ERROR_FURTHER_ACTION = 'DROP,3' SCOPE = SPFILE;
SEC_PROTOCOL_ERROR_TRACE_ACTIONにLOGが設定されていること(スコア対象)

SEC_PROTOCOL_ERROR_TRACE_ACTION設定では、ログ・ファイルにALERTLOGまたはTRACEレベルの詳細を生成することによって、クライアントから受信した不良または不正なパケットに対するOracleサーバーのロギング応答レベルを指定します。LOGでは必要な情報のログが記録されるため、異なる値を使用する特別な理由が組織にある場合を除き、この設定の値はLOGにする必要があります。この値にTRACEを設定すると、膨大なログ出力が生成されるため、デバッグの場合にのみ使用してください。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET SEC_PROTOCOL_ERROR_TRACE_ACTION=LOG SCOPE = SPFILE;
SEC_RETURN_SERVER_RELEASE_BANNERにFALSEが設定されていること(スコア対象)

パッチ/更新リリース番号に関する情報には、データベースで現在実行されている正確なパッチ/更新リリースに関する情報が含まれています。これは機密情報であり、リクエストすれば誰でも取得できるようにしないでください。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET SEC_RETURN_SERVER_RELEASE_BANNER = FALSE SCOPE = SPFILE;
SQL92_SECURITYにTRUEが設定されていること(スコア対象)

SQL92_SECURITYパラメータにTRUEを設定した場合は、WHEREまたはSET句を持つUPDATEまたはDELETE操作を表に対して実行する前に、ユーザーにSELECTオブジェクト権限も付与されている必要があります。この設定の値は、TRUEである必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET SQL92_SECURITY = TRUE SCOPE = SPFILE;
_trace_files_publicにFALSEが設定されていること(スコア対象)

_trace_files_public設定は、システムのトレース・ファイルを一般のユーザーに対して読取り可能にするかどうかを指定します。トレース・ファイルへのアクセスを制限するには、この設定の値をFALSEにする必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET "_trace_files_public" = FALSE SCOPE = SPFILE;
RESOURCE_LIMITにTRUEが設定されていること(スコア対象)

RESOURCE_LIMITは、リソース制限がデータベース・プロファイルで施行されるかどうかを判断します。この設定の値は、TRUEである必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER SYSTEM SET RESOURCE_LIMIT = TRUE SCOPE = SPFILE;

デフォルト値: FALSE

Oracle接続およびログインの制限

Oracleデータベースへのクライアント/ユーザー接続に対する制限では、アクセス・ルールを設定することによって、データおよびサービスへの不正なアクセスをブロックするために役立ちます。これらのセキュリティ対策は、パスワードの総当たり攻撃、またはソーシャル・エンジニアリングの巧妙な利用によって、簡単にログインさせないようにするために役立ちます。通常は、DEFAULTプロファイルのみを使用するのではなく、定義されているすべてのプロファイルに設定を適用することをお薦めします。以降で割り当てるすべての値は、推奨される最小値または最大値です。より制限の厳しい値を組織の裁量で適用するには、別のプロファイルを作成して別のユーザー・グループに割り当てます。

FAILED_LOGIN_ATTEMPTSが5以下であること(スコア対象)

FAILED_LOGIN_ATTEMPTS設定は、システムがユーザーのアカウントをロックするまでに許されるログイン試行の失敗回数を指定します。別のプロファイル(USERSAPPSなど)にはより厳しい別の値を設定することもできますが、DEFAULTプロファイルにはここで推奨する最小値を設定する必要があります。

是正

この設定を是正するには、監査プロシージャから返された各PROFILEに対して次のSQL文を実行します。

ALTER PROFILE <profile_name> LIMIT FAILED_LOGIN_ATTEMPTS 5;

ノート:

前述の設定に関する1つの大きな懸念は、この設定が利用され、ログイン試行の失敗の間の行ロックの遅延を使用してDDoS攻撃を受ける可能性があることです(Oracleバグ7715339 - ログオンの失敗による行キャッシュ・ロックの待機 – ログオン遅延の無効化[ID 7715339.8]を参照。この設定の構成はバグの回避策の使用によって異なります)。また、FAILED_LOGIN_ATTEMPTS値の設定はsqlnet.oraにも設定できますが、これはリストされているユーザーにのみ適用されます。DDoSをブロックするために使用される類似した設定であるSEC_MAX_FAILED_LOGIN_ATTEMPTS初期化パラメータを使用すると、不正な侵入者がアプリケーションのサーバー・プロセスを攻撃することから保護できますが、この設定では有効なユーザー名を使用した不正な試行を防ぐことができません。
PASSWORD_LOCK_TIMEが1以上であること(スコア対象)

PASSWORD_LOCK_TIME設定は、ログイン試行の失敗が設定された回数行われてから、ユーザーのアカウントがロック解除されるまでの日数を指定します。この設定に推奨される値は1日以上です。

是正

この設定を是正するには、監査プロシージャから返された各PROFILEに対して次のSQL文を実行します。

ALTER PROFILE <profile_name> LIMIT PASSWORD_LOCK_TIME 1;
PASSWORD_LIFE_TIMEが90以下であること(スコア対象)

PASSWORD_LIFE_TIME設定は、ユーザーがパスワードの変更を要求されるまでのパスワードを使用できる期間を指定します。この設定に推奨される値は90日以下です。

是正

この設定を是正するには、監査プロシージャから返された各PROFILEに対して次のSQL文を実行します。

ALTER PROFILE <profile_name> LIMIT PASSWORD_LIFE_TIME 90;
PASSWORD_REUSE_MAXが20以上であること(スコア対象)

PASSWORD_REUSE_MAX設定は、ユーザーが以前のパスワードを再利用できるようになるまでに使用する必要がある異なるパスワードの数を指定します。この設定に推奨される値は、20個以上のパスワードです。

是正

この設定を是正するには、監査プロシージャから返された各PROFILEに対して次のSQL文を実行します。

ALTER PROFILE <profile_name> LIMIT PASSWORD_REUSE_MAX 20;
PASSWORD_REUSE_TIMEが365以上であること(スコア対象)

PASSWORD_REUSE_TIME設定は、同じパスワードを再使用できるようになるまでの日数を指定します。この設定に推奨される値は365日以上です。

是正

この設定を是正するには、監査プロシージャから返された各PROFILEに対して次のSQL文を実行します。

ALTER PROFILE <profile_name> LIMIT PASSWORD_REUSE_TIME 365;
PASSWORD_GRACE_TIMEが5以下であること(スコア対象)

PASSWORD_GRACE_TIME設定は、ユーザーのパスワードが期限切れになってからユーザーのログイン機能が自動的にロックされるまでの日数を指定します。この設定に推奨される値は5日以下です。

是正

この設定を是正するには、監査プロシージャから返された各PROFILEに対して次のSQL文を実行します。

ALTER PROFILE <profile_name> LIMIT PASSWORD_GRACE_TIME 5;
どのユーザーにもDBA_USERS.PASSWORDにEXTERNALが設定されていないこと(スコア対象)

password='EXTERNAL'設定は、ユーザーをリモートOSで認証することによって、完全な認可でデータベースへのアクセスを許可できるかどうかを指定します。この設定は使用しないでください。

是正

この設定を是正するには、監査プロシージャから返された各PROFILEに対して次のSQL文を実行します。

ALTER USER <username> INDENTIFIED BY <password>;

ノート:

以前のバージョンのOracleのSQLで使用されていたPASSWORDキーワード(列)は、バージョン11.2以降で非推奨となり、DBA_USERS表の新しいAUTHENTICATION_TYPEキーワード(列)が使用されます。ただし、PASSWORD列は、下位互換性のために引き続き維持されます。
すべてのプロファイルに対してPASSWORD_VERIFY_FUNCTIONが設定されていること(スコア対象)

PASSWORD_VERIFY_FUNCTIONは、SQLコマンド・プロンプトでユーザー・パスワードが変更される場合のパスワード設定の要件を指定します。すべてのプロファイルに設定する必要があります。この設定は、Oracleパスワード・ファイルで管理されるユーザーには適用されません。

是正

組織のパスワード要件を満たすカスタム・パスワード検証機能を作成します。

SESSIONS_PER_USERが10以下であること(スコア対象)

SESSIONS_PER_USER設定は、同時にオープンできるユーザー・セッションの最大数を指定します。この設定に推奨される値は10以下です。

是正

この設定を是正するには、監査プロシージャから返された各プロファイルに対して次のSQL文を実行します。

ALTER PROFILE <profile_name> LIMIT SESSIONS_PER_USER 10;

ノート:

SESSIONS_PER_USERプロファイル管理機能は、リソースの使用が非常に高価である場合にリソース不足を防ぐために作成されました。現在のデータベース設計では、1人の「ユーザー」が特定のタイプのバッチ/顧客接続のすべての処理に使用される場合、このパラメータにより大きい制限値が必要となる可能性があるため、これは新しいユーザー・プロファイルを使用して対応する必要があります。

Oracleユーザーのアクセスおよび認可の制限

指定されたレベル(またはユーザーが認可したルール)でデータベース・リソースを使用する機能により、Oracleデータベースの様々な部分をユーザーが操作できます。これらの認可は、ユーザー機能、特にユーザーPUBLICの機能に制限を設定することによって、重要なデータおよびサービスの不正な使用または破損(あるいはその両方)をブロックするように構造化されている必要があります。そのようなセキュリティ対策は、ログインが成功しても簡単にリダイレクトできないようにするために役立ちます。

ノート:

PUBLICから権限を取り消す場合は注意が必要です。Oracleおよびサード・パーティ製品では、一般的に使用される関数、オブジェクトおよびビュー定義に対するデフォルトの権限がPUBLICに明示的に付与されている必要があります。PUBLICから権限を取り消したら、アプリケーションが引き続き正常に実行され、無効なデータベース・オブジェクトが再コンパイルされていることを確認します。すべてのオブジェクトを有効にするには、ユーザーおよびロールに特定の権限が必要になる場合があります。明示的な付与を必要とする依存関係の判断に使用できる詳細情報およびSQL文を提供する、Oracleサポート・ドキュメント(PUBLICに付与された権限を取り消す場合は注意が必要(Doc ID 247093.1))を参照してください。本番データベースを変更する前に、開発環境およびテスト環境でデータベースの変更を必ずテストしてください。
パッケージおよびオブジェクト・タイプに対するデフォルトのパブリック権限

この項には、強力なパッケージやオブジェクト・タイプから、デフォルトのPUBLIC EXECUTE権限を取り消す推奨事項が含まれています。

PUBLICからDBMS_ADVISORに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_ADVISORパッケージは、Oracleインスタンスがインストールされているサーバーに存在するファイルに書き込むために使用できます。ユーザーPUBLICは、DBMS_ADVISORを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_ADVISOR FROM PUBLIC;
PUBLICからDBMS_CRYPTOに対するEXECUTEが取り消されていること(スコア対象)

DBMS_CRYPTO設定は、SYSスキーマの一部であり、アプリケーション・データの暗号化に使用される暗号化アルゴリズムの強度を判別するツールセットを提供します。DES (56ビット・キー)、3DES (168ビット・キー)、3DES-2KEY (112ビット・キー)、AES (128/192/256ビット・キー)およびRC4を使用できます。ユーザーPUBLICは、DBMS_CRYPTOを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_CRYPTO FROM PUBLIC;
PUBLICからDBMS_JAVAに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_JAVAパッケージは、Javaクラス(OSコマンドなど)を実行したり、Java権限を付与できます。ユーザーPUBLICは、DBMS_JAVAを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_JAVA FROM PUBLIC;

ノート:

DBMS_JAVA_TESTはドキュメント化されていないPL/SQLパッケージですが、PUBLICの権限を取り消す必要があります。
PUBLICからDBMS_JAVA_TESTに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_JAVA_TESTパッケージは、Javaクラス(OSコマンドなど)を実行したり、Java権限を付与できます。ユーザーPUBLICは、DBMS_JAVA_TESTを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_JAVA_TEST FROM PUBLIC;
PUBLICからDBMS_JOBに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_JOBパッケージは、ジョブ・キューに送信され、DBMS_SCHEDULERパッケージによって破棄されたジョブをスケジュールおよび管理します(ただし、DBMS_JOBは下位互換性のために維持されています)。ユーザーPUBLICは、DBMS_JOBを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_JOB FROM PUBLIC
PUBLICからDBMS_LDAPに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_LDAPパッケージは、プログラマがLDAPサーバーのデータにアクセスできるようにするファンクションおよびプロシージャで構成されています。ユーザーPUBLICは、DBMS_LDAPを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_LDAP FROM PUBLIC;
PUBLICからDBMS_LOBに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_LOBパッケージは、BLOBCLOBNCLOBBFILEおよび一時LOBを操作および読取り/書込みできるサブプログラムを提供します。ユーザーPUBLICは、DBMS_LOBを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_LOB FROM PUBLIC;
PUBLICからDBMS_OBFUSCATION_TOOLKITに対するEXECUTEが取り消されていること(スコア対象)

DBMS_OBFUSCATION_TOOLKITは、SYSスキーマの一部であり、アプリケーション・データの暗号化に使用される暗号化アルゴリズムの強度を判別するためのいずれかのツールが含まれています。使用可能なタイプは、DES (56ビット・キー)と3DES (168ビット・キー)の2つのみです。ユーザーPUBLICは、DBMS_OBFUSCATION_TOOLKITを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_OBFUSCATION_TOOLKIT FROM PUBLIC;
PUBLICからDBMS_RANDOMに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_RANDOMパッケージは、乱数の生成に使用されますが、暗号化の目的では使用しないでください。ユーザーPUBLICは、DBMS_RANDOMを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_RANDOM FROM PUBLIC;

ノート:

PUBLICからこれを削除すると特定のアプリケーションで障害が発生する場合があるという注意がOEMに表示されます。
PUBLICからDBMS_SCHEDULERに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_SCHEDULERパッケージは、データベースおよびオペレーティング・システムのジョブをスケジュールおよび管理します。ユーザーPUBLICは、DBMS_SCHEDULERを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_SCHEDULER FROM PUBLIC;
PUBLICからDBMS_SQLに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_SQLパッケージは、動的SQL文の実行に使用されます。ユーザーPUBLICは、DBMS_SQLを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_SQL FROM PUBLIC;
PUBLICからDBMS_XMLGENに対するEXECUTEが取り消されていること(スコア対象)

DBMS_XMLGENパッケージでは、入力された任意のSQL問合せをXML形式に変換し、その結果をCLOBとして戻します。ユーザーPUBLICは、DBMS_XMLGENを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_XMLGEN FROM PUBLIC;
PUBLICからDBMS_XMLQUERYに対するEXECUTEが取り消されていること(スコア対象)

OracleパッケージのDBMS_XMLQUERYは、任意のSQL問合せを受け取り、それをXML形式に変換して、その結果を返します。このパッケージはDBMS_XMLGENと似ています。ユーザーPUBLICは、DBMS_XMLQUERYを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_XMLQUERY FROM PUBLIC;
PUBLICからUTL_FILEに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのUTL_FILEパッケージは、Oracleインスタンスがインストールされているサーバーに存在するファイルの読取り/書込みを行うために使用できます。ユーザーPUBLICは、UTL_FILEを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON UTL_FILE FROM PUBLIC;
PUBLICからUTL_INADDRに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのUTL_INADDRパッケージは、特別なエラー・メッセージを作成したり、DNS経由で外部に情報を送信するために使用できます。ユーザーPUBLICは、UTL_INADDRを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON UTL_INADDR FROM PUBLIC;
PUBLICからUTL_TCPに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのUTL_TCPパッケージは、OracleインスタンスがインストールされているサーバーのTCPソケットに対してファイルの読取り/書込みを行うために使用できます。ユーザーPUBLICは、UTL_TCPを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON UTL_TCP FROM PUBLIC;
PUBLICからUTL_MAILに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのUTL_MAILパッケージは、Oracleインスタンスがインストールされているサーバーから電子メールを送信するために使用できます。ユーザーPUBLICは、UTL_MAILを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON UTL_MAIL FROM PUBLIC;
PUBLICからUTL_SMTPに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのUTL_SMTPパッケージは、Oracleインスタンスがインストールされているサーバーから電子メールを送信するために使用できます。ユーザーPUBLICは、UTL_SMTPを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON UTL_SMTP FROM PUBLIC;
PUBLICからUTL_DBWSに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのUTL_DBWSパッケージは、Oracleインスタンスがインストールされているサーバー上のWebベースのアプリケーションに対してファイルの読取り/書込みを行うために使用できます。セキュリティ上の理由で、このパッケージは自動的にインストールされません。ユーザーPUBLICは、UTL_DBWSを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON UTL_DBWS FROM PUBLIC;
PUBLICからUTL_ORAMTSに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのUTL_ORAMTSパッケージは、HTTPリクエストを実行するために使用できます。これは、外部に情報を送信するために使用できます。ユーザーPUBLICは、UTL_ORAMTSを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON UTL_ORAMTS FROM PUBLIC;
PUBLICからUTL_HTTPに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのUTL_HTTPパッケージは、HTTPリクエストを実行するために使用できます。これは、外部に情報を送信するために使用できます。ユーザーPUBLICは、UTL_HTTPを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON UTL_HTTP FROM PUBLIC;
PUBLICからHTTPURITYPEに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのHTTPURITYPEオブジェクト・タイプは、HTTPリクエストを実行するために使用できます。ユーザーPUBLICは、HTTPURITYPEを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON HTTPURITYPE FROM PUBLIC;
PUBLICからDBMS_XMLSTOREに対するEXECUTEが取り消されていること(スコア対象)

DBMS_XLMSTOREパッケージはXML機能を提供します。表名およびXMLを入力として受け取り、表に対してDML操作を実行します。ユーザーPUBLICは、DBMS_XLMSTOREを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_XMLSTORE FROM PUBLIC;
PUBLICからDBMS_XMLSAVEに対するEXECUTEが取り消されていること(スコア対象)

DBMS_XLMSTOREパッケージはXML機能を提供します。表名およびXMLを入力として受け取り、その表に対して挿入または更新を行います。ユーザーPUBLICは、DBMS_XLMSAVEを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_XMLSAVE FROM PUBLIC;
PUBLICからDBMS_REDACTに対するEXECUTEが取り消されていること(スコア対象)

DBMS_REDACTパッケージは、権限の低いユーザーやアプリケーションによって発行された問合せから戻されるデータをマスク(リダクション)できる、Oracle Data Redactionへのインタフェースを提供します。ユーザーPUBLICは、DBMS_REDACTを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_REDACT FROM PUBLIC;
パッケージおよびオブジェクト・タイプのデフォルト以外の権限の取消し

この項の推奨事項では、パッケージやオブジェクト・タイプの過剰な権限を取り消します。

PUBLICからDBMS_SYS_SQLに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_SYS_SQLパッケージは、ドキュメント化されていない状態で出荷されています。ユーザーPUBLICは、DBMS_SYS_SQLを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_SYS_SQL FROM PUBLIC;
PUBLICからDBMS_BACKUP_RESTOREに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_BACKUP_RESTOREパッケージは、PL/SQLコマンドをネイティブなRMANの処理に適用するために使用されます。ユーザーPUBLICは、DBMS_BACKUP_RESTOREを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_BACKUP_RESTORE FROM PUBLIC;
PUBLICからDBMS_AQADM_SYSCALLSに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_AQADM_SYSCALLSパッケージは、ドキュメント化されていない状態で出荷されています。ユーザーPUBLICは、DBMS_AQADM_SYSCALLSを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_AQADM_SYSCALLS FROM PUBLIC;
PUBLICからDBMS_REPCAT_SQL_UTLに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_REPCAT_SQL_UTLパッケージは、ドキュメント化されずに出荷され、ユーザーSYSとしてSQLコマンドを実行できます。ユーザーPUBLICは、DBMS_REPCAT_SQL_UTLを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_REPCAT_SQL_UTL FROM PUBLIC;
PUBLICからINITJVMAUXに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのINITJVMAUXパッケージは、ドキュメント化されずに出荷され、ユーザーSYSとしてSQLコマンドを実行できます。ユーザーPUBLICは、INITJVMAUXを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON INITJVMAUX FROM PUBLIC;
PUBLICからDBMS_STREAMS_ADM_UTLに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_STREAMS_ADM_UTLパッケージは、ドキュメント化されずに出荷され、ユーザーSYSとしてSQLコマンドを実行できます。ユーザーPUBLICは、DBMS_STREAMS_ADM_UTLを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_STREAMS_ADM_UTL FROM PUBLIC;
PUBLICからDBMS_AQADM_SYSに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_AQADM_SYSパッケージは、ドキュメント化されずに出荷され、ユーザーSYSとしてSQLコマンドを実行できます。ユーザーPUBLICは、DBMS_AQADM_SYSを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_AQADM_SYS FROM PUBLIC;
PUBLICからDBMS_STREAMS_RPCに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_STREAMS_RPCパッケージは、ドキュメント化されずに出荷され、ユーザーSYSとしてSQLコマンドを実行できます。ユーザーPUBLICは、DBMS_STREAMS_RPCを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_STREAMS_RPC FROM PUBLIC;
PUBLICからLTADMに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのLTADMパッケージは、ドキュメント化されていない状態で出荷されています。権限のないユーザーに付与した場合は、権限のエスカレーションを行うことができます。ユーザーPUBLICは、LTADMを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON LTADM FROM PUBLIC;
PUBLICからWWV_DBMS_SQLに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのWWV_DBMS_SQLパッケージは、ドキュメント化されていない状態で出荷されています。このパッケージを使用すると、Oracle Application Expressで動的SQL文を実行できます。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON WWV_DBMS_SQL FROM PUBLIC;
PUBLICからWWV_EXECUTE_IMMEDIATEに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのWWV_EXECUTE_IMMEDIATEパッケージは、ドキュメント化されていない状態で出荷されています。このパッケージを使用すると、Oracle Application Expressで動的SQL文を実行できます。ユーザーPUBLICは、WWV_EXECUTE_IMMEDIATEを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON WWV_EXECUTE_IMMEDIATE FROM PUBLIC;
PUBLICからDBMS_IJOBに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_IJOBパッケージは、ドキュメント化されていない状態で出荷されています。このパッケージを使用すると、ユーザーは別のユーザーのコンテキストでデータベース・ジョブを実行できます。ユーザーPUBLICは、DBMS_IJOBを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_IJOB FROM PUBLIC;
PUBLICからDBMS_FILE_TRANSFERに対するEXECUTEが取り消されていること(スコア対象)

OracleデータベースのDBMS_FILE_TRANSFERパッケージを使用すると、ユーザーはファイルをあるデータベース・サーバーから別のデータベース・サーバーに転送できます。ユーザーPUBLICは、DBMS_FILE_TRANSFERを実行することができない必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ON DBMS_FILE_TRANSFER FROM PUBLIC;
過剰なシステム権限の取消し

この項の推奨事項では、過剰なシステム権限を取り消します。

未認可のGRANTEEからSELECT ANY DICTIONARYが取り消されていること(スコア対象)

OracleデータベースのSELECT ANY DICTIONARY権限を保持している場合、指定されたユーザーがSYSスキーマ・オブジェクトにアクセスできます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE SELECT_ANY_DICTIONARY FROM <grantee>;
未認可のGRANTEEからSELECT ANY TABLEが取り消されていること(スコア対象)

OracleデータベースのSELECT ANY TABLE権限を保持している場合、指定されたユーザーがSYSを除く任意の表を開いて表示できます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE SELECT ANY TABLE FROM <grantee>;

ノート:

O7_DICTIONARY_ACCESSIBILITYTRUEが設定されている(デフォルトではない設定)場合、SELECT ANY TABLE権限によってSYSオブジェクトへのアクセスが提供されます。
未認可のGRANTEEからAUDIT SYSTEMが取り消されていること(スコア対象)

OracleデータベースのAUDIT SYSTEM権限を保持している場合、システムの監査アクティビティを変更できます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE AUDIT SYSTEM FROM <grantee>;
未認可のGRANTEEからEXEMPT ACCESS POLICYが取り消されていること(スコア対象)

OracleデータベースのEXEMPT ACCESS POLICYキーワードは、行レベルのセキュリティ・ロックに関係なく、すべての表の行にアクセスする機能をユーザーに提供します。認可されていない権限受領者には、このキーワードを割り当てないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXEMPT ACCESS POLICY FROM <grantee>;
未認可のGRANTEEからBECOME USERが取り消されていること(スコア対象)

OracleデータベースのBECOME USER権限を保持している場合、指定されたユーザーが他のユーザーの権限を継承できます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE BECOME USER FROM <grantee>;
未認可のGRANTEEからCREATE_PROCEDUREが取り消されていること(スコア対象)

OracleデータベースのCREATE PROCEDURE権限を保持している場合、正しいコマンド・シーケンスが指定されると起動されるストアド・プロシージャを指定されたユーザーが作成できます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE CREATE PROCEDURE FROM <grantee>;
未認可のGRANTEEからALTER SYSTEMが取り消されていること(スコア対象)

OracleデータベースのALTER SYSTEM権限を保持している場合、指定されたユーザーがインスタンスの実行中の操作を動的に変更できます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE ALTER SYSTEM FROM <grantee>;
未認可のGRANTEEからCREATE ANY LIBRARYが取り消されていること(スコア対象)

OracleデータベースのCREATE ANY LIBRARY権限を保持している場合、指定されたユーザーが共有ライブラリに関連付けられたオブジェクトを作成できます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE CREATE ANY LIBRARY FROM <grantee>;

ノート:

Oracleには、CREATE LIBRARYCREATE ANY LIBRARYの2つの同じ権限があります。
未認可のGRANTEEからCREATE LIBRARYが取り消されていること(スコア対象)

OracleデータベースのCREATE LIBRARY権限を保持している場合、指定されたユーザーが共有ライブラリに関連付けられたオブジェクトを作成できます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE CREATE LIBRARY FROM <grantee>;

ノート:

Oracleには、CREATE LIBRARYCREATE ANY LIBRARYの2つの同じ権限があります。
未認可のGRANTEEからGRANT ANY OBJECT PRIVILEGEが取り消されていること(スコア対象)

OracleデータベースのGRANT ANY OBJECT PRIVILEGEキーワードを使用すると、権限受領者がデータベースのカタログで1つまたは複数のオブジェクトの組合せへのアクセス権を任意の権限受領者に付与できます。認可されていない権限受領者には、このキーワードを割り当てないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE GRANT ANY OBJECT PRIVILEGE FROM <grantee>;
未認可のGRANTEEからGRANT ANY ROLEが取り消されていること(スコア対象)

OracleデータベースのGRANT ANY ROLEキーワードを使用すると、権限受領者がデータベースのカタログで任意の権限受領者に任意の単一のロールを付与できます。認可されていない権限受領者には、このキーワードを割り当てないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE GRANT ANY ROLE FROM <grantee>;
未認可のGRANTEEからGRANT ANY PRIVILEGEが取り消されていること(スコア対象)

OracleデータベースのGRANT ANY PRIVILEGEキーワードを使用すると、権限受領者がデータベースのカタログで任意のアイテムに任意の単一の権限を付与できます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE GRANT ANY PRIVILEGE FROM <grantee>;
ロール権限の取消し

この項の推奨事項では、不要と思われる場合に強力なロールを取り消します。

未認可のGRANTEEからDELETE_CATALOG_ROLEが取り消されていること(スコア対象)

OracleデータベースのDELETE_CATALOG_ROLEでは、システムの監査表(AUD$)のレコードに対するDELETE権限が提供されます。認可されていない権限受領者には、このロールを付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE DELETE_CATALOG_ROLE FROM <grantee>;
未認可のGRANTEEからSELECT_CATALOG_ROLEが取り消されていること(スコア対象)

OracleデータベースのSELECT_CATALOG_ROLEでは、SYSスキーマに保持されているすべてのデータ・ディクショナリ・ビューに対するSELECT権限が提供されます。認可されていない権限受領者には、このロールを付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE SELECT_CATALOG_ROLE FROM <grantee>;
未認可のGRANTEEからEXECUTE_CATALOG_ROLEが取り消されていること(スコア対象)

OracleデータベースのEXECUTE_CATALOG_ROLEでは、SYSスキーマのデータ・ディクショナリ内の多くのパッケージおよびプロシージャに対するEXECUTE権限が提供されます。認可されていない権限受領者には、このロールを付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE_CATALOG_ROLE FROM <grantee>;
未認可のGRANTEEからDBAが取り消されていること(スコア対象)

OracleデータベースのDBAロールは、管理権限を割り当てるために提供されているデフォルトのデータベース管理者ロールです。認可されていない権限受領者には、このロールを付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE DBA FROM <grantee>;
表およびビューの過剰な権限の取消し

この項の推奨事項では、過剰な表およびビューの権限を取り消します。

未認可のGRANTEEからAUD$に対するALLが取り消されていること(スコア対象)

OracleデータベースのSYS.AUD$表には、データベースのデータ操作言語(DML)以外のイベント(ALTERDROPCREATEなど)に関するすべての監査レコードが含まれています。(DMLによる変更の場合、データの変更を記録するには、トリガーベースの監査イベントが必要となります。)認可されていない権限受領者には、この表への完全なアクセス権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE ALL ON AUD$ FROM <grantee>;
未認可のGRANTEEからUSER_HISTORY$に対するALLが取り消されていること(スコア対象)

OracleデータベースのSYS.USER_HISTORY$表には、ユーザーのパスワード変更履歴に関するすべての監査レコードが含まれています。(パスワードの再使用制限が設定されているプロファイルがユーザーに割り当てられている場合(PASSWORD_REUSE_TIMEUNLIMITED以外が設定されている場合など)、この表はパスワードの変更時に更新されます。)認可されていない権限受領者には、この表への完全なアクセス権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE ALL ON USER_HISTORY$ FROM <grantee>;

ノート:

USER_HISTORY$には、大文字と小文字が区別されない古いパスワードのみが含まれています。
未認可のGRANTEEからLINK$に対するALLが取り消されていること(スコア対象)

OracleデータベースのSYS.LINK$表には、すべてのユーザーのパスワード情報およびデータ表のリンク情報が含まれています。認可されていない権限受領者には、この表への完全なアクセス権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE ALL ON LINK$ FROM <grantee>;
未認可のGRANTEEからSYS.USER$に対するALLが取り消されていること(スコア対象)

OracleデータベースのSYS.USER$表には、ユーザーのハッシュされたパスワード情報が含まれています。認可されていない権限受領者には、この表への完全なアクセス権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE ALL ON SYS.USER$ FROM <grantee>;
未認可のGRANTEEからDBA_%に対するALLが取り消されていること(スコア対象)

OracleデータベースのDBA_%ビューには、管理アカウントに関連するすべての情報が表示されます。認可されていない権限受領者には、これらのビューへの完全なアクセス権限を付与しないでください。

是正

次の問合せの<Non-DBA/SYS grantee>を関連付けられている監査プロシージャから返されたOracleログインまたはロールに置換して実行します。

REVOKE ALL ON DBA_ FROM <NON-DBA/SYS grantee>;
未認可のGRANTEEからSYS.SCHEDULER$_CREDENTIALに対するALLが取り消されていること(スコア対象)

OracleデータベースのSCHEDULER$_CREDENTIAL表には、データベース・スケジューラの資格証明情報が含まれています。認可されていない権限受領者には、この表への完全なアクセス権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE ALL ON SYS.SCHEDULER4_CREDENTIAL FROM <username>;

ノート:

*_SCHEDULER_CREDENTIALSはOracle Database 12cでは非推奨ですが、下位互換性のために引き続き使用できます。
SYS.USER$MIGが削除されていること(スコア対象)

sys.user$mig表は移行中に作成され、移行が開始される前のOracleパスワード・ハッシュが含まれています。この表は削除する必要があります。

是正

この設定を是正するには、次のSQL文を実行します。

DROP TABLE SYS.USER$MIG;
未認可のGRANTEEから%ANY%が取り消されていること(スコア対象)

OracleデータベースのANYキーワードを使用すると、ユーザーがデータベースのカタログ内の任意のアイテムを変更できます。認可されていない権限受領者には、このキーワードを割り当てないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE ‘<ANY Privilege>’ FROM <grantee>;
未認可のGRANTEEからADMIN_OPTIONにYESが設定されているDBA_SYS_PRIVS.%が取り消されていること(スコア対象)

OracleデータベースのWITH_ADMIN権限を保持している場合、指定されたユーザーが同じ権限を別のユーザーに付与できます。認可されていない権限受領者には、この権限を付与しないでください。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE <privilege> FROM <grantee>;
プロキシ・ユーザーの権限がCONNECTのみであること(スコア対象)

プロキシ・ユーザーにCONNECT以外の権限を直接付与しないでください。

是正

この設定を是正するには、監査プロシージャを実行することによって返された各[PRIVILEGE] (CONNECT以外)について次のSQL文を実行します。

REVOKE <privilege> FROM <proxy_user>;
OUTLNからEXECUTE ANY PROCEDUREが取り消されていること(スコア対象)

OUTLNから不要なEXECUTE ANY PROCEDURE権限を削除します。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ANY PROCEDURE FROM OUTLN;
DBSNMPからEXECUTE ANY PROCEDUREが取り消されていること(スコア対象)

DBSNMPから不要なEXECUTE ANY PROCEDURE権限を削除します。

是正

この設定を是正するには、次のSQL文を実行します。

REVOKE EXECUTE ANY PROCEDURE FROM DBSNMP;

監査/ログイン・ポリシーおよび手順

データベースのアクティビティを監査する機能は、すべてのデータベース・セキュリティ機能で最も重要な機能です。監査にはコストが発生するため(監査証跡のためのストレージや監査対象の操作のパフォーマンスへの影響。さらにデータベースやシステムへの全般的な影響)、監査する範囲について決断する必要があります。監査証跡のデータの管理(格納、バックアップ、セキュリティ保護)および確認のための追加コストもあります。

監査証跡は不正なアクティビティを隠すために変更や破棄のターゲットとなる場合があるため、監査証跡自体を保護するために対策をとる必要があります。データベースの外部の監査対象については、このドキュメントの各所に推奨事項があります。考えられるデータベースの監査対象に対する監査の推奨事項を次に示します。

通常、セッションごとの監査では、より少なく(11gまで)より小さい監査レコードが作成されますが、正確さ(オブジェクト権限GRANTEEなど)が一部失われる場合があるため、多くの状況でお薦めしません。より詳細な監査を行うと、より大きい監査レコードが作成されます。AUDIT_TRAIL初期化パラメータ(DB|XML用、拡張または拡張なし)は、特定の監査レコードのサイズ、およびパフォーマンスのコストの重要な要素ですが、最大のコストはDB、OSまたはXMLです。

権限のある接続(sysdbaまたはsysoper)の監査はAUDIT_SYS_OPERATIONS初期化パラメータを使用して構成しますが、それ以外の場合は構成できないため、この項では標準のOracle監査について説明します。標準監査の基本的なタイプは、オブジェクトの監査、文の監査および権限の監査であり、それぞれ動作が異なります。

オブジェクトの監査は、呼び出された特定のオブジェクトに適用され、常にすべてのユーザーに適用されます。通常、このタイプの監査は、アプリケーションに固有の機密オブジェクトの監査に使用されますが、データベース内の監査証跡を保護するためにも使用できます。

権限の監査は、特定のシステム権限の使用を監査しますが、通常はユーザーが監査対象の権限を実際に所有している場合にのみ監査されます。監査対象の権限がないために失敗した試行は、通常、監査されません。これは権限の監査の主要な弱点であり、文の監査が通常は優先される理由です(このオプションが存在する場合)。

通常、文の監査では、権限、または権限を保持していないことに関係なく、特定のタイプの文の発行が監査されます。特定のユーザーまたはすべてのユーザー(デフォルト)に対して、権限の監査と文の監査の両方を指定できます。

従来型監査

この項の推奨事項は、従来の監査が実装されている場合に従っている必要があります。

USER監査オプションが有効であること(スコア対象)

USERオブジェクトを使用すると、アカウントに割り当てられたロールおよび権限に応じてデータベースと対話処理できるアカウントを作成できます。データベース・オブジェクトを所有する場合もあります。この監査オプションを有効にすると、ユーザーの作成、削除または変更を行うためのすべてのアクティビティおよびリクエストが監査されます(ユーザーが自身のパスワードを変更することも含まれます)。(パスワードの変更は、ALTER USERを監査することでは監査されません。)

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT USER;
ROLE監査オプションが有効であること(スコア対象)

ROLEオブジェクトを使用すると、ユーザーや他のロールに付与できる一連の権限を作成できます。この監査オプションを有効にすると、ロールの作成、削除、変更または設定を行うためのすべての試行が(成功したかどうかにかかわらず)監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT ROLE;
SYSTEM GRANT監査オプションが有効であること(スコア対象)

SYSTEM GRANTオブジェクトに対するこの監査オプションを有効にすると、操作を試みたユーザーが保持している権限にかかわらず、システム権限またはロールの付与または取消しを行うためのすべての試行が(成功したかどうかにかかわらず)監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT SYSTEM GRANT;
PROFILE監査オプションが有効であること(スコア対象)

PROFILEオブジェクトを使用すると、ユーザーに割り当てることができる一連のデータベース・リソース制限を作成できます。ユーザーはそれらのリソース制限を超えることはできません。この監査オプションを有効にすると、プロファイルの作成、削除または変更を行うためのすべての試行が(成功したかどうかにかかわらず)監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT PROFILE;

ノート:

文の監査オプションのPROFILEの監査では、3つの権限の監査(CREATE PROFILEの監査、DROP PROFILEの監査およびALTER PROFILEの監査)で監査されるすべてが監査され、次の試行の監査も行われます。
  1. CREATE PROFILEシステム権限を持たないユーザーによるプロファイルの作成の試行。
  2. DROP PROFILEシステム権限を持たないユーザーによるプロファイルの削除の試行。
  3. ALTER PROFILEシステム権限を持たないユーザーによるプロファイルの変更の試行。
DATABASE LINK監査オプションが有効であること(スコア対象)

DATABASE LINKオブジェクトに対するこの監査オプションを有効にすると、データベース・リンクに対するすべてのアクティビティが監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT DATABASE LINK;
PUBLIC DATABASE LINK監査オプションが有効であること(スコア対象)

PUBLIC DATABASE LINKオブジェクトを使用すると、アプリケーション・ベースの「ユーザー」のパブリック・リンクを作成し、接続/セッションを作成するためにデータベースにアクセスできます。この監査オプションを有効にすると、パブリック・リンクの作成、変更または削除に関係するすべてのユーザー・アクティビティが監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT PUBLIC DATABASE LINK;
PUBLIC SYNONYM監査オプションが有効であること(スコア対象)

PUBLIC SYNONYMオブジェクトを使用すると、オブジェクトの別名を作成できます。パブリック・シノニムには、基礎となるオブジェクトに対する適切な権限を持つすべてのユーザーがアクセスできます。この監査オプションを有効にすると、パブリック・シノニムの作成または削除に関係するすべてのユーザー・アクティビティが監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT PUBLIC SYNONYM;
SYNONYM監査オプションが有効であること(スコア対象)

SYNONYM操作を使用すると、Javaクラス・スキーマ・オブジェクト、マテリアライズド・ビュー、演算子、パッケージ、プロシージャ、順序、ストアド・ファンクション、表、ビュー、ユーザー定義のオブジェクト・タイプ、別のシノニムなどのデータベース・オブジェクトの別名を作成できます。ターゲット・オブジェクトが変更または削除されると、このシノニムはターゲットに依存しているため、無効になります。この監査オプションを有効にすると、シノニムの作成または削除に関係するすべてのユーザー・アクティビティが監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT SYNONYM;
DIRECTORY監査オプションが有効であること(スコア対象)

DIRECTORYオブジェクトを使用すると、外部のバイナリ・ファイルのLOB (BFILE)/表データが配置されているサーバー・ファイル・システムのディレクトリの別名を指定するディレクトリ・オブジェクトを作成できます。この監査オプションを有効にすると、ディレクトリの別名の作成または削除に関係するすべてのユーザー・アクティビティが監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT DIRECTORY;
SELECT ANY DICTIONARY監査オプションが有効であること(スコア対象)

SELECT ANY DICTIONARY機能を使用すると、ユーザーはデータベース内のすべてのスキーマ・オブジェクトの定義を表示できます。この監査オプションを有効にすると、この機能に関係するすべてのユーザー・アクティビティが監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT SELECT ANY DICTIONARY;
GRANT ANY OBJECT PRIVILEGE監査オプションが有効であること(スコア対象)

GRANT ANY OBJECT PRIVILEGEを保持している場合、ユーザーはすべてのオブジェクト権限(表、ディレクトリ、マイニング・モデルなどに対する権限を含む)を付与または取消しできます。この監査オプションを有効にすると、この権限のすべての使用が監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT GRANT ANY OBJECT PRIVILEGE;

ノート:

オブジェクト権限の付与または取消しのすべての試行が監査されるわけではありません。付与オプション付きでオブジェクト権限を付与されたユーザーも実行できるからです。また、GRANT ANY OBJECT PRIVILEGEシステム権限を保持していないユーザーの監査レコードは作成されません。このため、オブジェクト権限の付与および取消しの多くの試行(成功したかどうかにかかわらず)は監査されません。
GRANT ANY PRIVILEGE監査オプションが有効であること(スコア対象)

GRANT ANY PRIVILEGEを保持している場合、ユーザーは、通常は管理者のみが使用できる(セキュリティ・インフラストラクチャの変更、ユーザーの削除/追加/変更などを行うための)最も強力な権限を含むすべてのシステム権限を付与できます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT GRANT ANY PRIVILEGE;

ノート:

システム権限の付与または取消しのすべての試行が監査されるわけではありません。管理オプション付きでシステム権限を付与された人も実行できるからです。また、GRANT ANY PRIVILEGEシステム権限を保持していないユーザーの監査レコードは作成されません。このため、システム権限の付与および取消しの多くの試行(成功したかどうかにかかわらず)は監査されません。
DROP ANY PROCEDURE監査オプションが有効であること(スコア対象)

AUDIT DROP ANY PROCEDUREコマンドは、プロシージャの削除を監査します。このオプションを有効にすると、そのようなすべてのアクティビティが監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT DROP ANY PROCEDURE;
SYS.AUD$に対するALL監査オプションが有効であること(スコア対象)

SYS.AUD$表(読取り/更新/削除/表示のためにオープンされている)の監査証跡を変更するための試行のロギングでは、監査証跡への不正なアクセスの試行を示す可能性があるアクティビティのレコードが記録されます。この監査オプションを有効にすると、これらのアクティビティが監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT ALL ON SYS.AUD$ BY ACCESS;
PROCEDURE監査オプションが有効であること(スコア対象)

この文の監査では、PROCEDUREは任意のプロシージャ、ファンクション、パッケージまたはライブラリを意味します。この監査オプションを有効にすると、権限または権限の有無に関係なく、これらのタイプのオブジェクトを作成または削除するためのすべての試行が(成功したかどうかにかかわらず)監査されます。Javaスキーマ・オブジェクト(ソース、クラスおよびリソース)は、SQL文の監査ではプロシージャと同じであるとみなされます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT PROCEDURE;

ノート:

すべての監査オプションが同様に機能するわけではありません。特に、文の監査オプションのPROCEDUREの監査では、ライブラリの作成と削除の他に、すべてのタイプのプロシージャとJavaスキーマ・オブジェクトの作成と削除が監査されます。ただし、権限の監査はこのように機能しません。たとえば、CREATE ANY PROCEDUREの監査、DROP ANY PROCEDUREの監査またはCREATE PROCEDUREの監査では、ライブラリの作成または削除のアクティビティは監査されません。文の監査では、PROCEDUREは権限の監査よりも広い範囲を対象としています。権限の監査では、関数、パッケージおよびプロシージャが対象であり、ライブラリやその他のオブジェクト・タイプは除外されます。PROCEDUREの監査では、ALTER ANY PROCEDUREシステム権限を使用した、ユーザー自身のスキーマ内または別のユーザーのスキーマ内のプロシージャの変更は監査されません。ALTER ANY PROCEDUREの監査のかわりとなる文の監査はないと考えられますが、権限を保持していないユーザーの監査レコードは作成されないことに注意してください。このため、ユーザー自身のスキーマ内のプロシージャを変更するための試行は監査されず、ALTER ANY PROCEDURE権限を保持していないために失敗した別のユーザーのスキーマ内のプロシージャを変更するための試行は監査されません。これは現在のOracleの監査の状態における弱点です。ただし、プロシージャ、ファンクション、パッケージおよびライブラリに関して使用できるALTERコマンドはすべてコンパイル・オプションであるため、プロシージャを変更するためのアクティビティやリクエストを包括的に監査できないことは、他のオブジェクト・タイプ(USERPROFILEなど)を監査できないより悪い状態ではありません。
ALTER SYSTEM監査オプションが有効であること(スコア対象)

ALTER SYSTEMを使用すると、セキュリティ設定や監査オプションを含むインスタンスの設定を変更できます。また、ドキュメント化されていないOracle機能を使用してオペレーティング・システムのコマンドを実行するために、ALTER SYSTEMを使用することもできます。この監査オプションを有効にすると、アクションを試みたユーザーがALTER SYSTEM権限を保持しているかどうかに関係なく、ALTER SYSTEMを実行するためのすべての試行が(成功したかどうかにかかわらず)監査されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT ALTER SYSTEM;
TRIGGER監査オプションが有効であること(スコア対象)

TRIGGERは、ユーザーが開始した一部のタイプのアクションが発生したときに、DMLのアクションの変更または他の(再帰的)アクションの起動を行うために使用できます。この監査オプションを有効にすると、権限または権限の有無に関係なく、スキーマ内でのスキーマ・トリガーの作成、削除、有効化または無効化を行うためのすべての試行が(成功したかどうかにかかわらず)監査されます。トリガーの有効化および無効化の場合は、ALTER TRIGGERALTER TABLEの両方が対象となります。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT TRIGGER;

ノート:

CREATE SYNONYMCREATE PROCEDUREおよびいくつかの他のタイプのオブジェクトに対する推奨事項があるため、CREATE TRIGGERシステム権限の使用を監査するためのCIS推奨は現在ありません。このため、これは実際には対象範囲のエスカレーションであり、ユーザー自身のスキーマ内でのそのようなアクションが監査されます。ただし、操作を試行したユーザーが必要なANY権限が保持していない場合、この方法は別のユーザーのスキーマ内でトリガーを作成、削除または変更するための試行を包括的に監査するための唯一の方法であり、それらの試行は大きな赤いフラグを立てる必要がある種類のアクションです。文の監査オプションのTRIGGERの監査では、3つの権限の監査(CREATE ANY TRIGGERの監査、ALTER ANY TRIGGERの監査およびDROP ANY TRIGGERの監査)で監査されるほとんどすべてが監査され、次の試行の監査も行われます。
  1. ユーザー自身のスキーマでトリガーを作成、削除、有効化または無効化する文。
  2. 2. CREATE TRIGGERシステム権限を持たないユーザーによるトリガーの作成の試行。
  3. 3. CREATE ANY TRIGGER権限を持たないユーザーによる別のスキーマでのトリガーの作成の試行。
  4. 4. DROP ANY TRIGGER権限を持たないユーザーによる別のスキーマでのトリガーの削除の試行。
  5. 5. ALTER ANY TRIGGER権限を持たないユーザーによる別のスキーマでのトリガーの無効化または有効化の試行。

トリガーが別のユーザーのスキーマにある場合、3つの権限の監査のいずれでも監査されるがこれによって監査されない1つの監査対象は、ALTER TRIGGER ...COMPILEです。これはALTER ANY TRIGGERの監査によって監査されますが、変更を試行したユーザーが実際にALTER ANY TRIGGERシステム権限を保持している場合のみです。TRIGGERの監査では、トリガーを有効または無効にするために使用されたALTER TABLE文またはALTER TRIGGER文のみが監査されます。コンパイル・オプションにのみ使用されたALTER TRIGGER文またはALTER TABLE文は監査されません。

CREATE SESSION監査オプションが有効であること(スコア対象)

この監査オプションを有効にすると、データベースへの接続のすべての試行(成功したかどうかにかかわらず)およびセッションの切断/ログオフが監査されます。SESSIONCONNECTまたはCREATE SESSIONを監査するコマンドではすべて同じことが行われ、データベース・セッションの作成に使用された接続文の文の監査が開始されます。

是正

この設定を是正するには、次のSQL文を実行します。

AUDIT SESSION;

ノート:

権限の監査としてドキュメントにリストされていますが、CREATE SESSIONの監査では実際にはCONNECT文が監査されます。これは、ドキュメント化されていないCONNECTの監査が、SESSIONの監査またはCREATE SESSIONの監査と同じ結果になることでも明らかです。SESSIONまたはCONNECTというシステム権限はありません(CONNECTはシステム権限ではなくロールです)。また、ユーザーがCREATE SESSIONシステム権限を保持していない場合でも、セッションを作成するためのすべての試行が監査されるという点で、権限の監査ではなく文の監査として動作します。
PDB固有の修正

この項の推奨事項は、PDBに従来型監査を使用している場合に従う必要があります。

3.10 DEFAULTプロファイルにユーザーが割り当てられていないこと

修正処置の実行後も違反の表示が継続されます。

これは、PDBごとにユーザーPDBADMINが作成されて、DEFAULTプロファイルが割り当てられるためです。

5.1.14 SYS.AUD$に対するALL監査オプションが有効化されていること

PDBの場合、これはCISドキュメントで指定されているコマンドを実行して修正することはできません。違反の表示が継続されます。

CDBから修正するルール

次のルールは、PDB内からは修正できません。ユーザーは、CDBに接続して、CISドキュメントで指定された修正処置を実行することで修正する必要があります。

  • ルール2.2.1 AUDIT_SYS_OPERATIONSがTRUEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.2 AUDIT_TRAILがDB、XML、OS、DB,EXTENDEDまたはXML,EXTENDEDに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.5 OS_ROLESがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.6 REMOTE_LISTENERか空になっていること(コンプライアンス標準ルール)
  • ルール2.2.8 REMOTE_OS_AUTHENTがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.9 REMOTE_OS_ROLESがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.10 'UTL_FILE_DIR'が空になっていること(コンプライアンス標準ルール)
  • ルール2.2.11 SEC_CASE_SENSITIVE_LOGONがTRUEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.12 SEC_MAX_FAILED_LOGIN_ATTEMPTSが3以下になっていること(コンプライアンス標準ルール)
  • ルール2.2.15 SEC_RETURN_SERVER_RELEASE_BANNERがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.17 _trace_files_publicがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.13 SEC_PROTOCOL_ERROR_FURTHER_ACTIONがDROP,3に設定されていること(コンプライアンス標準ルール)
  • ルール2.2.14 SEC_PROTOCOL_ERROR_TRACE_ACTIONがLOGに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.16 SQL92_SECURITYがTRUEに設定されていること(コンプライアンス標準ルール)
統合監査

この項の推奨事項は、統合監査が実装されている場合に従っている必要があります。

CREATE USER操作の監査が有効であること(スコア対象)

CREATE USER文は、Oracleデータベース・アカウント作成して、そのアカウントにデータベース・プロパティを割り当てるために使用します。この統合操作監査が有効になっていると、ユーザーが発行したすべてのCREATE USER文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
CREATE USER;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
ALTER USER操作の監査が有効であること(スコア対象)

ALTER USER文は、データベース・ユーザーのパスワードの変更、アカウントのロック、およびパスワードの失効処理のために使用します。また、この文は、ユーザー・アカウントのデータベース・プロパティ(データベース・プロファイル、デフォルト表領域、一時表領域、表領域割当てなど)の変更にも使用します。この統合監査アクションにより、ユーザーが発行したすべてのALTER USER文を成否にかかわらずロギングできます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
ALTER USER;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
DROP USER監査オプションが有効であること(スコア対象)

DROP USER文は、Oracleデータベース・アカウントとそれに関連付けられているスキーマを削除するために使用します。この統合操作監査が有効になっていると、ユーザーが発行したすべてのDROP USER文を成否にかかわらずロギングできます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
DROP USER;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
CREATE ROLE操作の監査が有効であること(スコア対象)

Oracleデータベース・ロールは、ユーザーまたは別のロールに付与できる権限のコレクションまたはセットです。ロールには、システム権限やオブジェクト権限などのロールを含めることができます。この統合監査アクションが有効になっていると、ユーザーが発行したすべてのCREATE ROLE文を成否にかかわらずロギングできます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
CREATE ROLE;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
ALTER ROLE操作の監査が有効であること(スコア対象)

Oracleデータベース・ロールは、ユーザーまたは別のロールに付与できる権限のコレクションまたはセットです。ロールには、システム権限やオブジェクト権限などのロールを含めることができます。ALTER ROLE文は、ロールを使用可能にするために必要な認可を変更する場合に使用します。この統合操作監査が有効になっていると、ユーザーが発行したすべてのALTER ROLE文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
ALTER ROLE;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
DROP ROLE操作の監査が有効であること(スコア対象)

Oracleデータベース・ロールは、ユーザーまたは別のロールに付与できる権限のコレクションまたはセットです。ロールには、システム権限やオブジェクト権限などのロールを含めることができます。この統合監査アクションが有効になっていると、ユーザーが発行したすべてのDROP ROLE文を成否にかかわらずロギングできます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
DROP ROLE;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
GRANT操作の監査が有効であること(スコア対象)

GRANT文は、Oracleデータベースのユーザーとロールに権限を付与するために使用します。この権限には、通常はデータベース管理者が使用できる最も強力な権限やロールが含まれます。この統合操作監査が有効になっていると、ユーザーが発行したすべてのGRANT文を成否にかかわらずロギングできます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
GRANT;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
REVOKE操作の監査が有効であること(スコア対象)

REVOKE文は、Oracleデータベースのユーザーとロールから権限を取り消すために使用されます。この統合操作監査が有効になっていると、ユーザーが発行したすべてのREVOKE文を成否にかかわらずロギングできます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
REVOKE;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
CREATE PROFILE操作の監査が有効であること(スコア対象)

Oracleデータベースのプロファイルは、リソース使用量制限の強制適用やパスワード・ポリシー(複雑性ルールや再利用制限など)の実施に使用します。この統合操作監査が有効になっていると、ユーザーが発行したすべてのCREATE PROFILE文を成否にかかわらずロギングできます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
CREATE PROFILE;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
ALTER PROFILE操作の監査が有効であること(スコア対象)

Oracleデータベースのプロファイルは、リソース使用量制限の強制適用やパスワード・ポリシー(複雑性ルールや再利用制限など)の実施に使用します。この統合操作監査が有効になっていると、ユーザーが発行したすべてのALTER PROFILE文を成否にかかわらずロギングできます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
ALTER PROFILE;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
DROP PROFILE操作の監査が有効であること(スコア対象)

Oracleデータベースのプロファイルは、リソース使用量制限の強制適用やパスワード・ポリシー(複雑性ルールや再利用制限など)の実施に使用します。この統合操作監査が有効になっていると、ユーザーが発行したすべてのDROP PROFILE文を成否にかかわらずロギングできます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
DROP PROFILE;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
CREATE DATABASE LINK操作の監査が有効であること(スコア対象)

Oracleデータベースのリンクは、別のデータベースへのデータベース間接続の確立に使用します。こうした接続は、リンク確立後の追加認証なしで使用できます。この統合操作監査が有効になっていると、ユーザーが発行したすべてのCREATE DATABASE文とCREATE PUBLIC DATABASE文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
CREATE DATABASE LINK;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
ALTER DATABASE LINK操作の監査が有効であること(スコア対象)

Oracleデータベースのリンクは、別のデータベースへのデータベース間接続の確立に使用します。こうした接続は、常にリンク確立後の追加認証なしで使用できます。この統合操作監査が有効になっていると、ユーザーが発行したすべてのALTER DATABASE文とALTER PUBLIC DATABASE文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
ALTER DATABASE LINK;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
DROP DATABASE LINK操作の監査が有効であること(スコア対象)

Oracleデータベースのリンクは、別のデータベースへのデータベース間接続の確立に使用します。こうした接続は、常にリンク確立後の追加認証なしで使用できます。この統合操作監査が有効になっていると、ユーザーが発行したすべてのDROP DATABASE文とDROP PUBLIC DATABASE文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
DROP DATABASE LINK;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
CREATE SYNONYM操作の監査が有効であること(スコア対象)

Oracleデータベース・シノニムは、データベース・オブジェクト(表、ビュー、プロシージャ、javaオブジェクト、別のシノニムなど)の代替名を作成するために使用します。この統合操作監査が有効になっていると、ユーザーが発行したすべてのCREATE SYNONYM文とCREATE PUBLIC SYNONYM文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
CREATE SYNONYM;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
ALTER SYNONYM操作の監査が有効であること(スコア対象)

Oracleデータベース・シノニムは、データベース・オブジェクト(表、ビュー、プロシージャ、javaオブジェクト、別のシノニムなど)の代替名を作成するために使用します。この統合操作監査が有効になっていると、ユーザーが発行したすべてのALTER SYNONYM文とALTER PUBLIC SYNONYM文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
ALTER SYNONYM;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
DROP SYNONYM操作の監査が有効であること(スコア対象)

Oracleデータベース・シノニムは、データベース・オブジェクト(表、ビュー、プロシージャ、javaオブジェクト、別のシノニムなど)の代替名を作成するために使用します。この統合監査アクションが有効になっていると、ユーザーが発行したすべてのDROP SYNONYM文とDROP PUBLIC SYNONYM文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
DROP SYNONYM;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
SELECT ANY DICTIONARY権限の監査が有効であること(スコア対象)

SELECT ANY DICTIONARYシステム権限により、ユーザーはデータベース内のすべてのスキーマ・オブジェクトの定義を表示できます。データベース・オブジェクトに対するSELECT権限を権限受領者に付与します。これには、DBA_ビュー、V$ビュー、X$ビュー、基礎となるSYS表(TAB$やOBJ$)に対するSELECTが含まれます。この権限によって、権限受領者は、基礎となるデータ・ディクショナリ・オブジェクトに対するストアド・オブジェクト(プロシージャ、パッケージ、ビューなど)を作成できます。この権限では、パスワード・ハッシュによる表(USER$、DEFAULT_PWD$、LINK$、USER_HISTORY$など)に対するSELECTが付与されないことに注意してください。この監査を有効にすると、この権限を使用するアクティビティがロギングされます。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
PRIVILEGES
SELECT ANY DICTIONARY;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
UNIFIED_AUDIT_TRAILアクセスの監査が有効であること(スコア対象)

UNIFIED_AUDIT_TRAILビューには、データベースによって生成される監査証跡レコードが保持されます。この監査アクションを有効化すると、UNIFIED_AUDIT_TRAILビューへのすべてのアクセス試行が成否にかかわらずロギングされます(そのような文を発行する権限がユーザーにあるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
ALL on SYS.UNIFIED_AUDIT_TRAIL;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
CREATE PROCEDURE/FUNCTION/PACKAGE/PACKAGE BODY操作の監査が有効であること(スコア対象)

データベースに格納されているOracleデータベースのプロシージャ、ファンクション、パッケージおよびパッケージ本体は、これらのオブジェクトに含まれているPL/SQLコードとSQL文で定義されたビジネス・ファンクションを実行してデータベースにアクセスするために作成されたものです。この統合操作監査が有効になっていると、ユーザーが発行したすべてのCREATE PROCEDURE文、CREATE FUNCTION文、CREATE PACKAGE文およびCREATE PACKAGE BODY文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
CREATE PROCEDURE,
CREATE FUNCTION,
CREATE PACKAGE,
CREATE PACKAGE BODY;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
ALTER PROCEDURE/FUNCTION/PACKAGE/PACKAGE BODY操作の監査が有効であること(スコア対象)

データベースに格納されているOracleデータベースのプロシージャ、ファンクション、パッケージおよびパッケージ本体は、これらのオブジェクトに含まれているPL/SQLコードとSQL文で定義されたビジネス・ファンクションを実行しデータベースにアクセスするために作成されたものです。この統合操作監査が有効になっていると、ユーザーが発行したすべてのALTER PROCEDURE文、ALTER FUNCTION文、ALTER PACKAGE文およびALTER PACKAGE BODY文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
ALTER PROCEDURE,
ALTER FUNCTION,
ALTER PACKAGE,
ALTER PACKAGE BODY;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
DROP PROCEDURE/FUNCTION/PACKAGE/PACKAGE BODY操作の監査が有効であること(スコア対象)

データベースに格納されているOracleデータベースのプロシージャ、ファンクション、パッケージおよびパッケージ本体は、これらのオブジェクトに含まれているPL/SQLコードとSQL文で定義されたビジネス・ファンクションを実行しデータベースにアクセスするために作成されたものです。この統合操作監査が有効になっていると、ユーザーが発行したすべてのDROP PROCEDURE文、DROP FUNCTION文、DROP PACKAGE文またはDROP PACKAGE BODY文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
DROP PROCEDURE,
DROP FUNCTION,
DROP PACKAGE,
DROP PACKAGE BODY;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
ALTER SYSTEM権限の監査が有効であること(スコア対象)

ALTER SYSTEM権限によって、ユーザーは、データベースのセキュリティ体制、パフォーマンスまたは通常の操作に影響を与えるインスタンスの設定を変更できます。また、ALTER SYSTEM権限は、ドキュメント化されていないOracle機能を使用してオペレーティング・システムのコマンドを実行するために使用されることもあります。この統合監査が有効になっていると、この権限を行使するユーザーが発行したアクティビティが成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
ALTER SYSTEM;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
CREATE TRIGGER操作の監査が有効であること(スコア対象)

Oracleデータベースのトリガーは、基礎となるオブジェクトに指定した条件が成立したときに自動的に実行されます。トリガー本体にはコードが含まれていて、ほとんどの場合、データの整合性/セキュリティを確保するため、またはデータに対して許容可能な操作に関する重要な制約を強制するためにデータの検証を実行します。この統合監査が有効になっていると、ユーザーが発行したすべてのCREATE TRIGGER文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
CREATE TRIGGER;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
ALTER TRIGGER操作の監査が有効であること(スコア対象)

Oracleデータベースのトリガーは、基礎となるオブジェクトに指定した条件が成立したときに自動的に実行されます。トリガー本体にはコードが含まれていて、ほとんどの場合、データの整合性/セキュリティを確保するため、またはデータに対して許容可能な操作に関する重要な制約を強制するためにデータの検証を実行します。この統合監査が有効になっていると、ユーザーが発行したすべてのALTER TRIGGER文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
ALTER TRIGGER;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
DROP TRIGGER操作の監査が有効であること(スコア対象)

Oracleデータベースのトリガーは、基礎となるオブジェクトに指定した条件が成立したときに自動的に実行されます。トリガー本体にはコードが含まれていて、ほとんどの場合、データの整合性/セキュリティを確保するため、またはデータに対して許容可能な操作に関する重要な制約を強制するためにデータの検証を実行します。この統合監査が有効になっていると、ユーザーが発行したすべてのDROP TRIGGER文が成否にかかわらずロギングされます(このユーザーに、そのような文を発行する権限があるかどうかは問われません)。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
DROP TRIGGER;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
LOGONおよびLOGOFF操作の監査が有効であること(スコア対象)

Oracleデータベースのユーザーは、データベースにログオンして作業を実行します。この統合監査が有効になっていると、ユーザーが発行したすべてのLOGON操作が成否にかかわらずロギングされます(このユーザーに、データベースにログインする権限があるかどうかは問われません)。また、LOGOFF操作の監査ではログオフ・アクティビティが取得されます。この監査アクションでは、SYSDBAおよびSYSOPERによるオープン状態のデータベースへのログオン/ログオフも取得します。

是正

この設定を是正するには、次のSQL文を実行します。

ALTER AUDIT POLICY CIS_UNIFIED_AUDIT_POLICY
ADD
ACTIONS
LOGON,
LOGOFF;

ノート:

CIS_UNIFIED_AUDIT_POLICYがない場合は、CREATE AUDIT POLICY文を使用して作成してください。
PDB固有の修正

この項の推奨事項は、PDBに統合監査を使用している場合に従う必要があります。

CDBから修正するルール

次のルールは、PDB内からは修正できません。ユーザーは、CDBに接続して、CISドキュメントで指定された修正処置を実行することで修正する必要があります。

  • ルール2.2.1 AUDIT_SYS_OPERATIONSがTRUEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.2 AUDIT_TRAILがDB、XML、OS、DB,EXTENDEDまたはXML,EXTENDEDに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.5 OS_ROLESがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.6 REMOTE_LISTENERか空になっていること(コンプライアンス標準ルール)
  • ルール2.2.8 REMOTE_OS_AUTHENTがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.9 REMOTE_OS_ROLESがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.10 'UTL_FILE_DIR'が空になっていること(コンプライアンス標準ルール)
  • ルール2.2.11 SEC_CASE_SENSITIVE_LOGONがTRUEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.12 SEC_MAX_FAILED_LOGIN_ATTEMPTSが3以下になっていること(コンプライアンス標準ルール)
  • ルール2.2.15 SEC_RETURN_SERVER_RELEASE_BANNERがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.17 _trace_files_publicがFALSEに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.13 SEC_PROTOCOL_ERROR_FURTHER_ACTIONがDROP,3に設定されていること(コンプライアンス標準ルール)
  • ルール2.2.14 SEC_PROTOCOL_ERROR_TRACE_ACTIONがLOGに設定されていること(コンプライアンス標準ルール)
  • ルール2.2.16 SQL92_SECURITYがTRUEに設定されていること(コンプライアンス標準ルール)