Oracle Databaseセキュリティ・ガイドのこのリリースの変更

この章の内容は次のとおりです。

Oracle Database Security 12cリリース2 (12.2.0.1)の変更

Oracle Database 12cリリース2 (12.2.0.1)のOracle Databaseセキュリティ・ガイドには、新しいセキュリティ機能と非推奨のセキュリティ機能の両方が含まれています。

新機能

このリリースでは、次の機能が追加されました。

アプリケーション共通オブジェクト、ユーザー、ロールおよびプロファイルを作成する機能

アプリケーション共通オブジェクト(メタデータリンクおよびオブジェクトリンク)、ユーザー、ロールおよびプロファイルを作成できるようになりました。

これらの共通オブジェクトはアプリケーション・ルートに配置されます。このマニュアルでは、アプリケーション共通ユーザー、ロールおよびプロファイルのセキュリティを管理する方法について説明します。

アプリケーション・コンテナのセキュリティ機能

アプリケーション・コンテナにより、アプリケーション共通ユーザーへの権限付与、アプリケーション・コンテキストの使用方法など、いくつかのデフォルトのセキュリティ機能に影響があります。

影響を受ける機能は次のとおりです。

  • アプリケーション共通ユーザー: 他の権限に加えて、SYSDBAおよびSYSOPER管理権限をアプリケーション共通ユーザーに付与できます。

  • アプリケーション・コンテキスト: アプリケーション・ルートにアプリケーションを作成するときに、そのアプリケーションで使用するアプリケーション・コンテキストを作成できます。このアプリケーション・コンテキストはアプリケーション・ルートに配置されます。

  • Oracle Virtual Private Database: アプリケーション共通オブジェクトを保護する仮想プライベート・データベース・ポリシーを作成できます。これらのポリシーはアプリケーション・ルートに配置されます。

  • 透過的機密データ保護: 透過的機密データ保護(TSDP)ポリシーを現在のプラガブル・データベース(PDB)または現在のアプリケーションPDBにのみ適用できます。

  • Transport Layer Security: Secure Sockets Layer (SSL)を使用している場合、SSLの更新バージョンであるTransport Layer Security (TLS)を使用する予定があれば、各PDBで独自のウォレットと独自のTLS認証用の証明書を使用できることを確認する必要があります。

  • 監査: アプリケーション・コンテナのマルチテナント環境では、従来の監査、統合監査およびファイングレイン監査はすべて、アプリケーション・コンテナの使用による影響を受けます。

Oracle Real Application ClustersのSYSRAC管理権限の追加

このリリースから、SYSRAC管理権限がOracle Real Applications (Oracle RAC) ClusterwareエージェントによってOracle RACの管理に使用されます。

管理ユーザーの認証の強化

管理ユーザー・アカウントの認証において、パスワード・ファイル、パスワード・プロファイル・パラメータ、Secure Sockets Layer (SSL)、Kerberosおよびマルチテナント環境にあわせた強化が行われました。

これらの機能強化は次のとおりです。

  • SYSDBAおよびSYSOPER管理権限に加えて、SYSASMSYSBACKUPSYSDGおよびSYSKM管理権限を付与された外部ユーザーのパスワード・ファイルを作成できます。この機能強化はマルチテナント環境において、ローカルおよび共通外部管理ユーザーと、SSLまたはKerberos認証構成による外部ユーザーの両方に対して提供されます。

  • SYSDG管理権限をシャーディング環境で使用できます。

  • 管理ユーザーの認証にパスワード・プロファイルのパラメータ(PASSWORD_LIFE_TIMEなど)を使用できます。

管理パスワードの管理の強化

このリリースでは、関連する管理ユーザーのプロファイルのパスワード制限を強制することで、管理パスワードの管理のためのセキュリティが強化されました。

これらのプロファイルの制限には、たとえばFAILED_LOGIN_COUNTPASSWORD_LOCK_TIMEPASSWORD_GRACE_TIMEPASSWORD_LIFE_TIMEなどがあります。

管理ユーザーと非管理ユーザーの両方に適用できるパスワード・ファイルを作成できます。ORAPWDユーティリティのFORMATパラメータを12.2に設定してパスワード・ファイルを作成するかぎり、CREATE PROFILE文のPASSWORD_VERIFY_FUNCTION句を使用してパスワード・ファイルを作成すると、この設定が管理ユーザーと非管理ユーザーに適用されるようになりました。

また、ORAPWDユーティリティでは、オペレーティング・システム・パスワード・ファイルのエントリ引数の制限が除外されました。

STIGコンプライアンス機能

セキュリティ技術導入ガイド(STIG)のコンプライアンスを満たせるように、Oracle Databaseに2つの新しいユーザー・セキュリティ機能が用意されました。

これらの機能は次のとおりです。

  • ora12c_stig_verify_functionパスワード複雑度ファンクション

  • ora_stig_profileユーザー・プロファイル

  • STIG要件に対応するため、次の初期化パラメータが変更されました。

    • SEC_PROTOCOL_ERROR_FURTHER_ACTIONのデフォルトが(DROP,3)になりました。

    • SEC_MAX_FAILED_LOGIN_ATTEMPTSのデフォルトが3になりました。

    • SQL92_SECURITY PARAMETERのデフォルトがTRUEになりました。

パスワード・バージョンのセキュリティ強化

このリリースから、Oracle Databaseのパスワード認証のバージョンについて、いくつかの強化が行われました。

  • SQLNET.ALLOWED_LOGON_VERSION_SERVERパラメータのデフォルトが11ではなく、12 (排他モード)になりました。12に設定すると、11G12Cの両方のパスワード・バージョンが生成されます。生成を12Cパスワード・バージョンに制限してパスワードのセキュリティを高める場合は、SQLNET.ALLOWED_LOGON_VERSION_SERVER12aに設定できます。

    サーバーに接続するクライアントのバージョンを確認して、これらのクライアントでO5L_NP機能が使用されるようにします。Oracle Databaseリリース11.2.0.3以上のすべてのクライアントにO5L_NP機能があります。以前のOracle Databaseクライアントがある場合は、CPUOct2012パッチをインストールする必要があります。

  • 12Cパスワード・バージョンが自動的に生成されるようになりました。以前のリリースでは、10Gパスワード・バージョンが自動的に生成されていました。

関連項目:

非アクティブなデータベース・ユーザー・アカウントの自動ロック機能

このリリースから、ユーザー・アカウントを構成して、特定の期間非アクティブな場合に自動的にロックできるようになりました。

CREATE USERおよびALTER USER SQL文を使用すると、新しいプロファイル・パラメータINACTIVE_ACCOUNT_TIMEを設定して、非アクティブなアカウントを自動的にロックできます。

データベース・リンク・アクセスの制御における柔軟性の向上

このリリースから、ユーザーによるデータベース・リンク・アクセスをより詳細に制御できるようになりました。

次の領域において、データベース・リンク・アクセスを有効または無効にできます。

  • データベース・リンクを介してデータベースにアクセスする介在者攻撃からのデータベースの保護: この機能を制御するには、OUTBOUND_DBLINK_PROTOCOLS初期化パラメータを設定します。

  • ユーザーがLDAPを使用してグローバル・データベース・リンクを介してデータにアクセスする機能の制御: ALLOW_GLOBAL_DBLINKS初期化パラメータを設定できます。

詳細は、ネットワーク接続のセキュリティを参照してください。

データベース・リンクの定義者権限を制御する機能

INHERIT REMOTE PRIVILEGESおよびINHERIT ANY REMOTE PRIVILEGES権限を使用して、ユーザーがデータベース・リンクを介してアクセスするプロシージャの定義者権限を制御できるようになりました。

これらの権限は、INHERIT PRIVILEGESおよびINHERIT ANY PRIVILEGES権限と同様です。

PDBロックダウン・プロファイルによるPDBでの操作の制限

マルチテナント環境でPDBロックダウン・プロファイルを使用して、特定のPDBのユーザーが使用できる機能を制限できるようになりました。

PDBロックダウン・プロファイルを使用すると、ユーザーのアクセスを一連の機能(個別に、またはまとめて)に制限できます。この機能は、PDB間で識別情報が共有される状況のセキュリティを強化するために設計されています。

PDBのオペレーティング・システム・ユーザーの識別情報を設定する機能

マルチテナント環境でPDB_OS_CREDENTIAL初期化パラメータを使用して、異なるオペレーティング・システム・ユーザーによるEXTPROCプロセスを介した外部プロシージャの実行を許可できるようになりました。

以前のリリースでは、外部プロシージャの認証と起動にDBMS_CREDENTIALを使用して資格証明オブジェクトを作成するためにEXTPROCは使用されていました。この機能は現在、PDB全体のCREDENTIALを関連付けることによって、PDBレベルで使用できます。これは、PDBのデータベース・ユーザーによって実行されるEXTPROC外部プロシージャに対して自動的に使用されます。

この機能は、環境内のすべてのPDBにおいて、1人のユーザー(oracleオペレーティング・システム・ユーザー)に頼らず、各PDBで独自のオペレーティング・システム・ユーザー・アカウントを持てるようにすることで、マルチテナント環境のセキュリティを強化します。ルートでは引き続き、oracleオペレーティング・システム・ユーザー・アカウントを使用します。

詳細は、PDBのオペレーティング・システム・ユーザーの構成を参照してください。

Kerberosユーティリティの更新

Oracle Databaseで、MIT Kerberos 1.8で更新されたKerberosツールのバージョンがサポートされるようになりました。

以前のリリースでは、krb5.confファイルを構成する管理者がOracleクライアントを手動で構成する必要がありました。このリリースでは、Oracle Databaseに汎用のkrb5.confファイルが用意され、デフォルトで使用されます。kerb5.confファイルには、DNS情報からレルムおよびKDC情報を自動的に取得できるようにするパラメータがあります。レルムおよびKDC情報の自動検出により、Kerberosを使用するクライアント・エンドポイントを構成するために実行する必要がある作業量が軽減されます。

この機能強化にはokinitoklistおよびokdstry Kerberosアダプタ・コマンドライン・ユーティリティの更新が含まれるほか、KDCまたはサービス・エンドポイントからキー表の作成を自動化できる新しいユーティリティokcreateも用意されています。

透過的機密データ保護に関する追加のセキュリティ機能のサポート

透過的機密データ保護ポリシーを作成して、統合監査ポリシー、ファイングレイン監査ポリシー、および透過的データ暗号化列暗号化を使用できるようになりました。

以前のリリースでは、Oracle Data RedactionおよびOracle Virtual Private Databaseのセキュリティ機能を使用する透過的機密データ保護ポリシーを作成することができました。

また、各PDBで独自のウォレットと独自の透過的機密データ保護認証用の証明書を使用できるように、マルチテナント環境の各プラガブル・データベース(PDB)に対して別々のウォレット・パスワードを使用できるようになりました。各PDBに異なるウォレット・パスワードを指定する機能により、ウォレットへの管理アクセスをより適切に制限できます。この機能は、マルチテナント環境内のテナント間に必要な分離を提供します。これらのテナントは個々の会社でも、大規模な企業の異なるビジネス・ユニットでもかまいません。

ユーザーのグループに対してロールを介して統合監査を有効にする機能

このリリースから、データベース・ロールに対して監査ポリシーを有効にできるようになりました。

この機能を使用すると、ロールを直接付与されたすべてのユーザーに対してポリシーを有効にできます。ユーザーにロールが付与されているかぎり、かつユーザーが存在しているかぎり、そのユーザーに対してポリシーは有効なままです。

この機能向上に対応するために、次の変更が行われました。

  • AUDITおよびNOAUDIT文に、新しい句BY USERS WITH GRANTED ROLESが追加されました。

  • AUDIT_UNIFIED_ENABLED_POLICIESおよびDBA_XS_ENB_AUDIT_POLICIESデータ・ディクショナリ・ビューに次の新しい列が追加されました。

    • ENTITY_NAMEによりユーザー名とロール名が取得されます。

    • ENTITY_TYPEには、エンティティ名がUSERROLEのいずれであるかが示されます。

    • ENABLED_OPTIONには、ユーザーに対して有効なポリシーの場合はBYおよびEXCEPTが表示されますが、ロールに対して有効なポリシーの場合はINVALIDが表示されます。

  • AUDIT_UNIFIED_ENABLED_POLICIES.ENABLED_OPTION列での可能な出力が、BY USEREXCEPT USERBY GRANTED ROLEおよびINVALIDになりました。

関連項目:

Oracle Database Real Application Securityの新しい監査イベント

このリリースでは、Oracle Real Application Securityの統合監査ポリシーに2つの新しい監査イベントが用意されています。

  • AUDIT_GRANT_PRIVILEGEは、GRANT_SYSTEM_PRIVILEGE権限の使用を監査します。

  • AUDIT_REVOKE_PRIVILEGEは、REVOKE_SYSTEM_PRIVILEGE権限の使用を監査します。

監査証跡でOracle Virtual Private Databaseの述語を取得する機能

Oracle Virtual Private Database (VPD)が生成する述語を監査証跡で取得できるようになりました。

この機能強化は、統合監査証跡、ファイングレイン監査証跡、および(統合監査が有効になっていない場合は)標準監査証跡(DBA_AUDIT_TRAIL)に適用されます。この機能強化にあわせて、次のデータ・ディクショナリ・ビューに新しい列RLS_INFOが追加されました。

  • UNIFIED_AUDIT_TRAIL

  • DBA_AUDIT_TRAIL (まだ統合監査に移行していない環境で使用)

  • V$XML_AUDIT_TRAIL (まだ統合監査に移行していない環境で使用)

  • DBA_FGA_AUDIT_TRAIL (まだ統合監査に移行していない環境で使用)

1つのオブジェクトに対して複数のVPDポリシーが実施されている場合、すべてのVPDポリシー・タイプ、ポリシー・スキーマ、ポリシー名および述語は連結され、1つの列に格納されます。各VPDポリシーのVPD述語情報をビューで別々の行に分けるために、新しいPL/SQLパッケージDBMS_AUDIT_UTILを使用できます。

関連項目:

AUDSYS監査スキーマの強化

統合監査レコードを格納するAUDSYSスキーマは、セキュリティと統合監査での読取りパフォーマンスが向上しました。

以前のリリースでは、SELECT ANY TABLEシステム権限を持つユーザーはAUDSYSスキーマのオブジェクトを問い合せることができました。このリリースからは、この権限を持つユーザーはAUDSYSスキーマのオブジェクトを問い合せることはできません。SELECT ANY DICTIONARYシステム権限を付与されたユーザーは、AUDSYSスキーマのオブジェクトにアクセスできます。

また、AUDSYSスキーマに新しい内部表が用意されました。この表には統合監査証跡レコードが格納され、その目的は統合監査証跡の読取りパフォーマンスを向上することです。以前のリリースで統合監査に移行済で、まだ以前の場所に監査レコードがある場合は、そのリリースで作成された統合監査レコードを新しい内部表に転送できます。このリリースの新機能でもあるDBMS_AUDIT_MGMT.TRANSFER_UNIFIED_AUDIT_RECORDS PL/SQLプロシージャを使用すると、これらのレコードを新しい内部リレーショナル表に転送できます。

関連項目:

非推奨となった機能

次の機能は、このリリースでは非推奨になりました。

AUDIT_UNIFIED_ENABLED_POLICIESおよびDBA_XS_ENB_AUDIT_POLICIESビューで非推奨となった列

AUDIT_UNIFIED_ENABLED_POLICIESおよびDBA_XS_ENB_AUDIT_POLICIESデータ・ディクショナリ・ビューのUSER_NAMEおよびENABLED_OPT列は、このリリースから非推奨となりました。

このリリースでは、USER_NAME列には引き続き、ポリシーが有効になっているユーザーの名前が表示されますが、ロールに対して有効なポリシーについては、USER_NAME列にNULLが表示されます。

ENABLED_OPT列には、ユーザーに対して有効なポリシーの場合はBYおよびEXCEPTが表示されますが、ロールに対して有効なポリシーの場合はINVALIDが表示されます。この列は、ENABLED_OPTION列によって置き換えられます。

非推奨となったパスワード検証ファンクション

VERIFY_FUNCTIONおよびVERIFY_FUNCTION_11Gパスワード検証ファンクションは、このリリースから非推奨となりました。

これらのファンクションが非推奨となったのは、以前のリリースの弱いパスワード制限が強制されるためです。かわりに、より強力かつ最新のパスワード検証制限を強制するORA12C_VERIFY_FUNCTIONおよびORA12C_STRONG_VERIFY_FUNCTIONファンクションを使用することが望まれます。

UNIFIED_AUDIT_SGA_QUEUE_SIZE初期化パラメータの非推奨化

UNIFIED_AUDIT_SGA_QUEUE_SIZE初期化パラメータは非推奨となりました。

このリリースから、Oracle Databaseの監査は統合監査レコードの書込みのためにシステム・グローバル領域(SGA)ベースの問合せに依存しなくなったため、このパラメータは必要なくなりました。

DBMS_AUDIT_MGMTパッケージのCONTAINER_GUIDパラメータの非推奨化

監査パフォーマンス改善のための内部再設計の一環として、DBMS_AUDIT_MGMT PL/SQLパッケージのCONTAINER_GUIDパラメータは非推奨となりました。

このパラメータは必要なくなりました。この非推奨化により、次のDBMS_AUDIT_MGMTプロシージャが影響を受けます。

  • DBMS_AUDIT_MGMT.CLEAN_AUDIT_TRAIL

  • DBMS_AUDIT_MGMT.CLEAR_LAST_ARCHIVE_TIMESTAMP

  • DBMS_AUDIT_MGMT.SET_LAST_ARCHIVE_TIMESTAMP

関連項目:

監査証跡レコードをディスクにフラッシュする設定の非推奨化

監査レコードが自動的に新しい内部リレーショナル表に書き込まれるようになったため、手動で監査レコードをディスクにフラッシュする必要はなくなりました。

この機能強化により、フラッシュ・プロセスは共通ロギング・インフラストラクチャのキューを介さずに済みます。非推奨となった設定は次のとおりです。

  • DBMS_AUDIT_MGMT.FLUSH_UNIFIED_AUDIT_TRAILプロシージャ

  • DBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_PROPERTYプロシージャのAUDIT_TRAIL_PROPERTYパラメータのAUDIT_TRAIL_WRITEモード

Oracle Database Security 12.2の更新

Oracle Databaseリリース12.2には、リリース11.2以降のすべてのリリースに適用される新しいセキュリティ更新が1つあります。

ネイティブ暗号化のセキュリティ更新

Oracleでは、Oracle Databaseリリース11.2以降における、ネイティブ・ネットワーク暗号化環境に影響を与える必要なセキュリティ機能強化に対応するために、ダウンロード可能なパッチを提供しています。

このパッチは、My Oracle Supportノート2118136.2で入手できます。

改善されたサポート対象アルゴリズムは次のとおりです。

  • 暗号化アルゴリズム: AES128、AES192およびAES256
  • チェックサム・アルゴリズム: SHA1、SHA256、SHA384およびSHA512

非推奨であり、使用をお薦めしないアルゴリズムは次のとおりです。

  • 暗号化アルゴリズム: DES、DES40、3DES112、3DES168、RC4_40、RC4_56、RC4_128およびRC4_256
  • チェックサム・アルゴリズム: MD5

サイトでネットワーク・ネイティブ暗号化を使用する必要がある場合は、My Oracle Supportノート2118136.2で説明されているパッチをダウンロードする必要があります。Oracle Databaseインストールの円滑な移行を可能にするために、このパッチでは、脆弱なアルゴリズムを無効にしより強力なアルゴリズムの使用を開始できる、2つのパラメータが提供されます。このパッチは、サーバー上とクライアント上の両方のOracle Databaseインストールにインストールする必要があります。

ネットワーク・ネイティブの暗号化の代替となるのは、TLS (Transport Layer Security)であり、中間者攻撃からの保護を実現します。