演習: STIGコンプライアンスのための事前に定義された統合監査ポリシーの使用

この演習では、事前に定義された統合監査ポリシーを使用して、セキュリティ技術導入ガイド(STIG)の監査要件を実装する方法を示します。

  1. 新しい演習を開始する前に、演習の環境の推奨事項を参照してください。
  2. SYSTEMとしてPDB20に接続し、実装されている事前に定義された統合監査ポリシーを確認します。
    $ sqlplus system@PDB20
    
    Enter password: password
    Connected.
    SQL> SELECT DISTINCT policy_name FROM audit_unified_policies ORDER BY 1;
    
    POLICY_NAME
    --------------------------------------------------------------------------------
    ORA_ACCOUNT_MGMT
    ORA_ALL_TOPLEVEL_ACTIONS
    ORA_CIS_RECOMMENDATIONS
    ORA_DATABASE_PARAMETER
    ORA_DV_AUDPOL
    ORA_DV_AUDPOL2
    ORA_LOGON_FAILURES
    ORA_LOGON_LOGOFF
    ORA_RAS_POLICY_MGMT
    ORA_RAS_SESSION_MGMT
    ORA_SECURECONFIG
    ORA_STIG_RECOMMENDATIONS
    
    12 rows selected.
    
    SQL>

    3つの新しい事前に定義された統合監査ポリシーが実装されていることに注目します。

  3. これらのポリシーは、STIGコンプライアンスを満たすために有効になっていますか。
    SQL> SELECT * FROM audit_unified_enabled_policies 
          WHERE policy_name IN ('ORA_ALL_TOPLEVEL_ACTIONS','ORA_LOGON_LOGOFF','ORA_STIG_RECOMMENDATIONS');
    
    no rows selected
    
    SQL>

    これらは、いずれも有効になっていません。

  4. これらのポリシーのいずれかを有効にする前に、監査対象となるアクションを把握します。
    1. ORA_STIG_RECOMMENDATIONSによって監査されるアクションを確認します。
      SQL> COL audit_option FORMAT A26
      SQL> COL AUDIT_OPTION_TYPE FORMAT A16
      SQL> COL OBJECT_SCHEMA FORMAT A4
      SQL> COL OBJECT_NAME FORMAT A22
      SQL> COL OBJECT_TYPE FORMAT A7
      SQL> SELECT audit_option, audit_option_type, object_schema, object_name, object_type
            FROM  audit_unified_policies
            WHERE policy_name = 'ORA_STIG_RECOMMENDATIONS';
      
      AUDIT_OPTION               AUDIT_OPTION_TYP OBJE OBJECT_NAME            OBJECT_
      -------------------------- ---------------- ---- ---------------------- -------
      ALTER SESSION              SYSTEM PRIVILEGE NONE NONE                   NONE
      CREATE TABLE               STANDARD ACTION  NONE NONE                   NONE
      DROP TABLE                 STANDARD ACTION  NONE NONE                   NONE
      ALTER TABLE                STANDARD ACTION  NONE NONE                   NONE
      CREATE SYNONYM             STANDARD ACTION  NONE NONE                   NONE
      DROP SYNONYM               STANDARD ACTION  NONE NONE                   NONE
      CREATE VIEW                STANDARD ACTION  NONE NONE                   NONE
      DROP VIEW                  STANDARD ACTION  NONE NONE                   NONE
      CREATE PROCEDURE           STANDARD ACTION  NONE NONE                   NONE
      ALTER PROCEDURE            STANDARD ACTION  NONE NONE                   NONE
      ALTER DATABASE             STANDARD ACTION  NONE NONE                   NONE
      ALTER USER                 STANDARD ACTION  NONE NONE                   NONE
      ALTER SYSTEM               STANDARD ACTION  NONE NONE                   NONE
      CREATE USER                STANDARD ACTION  NONE NONE                   NONE
      CREATE ROLE                STANDARD ACTION  NONE NONE                   NONE
      DROP USER                  STANDARD ACTION  NONE NONE                   NONE
      DROP ROLE                  STANDARD ACTION  NONE NONE                   NONE
      SET ROLE                   STANDARD ACTION  NONE NONE                   NONE
      CREATE TRIGGER             STANDARD ACTION  NONE NONE                   NONE
      ALTER TRIGGER              STANDARD ACTION  NONE NONE                   NONE
      DROP TRIGGER               STANDARD ACTION  NONE NONE                   NONE
      CREATE PROFILE             STANDARD ACTION  NONE NONE                   NONE
      DROP PROFILE               STANDARD ACTION  NONE NONE                   NONE
      ALTER PROFILE              STANDARD ACTION  NONE NONE                   NONE
      DROP PROCEDURE             STANDARD ACTION  NONE NONE                   NONE
      CREATE MATERIALIZED VIEW   STANDARD ACTION  NONE NONE                   NONE
      ALTER MATERIALIZED VIEW    STANDARD ACTION  NONE NONE                   NONE
      DROP MATERIALIZED VIEW     STANDARD ACTION  NONE NONE                   NONE
      CREATE TYPE                STANDARD ACTION  NONE NONE                   NONE
      DROP TYPE                  STANDARD ACTION  NONE NONE                   NONE
      ALTER ROLE                 STANDARD ACTION  NONE NONE                   NONE
      ALTER TYPE                 STANDARD ACTION  NONE NONE                   NONE
      CREATE TYPE BODY           STANDARD ACTION  NONE NONE                   NONE
      ALTER TYPE BODY            STANDARD ACTION  NONE NONE                   NONE
      DROP TYPE BODY             STANDARD ACTION  NONE NONE                   NONE
      DROP LIBRARY               STANDARD ACTION  NONE NONE                   NONE
      ALTER VIEW                 STANDARD ACTION  NONE NONE                   NONE
      CREATE FUNCTION            STANDARD ACTION  NONE NONE                   NONE
      ALTER FUNCTION             STANDARD ACTION  NONE NONE                   NONE
      DROP FUNCTION              STANDARD ACTION  NONE NONE                   NONE
      CREATE PACKAGE             STANDARD ACTION  NONE NONE                   NONE
      ALTER PACKAGE              STANDARD ACTION  NONE NONE                   NONE
      DROP PACKAGE               STANDARD ACTION  NONE NONE                   NONE
      CREATE PACKAGE BODY        STANDARD ACTION  NONE NONE                   NONE
      ALTER PACKAGE BODY         STANDARD ACTION  NONE NONE                   NONE
      DROP PACKAGE BODY          STANDARD ACTION  NONE NONE                   NONE
      CREATE LIBRARY             STANDARD ACTION  NONE NONE                   NONE
      CREATE JAVA                STANDARD ACTION  NONE NONE                   NONE
      ALTER JAVA                 STANDARD ACTION  NONE NONE                   NONE
      DROP JAVA                  STANDARD ACTION  NONE NONE                   NONE
      CREATE OPERATOR            STANDARD ACTION  NONE NONE                   NONE
      DROP OPERATOR              STANDARD ACTION  NONE NONE                   NONE
      ALTER OPERATOR             STANDARD ACTION  NONE NONE                   NONE
      CREATE SPFILE              STANDARD ACTION  NONE NONE                   NONE
      ALTER SYNONYM              STANDARD ACTION  NONE NONE                   NONE
      ALTER LIBRARY              STANDARD ACTION  NONE NONE                   NONE
      DROP ASSEMBLY              STANDARD ACTION  NONE NONE                   NONE
      CREATE ASSEMBLY            STANDARD ACTION  NONE NONE                   NONE
      ALTER ASSEMBLY             STANDARD ACTION  NONE NONE                   NONE
      ALTER PLUGGABLE DATABASE   STANDARD ACTION  NONE NONE                   NONE
      CREATE LOCKDOWN PROFILE    STANDARD ACTION  NONE NONE                   NONE
      DROP LOCKDOWN PROFILE      STANDARD ACTION  NONE NONE                   NONE
      ALTER LOCKDOWN PROFILE     STANDARD ACTION  NONE NONE                   NONE
      ADMINISTER KEY MANAGEMENT  STANDARD ACTION  NONE NONE                   NONE
      ALTER DATABASE DICTIONARY  STANDARD ACTION  NONE NONE                   NONE
      GRANT                      STANDARD ACTION  NONE NONE                   NONE
      REVOKE                     STANDARD ACTION  NONE NONE                   NONE
      ALL                        OLS ACTION       NONE NONE                   NONE
      EXECUTE                    OBJECT ACTION    SYS  DBMS_SCHEDULER         PACKAGE
      EXECUTE                    OBJECT ACTION    SYS  DBMS_JOB               PACKAGE
      EXECUTE                    OBJECT ACTION    SYS  DBMS_RLS               PACKAGE
      EXECUTE                    OBJECT ACTION    SYS  DBMS_REDACT            PACKAGE
      EXECUTE                    OBJECT ACTION    SYS  DBMS_TSDP_MANAGE       PACKAGE
      EXECUTE                    OBJECT ACTION    SYS  DBMS_TSDP_PROTECT      PACKAGE
      EXECUTE                    OBJECT ACTION    SYS  DBMS_NETWORK_ACL_ADMIN PACKAGE
      
      75 rows selected.
      
      SQL>

      このポリシーを有効にすると、データベースのセキュリティおよび円滑な実行を損なう可能性のあるすべての主要なアクションの他、すべてのOracle Label Securityアクションも監査されます。この結果は、すべてのユーザーに対してポリシーを有効にする必要があることを示しています。

    2. ORA_ALL_TOPLEVEL_ACTIONSによって監査されるアクションを確認します。
      SQL> COL audit_option FORMAT A6
      SQL> COL object_name FORMAT A11
      SQL> COL audit_only_toplevel FORMAT A22
      SQL> SELECT audit_option, audit_option_type, object_schema, object_name, 
                     object_type, audit_only_toplevel
            FROM  audit_unified_policies
            WHERE policy_name = 'ORA_ALL_TOPLEVEL_ACTIONS';
      
      AUDIT_ AUDIT_OPTION_TYP OBJE OBJECT_NAME OBJECT_ AUDIT_ONLY_TOPLEVEL
      ------ ---------------- ---- ----------- ------- ----------------------
      ALL    STANDARD ACTION  NONE NONE        NONE    YES
      
      SQL>

      このポリシーを有効にすると、データベースのセキュリティを損なう可能性のあるオブジェクトに対して権限を持つユーザーの最上位レベルのアクションがすべて監査されます。この結果は、すべてのユーザーに対してポリシーを有効にする必要があることを示しています。

    3. ORA_LOGON_LOGOFFによって監査されるアクションを確認します。
      SQL> COL audit_option FORMAT A6
      SQL> COL object_name FORMAT A11
      SQL> COL audit_only_toplevel FORMAT A22
      SQL> SELECT audit_option, audit_option_type, object_schema, object_name, 
                     object_type, audit_only_toplevel
            FROM  audit_unified_policies
            WHERE policy_name = 'ORA_LOGON_LOGOFF';
      
      AUDIT_ AUDIT_OPTION_TYP OBJE OBJECT_NAME OBJECT_ AUDIT_ONLY_TOPLEVEL
      ------ ---------------- ---- ----------- ------- ----------------------
      LOGON  STANDARD ACTION  NONE NONE        NONE    NO
      LOGOFF STANDARD ACTION  NONE NONE        NONE    NO
      
      SQL>

      このポリシーを有効にすると、データベースへのセキュアでない接続を表示する可能性のあるすべての接続および切断が監査されます。このポリシーは、Center for Internet Security (CIS)と技術導入のセキュリティ・ガイド(STIG)の両方の要件に必要です。

    4. すべてのユーザーに対して3つすべての監査ポリシーを有効にします。
      SQL> AUDIT POLICY ORA_STIG_RECOMMENDATIONS;
      
      Audit succeeded.
      
      SQL> AUDIT POLICY ORA_ALL_TOPLEVEL_ACTIONS;
      
      Audit succeeded.
      
      SQL> AUDIT POLICY ORA_LOGON_LOGOFF;
      
      Audit succeeded.
      
      SQL> EXIT
      $