プライマリ・コンテンツに移動
Oracle® Database 2日でセキュリティ・ガイド
12c リリース2 (12.2)
E81327-04
目次へ移動
目次
索引へ移動
索引

前
次

2 データベースのインストール環境と構成の保護

Oracle Databaseのインストール、使用するネットワーク、およびデータベース・ユーザー・アカウントを保護する必要があります。

データベースのインストール環境と構成の保護について

Oracle Databaseのインストール後、データベースのインストールおよび構成を保護する必要があります。

Oracleでは、データベースのインストールと構成を保護するための一般的な方法を提供し、これらのすべてはデータベース・ファイルの特定の領域への権限を制限します。

Oracle Databaseは、いくつかのオペレーティング・システムで使用できます。Oracle Databaseに関する詳細なプラットフォーム固有情報は、次のマニュアルを参照してください。

  • Oracle Databaseのプラットフォーム・ガイド

  • Oracle Databaseの管理者リファレンス

  • 使用しているプラットフォームの『Oracle Databaseインストレーション・ガイド』

Oracle Databaseインストールへのアクセスの保護

Oracle Databaseでは、インストール環境を保護するためのデフォルトのセキュリティ設定と初期化パラメータが提供されています。

デフォルトのセキュリティ設定

新しいデータベースを作成する場合、Oracle Databaseでは、デフォルトのセキュリティ設定のセットが提供されます。

これらのデフォルトのセキュリティ設定は次のとおりです。

  • デフォルトの監査設定を有効にします。詳細は、Oracle Databaseセキュリティ・ガイドを参照してください。

  • 新しいパスワードまたは変更したパスワードの厳しい制約を作成します。「パスワードの作成要件」に、新しいパスワードの要件が記載されています。

  • PUBLICロールからCREATE EXTERNAL JOB権限を削除します。よりセキュリティを強化するために、CREATE EXTERNAL JOB権限をSYS、データベース管理者、およびこの権限が必要な信頼できるユーザーにのみ付与します。

  • セキュリティ関連の初期化パラメータおよびプロファイル・パラメータを設定します。表2-1に、デフォルトのパラメータ設定を示します。

    表2-1 初期化パラメータとプロファイル・パラメータのデフォルトのセキュリティ設定

    設定 デフォルト

    O7_DICTIONARY_ACCESSIBILITY

    FALSE

    PASSWORD_GRACE_TIME

    7

    PASSWORD_LOCK_TIME

    1

    FAILED_LOGIN_ATTEMPTS

    10

    PASSWORD_LIFE_TIME

    180

    PASSWORD_REUSE_MAX

    UNLIMITED

    PASSWORD_REUSE_TIME

    UNLIMITED

    REMOTE_OS_ROLES

    FALSE

Oracleデータ・ディクショナリのセキュリティ

データ・ディクショナリは、スキーマ定義やデフォルト値など、データベースに関する情報を提供する一連のデータベース表です。

Oracleデータ・ディクショナリについて

Oracleデータ・ディクショナリには、Oracle Databaseユーザーの名前と権限などの情報が含まれます。

データ・ディクショナリの内容は次のとおりです。

  • Oracle Databaseユーザーの名前

  • 各ユーザーに付与されている権限とロール

  • データベース内のすべてのスキーマ・オブジェクトの定義(表、ビュー、索引、クラスタ、シノニム、順序、プロシージャ、ファンクション、パッケージ、トリガーなど)

  • スキーマ・オブジェクトに割り当てられている容量と現在使用されている容量

  • 列のデフォルト値

  • 整合性制約情報

  • 様々なスキーマ・オブジェクトをアクセスまたは更新した人物などの監査情報

  • その他の一般的なデータベース情報

ある特定のデータベースのデータ・ディクショナリ表およびビューは、そのデータベースのSYSTEM表領域に格納されます。ある特定のデータベースのデータ・ディクショナリ表およびビューは、すべてユーザーSYSによって所有されます。SYSDBA管理権限を使用してデータベースに接続すると、データ・ディクショナリに対する完全なアクセス権が付与されます。SYSDBA管理権限へのアクセスは、パッチ適用やその他の管理操作などの必要な操作のみに限定することをお薦めします。データ・ディクショナリは、すべてのOracle Databaseの中心です。

データ・ディクショナリの内容は、データ・ディクショナリ・ビューを問い合せることで参照できます(各ビューの説明はOracle Databaseリファレンスを参照)。ただし、データ・ディクショナリのすべてのオブジェクトがユーザーに公開されるわけではありません。データ・ディクショナリ・オブジェクトのサブセット(USER_で始まるオブジェクトなど)は、読取り専用としてすべてのデータベース・ユーザーに公開されます。

例2-1に、DICTIONARYビューを問い合せることでデータ・ディクショナリに固有のデータベース・ビューのリストを検索する方法を示します。

例2-1 データ・ディクショナリに関連するビューの検索

sqlplus system
Enter password: password

SQL> SELECT TABLE_NAME FROM DICTIONARY;

データ・ディクショナリ保護の有効化

O7_DICTIONARY_ACCESSIBILITY初期化パラメータをFALSEに設定すると、データ・ディクショナリが保護されます。

O7_DICTIONARY_ACCESSIBILITYパラメータは、ANYシステム権限を持つユーザーによる、データ・ディクショナリ(つまり、SYSスキーマのオブジェクト)に対するこれらの権限の使用を防止します。

Oracle Databaseでは非常に細かく権限を設定できます。そのような権限の1つは、一般にANY権限と呼ばれ、通常アプリケーション所有者および個々のデータベース管理者にのみ付与されます。たとえば、アプリケーション所有者にDROP ANY TABLE権限を付与する場合があります。O7_DICTIONARY_ACCESSIBILITY初期化パラメータをオンまたはオフにすることにより、ANY権限の偶然または悪意による使用からOracleデータ・ディクショナリを保護することができます。

データ・ディクショナリ保護を有効にするには、次のようにします。

  1. データベースのホームページにアクセスします。

    詳細は、Oracle Database 2日でデータベース管理者を参照してください。

  2. 「管理」メニューから、初期化パラメータを選択します。

    データベース・ログイン・ページが表示されたら、SYSDBAロールが選択されているSYSとしてログインします。

  3. 初期化パラメータ・ページのリストでO7_DICTIONARY_ACCESSIBILITYを検索します。

    「名前」フィールドでO7_(Oの文字)を入力し、「実行」をクリックします。パラメータ名の最初の数文字を入力できます。この場合、O7_によってO7_DICTIONARY_ACCESSIBILTYパラメータが表示されます。

  4. O7_DICTIONARY_ACCESSIBILTYの値をFALSEに設定します。

  5. 「適用」をクリックします。

  6. Oracle Databaseインスタンスを再起動します。

    sqlplus sys as sysdba
    Enter password: password
    
    SQL> SHUTDOWN IMMEDIATE
    SQL> STARTUP 

注意:

  • デフォルトのインストールでは、O7_DICTIONARY_ACCESSIBILITYパラメータはFALSEに設定されます。

  • SELECT ANY DICTIONARY権限はGRANT ALL PRIVILEGES文では付与できませんが、ロールを介して付与できます。ロールの説明は、「ユーザーに権限を付与する場合」および『Oracle Databaseセキュリティ・ガイド』を参照してください。

インストール環境と構成のセキュリティに使用される初期化パラメータ

Oracle Databaseでは、インストール環境と構成のセキュリティを制御するための初期化パラメータが提供されています。

表2-2に、これらの初期化パラメータを示します。

表2-2 インストール環境と構成のセキュリティに使用される初期化パラメータ

初期化パラメータ デフォルト 説明

SEC_RETURN_SERVER_RELEASE_BANNER

FALSE

リリース番号など、クライアント接続での製品バージョン情報の表示を制御します。侵入者は、データベース・リリース番号を使用して、データベース・ソフトウェアに存在するセキュリティ脆弱性に関する情報を検索できる場合があります。このパラメータを設定することで、詳細な製品バージョンの表示を有効または無効にできます。

このパラメータや類似したパラメータの詳細は、Oracle Databaseセキュリティ・ガイドを参照してください。Oracle Databaseリファレンスでは、このパラメータについて詳細に説明しています。

O7_DICTIONARY_ACCESSIBILITY

FALSE

SYSTEM権限に対する制限を制御します。このパラメータの詳細は、「データ・ディクショナリ保護の有効化」を参照してください。Oracle Databaseリファレンスでは、このパラメータについて詳細に説明しています。

初期化パラメータ値の変更

初期化パラメータの値を変更するには、Enterprise Managerを使用できます。

初期化パラメータ値を変更するには、次のようにします。

  1. データベースのホームページにアクセスします。

    詳細は、Oracle Database 2日でデータベース管理者を参照してください。

  2. 「管理」メニューから、初期化パラメータを選択します。

    データベース・ログイン・ページが表示されたら、SYSDBAロールが選択されているSYSとしてログインします。

  3. 初期化パラメータ・ページの「名前」フィールドに、変更するパラメータの名前を入力し、「実行」をクリックします。

    たとえば、SEC_RETURN_SERVER_RELEASE_NUMBERパラメータを検索する場合は、SEC_RETURNと入力します。または、パラメータのリストを下にスクロールして、変更するパラメータを検索できます。テキストの大文字と小文字は区別されません。

  4. 「値」フィールドで、新しい値を入力するか、リストが存在する場合はリストから選択します。

  5. 「適用」をクリックします。

  6. パラメータが静的な場合は、Oracle Databaseインスタンスを再起動します。

    sqlplus sys as sysdba
    Enter password: password
    
    SQL> SHUTDOWN IMMEDIATE
    SQL> STARTUP 
    

    初期化パラメータが静的かどうかを調べるには、Oracle Databaseリファレンスの説明を確認してください。サマリー表の変更可能設定が「いいえ」の場合は、データベース・インスタンスを再起動する必要があります。

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

Oracle Databaseでは、クライアント接続を保護し、クライアントとサーバー間のネットワークを通過するデータを暗号化する方法が提供されています。

ネットワークの保護について

ネットワークを通過するデータを暗号化する場合は、Oracle Databaseのネットワーク接続を保護するためのガイドラインに従う必要があります。

『Oracle Database 2日でデータベース管理者』および目的のプラットフォーム用の『Oracle Databaseインストレーション・ガイド』のネットワーク環境の構成手順に従って、Oracle Databaseインストール環境へのクライアント接続を構成できます。

ネットワーク暗号化を使用したネットワーク上のデータの保護

情報は、データベース・レベルで暗号化して保護するだけでなく、ネットワークで送受信されるときにも保護する必要があります。

ネットワーク暗号化について

ネットワーク暗号化とは、クライアントとサーバー間のネットワークを移動するデータを暗号化することです。

データベース・レベルだけでなく、ネットワーク・レベルでもデータを暗号化する必要があるのは、ネットワーク・レベルでデータが危険にさらされる可能性があるためです。たとえば、ネットワークを移動する情報がネットワーク・パケット・スニファを使用して傍受され、ファイルにスプールされて不正に使用される可能性があります。このような行為は、ネットワーク上のデータを暗号化することによって防ぐことができます。

ネットワーク上のデータを暗号化するには、次のコンポーネントが必要です。

  • 暗号化シード。暗号化シードは、最大256文字のランダムな文字列です。ネットワークを移動するデータを暗号化する暗号化鍵を生成します。

  • 暗号化アルゴリズム。サポートされるアルゴリズムのタイプ(AES、RC4、DES、3DES)からいずれかを指定します。

  • クライアントまたはサーバーに適用する設定。サーバーと、サーバーが接続する各クライアントを設定する必要があります。

  • クライアントまたはサーバーが暗号化されたデータを処理する方法。サーバーとクライアントで、同じ設定を選択する必要があります(オプションが4つあります)。

  • 暗号化を構成するためのメカニズム。 Oracle Net Managerを使用して暗号化を構成できます。または、sqlnet.ora構成ファイルを編集できます。Oracle Net Managerとsqlnet.oraはどちらもデフォルトのOracle Databaseインストール環境で使用できます。

ネットワーク暗号化の設定

Oracle Net Managerを使用するか、sqlnet.oraファイルを編集して、ネットワーク暗号化を設定できます。

ネットワーク暗号化を設定するには、次のようにします。

  1. サーバー・コンピュータで、Oracle Net Managerを起動します。

    • UNIX: $ORACLE_HOME/binから、次のコマンドラインを入力します。

      netmgr
      
    • Windows: 「スタート」メニューから「すべてのプログラム」をクリックします。次に、「Oracle - HOME_NAME」「Configuration and Migration Tools」「Net Manager」をクリックします

  2. Oracle Net Configurationのナビゲーション・ツリーで、「ローカル」を拡張してから「プロファイル」を選択します。

  3. リストから「ネットワーク・セキュリティ」を選択します。

  4. 「ネットワーク・セキュリティ」で、「暗号化」タブを選択します。

    「暗号化」設定ペインが表示されます。

  5. 次の設定を入力します。

    • 暗号化: リストから、SERVERを選択してサーバーのネットワーク暗号化を構成します。(クライアント・コンピュータの場合は「CLIENT」を選択します)。

    • 暗号化タイプ: 次の値のいずれかを選択して、暗号化および完全性のネゴシエーションをするときのサーバー(またはクライアント)の動作を指定します。

      • 適用: 一方の接続側で「必要」または「リクエスト」が指定されており、受信側のデータベースで矛盾のないアルゴリズムが使用可能になっている場合、サービスはアクティブになります。それ以外の場合、サービスはアクティブにはなりません。

      • 拒否: サービスはアクティブにはなりません。一方の接続側でこのリストのいずれかのメソッドが必要な場合、接続は失敗します。

      • リクエスト: 一方の接続側で「適用」、「必要」または「リクエスト」が指定されており、もう一方の接続側で矛盾のないアルゴリズムが使用可能になっている場合、サービスはアクティブになります。それ以外の場合、サービスはアクティブにはなりません。

      • 必要: サービスはアクティブになります。一方の接続側で「拒否」が指定されている場合、または両立するアルゴリズムがない場合、接続は失敗します。

    • 暗号化シード: 最大256文字のランダムな文字列を入力します。Oracle Databaseは暗号化シードを使用して暗号化キーを生成します。暗号化または完全性のいずれかが有効な場合は必須です。

      暗号化シード・パラメータの一部にカンマ「,」、右括弧「)」などの特殊文字を使用する場合は、一重引用符で値を囲んでください。

    • 使用可能なメソッド: 次のアルゴリズムから1つ以上を選択し、移動ボタン(>)を使用して「選択メソッド」リストに移動します。「選択メソッド」リストに表示される順番により、ネゴシエーションの優先順位が決まります。つまり、最初に表示されるアルゴリズムが最初に選択されます。

      • AES256: Advanced Encryption Standard(AES)。AESはデータ暗号化規格(DES)にかわる暗号化規格として、米国標準技術局(National Institute of Standards and Technology: NIST)で認定されています。AES256を使用すると、256ビットのブロック・サイズを暗号化できます。

      • RC4_256: Rivest Cipher 4 (RC4)。RC4は、Secure Sockets Layer (SSL)などのプロトコルを保護するために最も一般的に使用されるストリーム暗号です。RC4_256を使用すると、最大256ビットのデータを暗号化できます。

      • AES192: AESを使用して192ビットのブロック・サイズを暗号化できます。

      • 3DES168: 3キー・オプションによるTriple Data Encryption Standard (TDES)。3DES168を使用すると、最大168ビットのデータを暗号化できます。

      • AES128: AESを使用して128ビットのブロック・サイズを暗号化できます。

      • RC4_128: RC4を使用して最大128ビットのデータを暗号化できます。

      • 3DES112: 2キー(112ビット)オプションによるトリプルDESを使用できます。

      • DES: 56ビットのData Encryption Standard(DES)キーです。DESは、米国標準技術局(National Institute of Standards and Technology: NIST)の推奨対象ではなくなりました。

      • RC4_40: RC4を使用して最大40ビットのデータを暗号化できます。(非推奨。)

      • DES40: DESを使用して最大40ビットのデータを暗号化できます。(非推奨。)

  6. 「ファイル」メニューから「ネットワーク構成の保存」を選択し、次に 「終了」を選択してOracle Net Managerを終了します。

  7. サーバーに接続する各クライアント・コンピュータごとに、これらの手順を繰り返します。

関連項目:

  • sqlnet.oraファイルのパラメータを編集してネットワーク暗号化を設定する方法の詳細は、『Oracle Net Servicesリファレンス・ガイド』を参照してください。

ネットワーク・セキュリティに使用される初期化パラメータ

Oracle Databaseでは、ネットワーク・セキュリティを構成するための初期化パラメータが提供されています。

表2-3に、ユーザー・アカウントを保護するために設定する初期化パラメータを示します。

表2-3 ネットワーク・セキュリティに使用される初期化パラメータ

初期化パラメータ デフォルト 説明

OS_AUTHENT_PREFIX

OPS$

データベースへの接続を試行するユーザーを識別するためにOracle Databaseで使用される接頭辞を指定します。Oracle Databaseは、このパラメータの値をユーザーのオペレーティング・システム・アカウント名およびパスワードの先頭に連結します。ユーザーが接続リクエストを試行すると、Oracle Databaseは接頭辞の付いたユーザー名をデータベース内のユーザー名と比較します。

REMOTE_LISTENER

デフォルト設定なし

Oracle Netリモート・リスナー(つまり、このインスタンスと同じコンピュータで実行されていないリスナー)のアドレスまたはアドレス・リストを解決するネットワーク名を指定します。アドレスまたはアドレス・リストは、tnsnames.oraファイル、またはシステムで構成されているその他のアドレス・リポジトリで指定されます。

REMOTE_OS_AUTHENT

FALSE

リモート・クライアントがOS_AUTHENT_PREFIXパラメータの値で認証されるかどうかを指定します。

REMOTE_OS_ROLES

FALSE

オペレーティング・システム・ロールがリモート・クライアントに対して許可されるかどうかを指定します。デフォルト値のFALSEを指定すると、Oracle Databaseはリモート・クライアントのロールを識別および管理します。

SEC_PROTOCOL_ERROR_TRACE_ACTION

TRACE

悪意を持つ可能性があるクライアントから不正なパケットを受信したときに、データベースが行うアクションを指定します。

SEC_PROTOCOL_ERROR_FURTHER_ACTION

DROP,3

悪意を持つ可能性があるクライアントから不正なパケットを受信したときに、データベースが行うアクションを指定します。

初期化パラメータを変更するには、「初期化パラメータ値の変更」を参照してください。初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。

ユーザー・アカウントの保護

ユーザー・アカウントは、セキュアなパスワードの作成と、デフォルト・パスワードの変更で保護できます。また、特別なパラメータを使用することで、ユーザー・アカウントをさらに保護できます。

Oracle Databaseユーザー・アカウントの保護について

多くの方法を使用して、共通およびローカルのデータベース・ユーザー・アカウントを保護できます。

たとえば、Oracle Databaseには、パスワードに対する一連の組込み保護があります。デフォルトのデータベース・アカウントとパスワードを保護し、様々な方法でデータベース・アカウントを管理できます。

Oracle Database 2日でデータベース管理者では、ユーザー・ロールの管理方法、管理アカウントについて、パスワード・ポリシーの作成におけるプロファイルの使用方法など、ユーザー・アカウントの作成および管理の基礎について説明します。

ユーザー・アカウントを作成した後で、この項の手順を使用し、次の方法に従ってこれらのアカウントをより強力に保護できます。

  • 事前定義データベース・アカウントの保護。Oracle Databaseのインストール時に、事前定義済のアカウントが作成されます。パスワードを変更することで、これらのアカウントをできるだけ早く保護する必要があります。同じ方法を使用して、通常のユーザー・アカウント、管理アカウント、事前定義のアカウントのいずれであるかにかかわらず、すべてのパスワードを変更できます。このマニュアルでは、最もセキュアなパスワードを作成する方法のガイドラインも示します。

  • データベース・アカウントの管理。データベース・アカウントを期限切れにしたり、ロックできます。

  • パスワードの管理。初期化パラメータを設定することで、パスワードを管理および保護できます。初期化パラメータの詳細は、Oracle Databaseリファレンスを参照してください。

Oracle Databaseから提供される事前定義されるユーザー・アカウント

Oracle Databaseのインストール・プロセスでは、事前定義された管理アカウント、非管理ユーザー・アカウント、およびサンプル・スキーマ・ユーザー・アカウントがデータベースに作成されます。

事前定義された管理アカウント

デフォルトのOracle Databaseインストールでは、監査などのよく使用される機能を管理するための事前定義された管理アカウントが提供されます。

これらのアカウントには、SYSスキーマが所有するパッケージのEXECUTE権限、CREATE ANY TABLE権限、またはALTER SESSIONのような、データベースの領域の管理に必要となる特別な権限を持ちます。管理アカウントのデフォルトの表領域は、SYSTEMSYSAUXです。マルチテナント環境では、事前定義された管理アカウントはルート・データベースにあります。

これらのアカウントを無許可アクセスから保護するため、インストール・プロセスにより表2-4に示されたアカウントを除く、ほとんどのアカウントが期限切れにされ、ロックされます。データベース管理者は、「データベース・アカウントの期限切れおよびロック」で説明しているように、アカウントのロックを解除してリセットする責任があります。

表2-4に、事前定義済の管理ユーザー・アカウントを示します。このアカウントは、標準スクリプト(各種のcat*.sqlスクリプトなど)の実行時に、Oracleデータベースによって自動的に作成されます。Oracleによって作成および管理されるユーザー・アカウントは、ALL_USERSデータ・ディクショナリ・ビューのUSERNAME列とORACLE_MAINTAINED列を問い合せることで確認できます。ORACLE_MAINTAINEDの出力がYの場合、そのユーザー・アカウントは、アカウントの作成に使用したスクリプトを実行するという方法以外で変更しないでください。

表2-4 事前定義されたOracle Databaseの管理ユーザー・アカウント

ユーザー・アカウント 説明 インストール後のステータス

ANONYMOUS

Oracle XML DBにHTTPアクセス可能なアカウント。EPG (Embedded PL/SQL Gateway)をデータベースにインストールするときにAPEX_PUBLIC_USERアカウントのかわりに使用されます。

EPGはOracle Databaseとともに使用されるWebサーバーです。動的アプリケーションの作成に必要なインフラストラクチャを提供します。

期限切れおよびロック済

AUDSYS

統合監査機能によって統合監査証跡レコードの格納に使用される内部アカウント。

Oracle Databaseセキュリティ・ガイドを参照してください。

期限切れおよびロック済

CTXSYS

Oracle Textを管理するためのアカウント。Oracle Textを使用すると、テキスト問合せアプリケーションおよびドキュメント分類アプリケーションを作成できます。Oracle Textは、テキスト用の索引付け、語とテーマの検索および表示機能を提供します。

Oracle Textアプリケーション開発者ガイドを参照してください。

期限切れおよびロック済

DBSNMP

Oracle Enterprise Managerの管理エージェント・コンポーネントによりデータベースの監視および管理に使用されるアカウント。

『Enterprise Manager Cloud Control管理者ガイド』を参照してください。

オープン

パスワードはインストール時またはデータベースの作成時に作成されます。

LBACSYS

Oracle Label Security (OLS)を管理するためのアカウント。Label Securityオプションをインストールするときのみ作成されます。

「Oracle Label Securityによる行レベルのセキュリティの強制」および『Oracle Label Security管理者ガイド』を参照してください。

期限切れおよびロック済

MDSYS

Oracle SpatialおよびOracle Multimedia Locatorの管理者アカウント。

『Oracle Spatial and Graph開発者ガイド』を参照してください。

期限切れおよびロック済

OLAPSYS

OLAPカタログ(CWMLite)を所有するアカウント。このアカウントは、非推奨となりましたが、下位互換性のために保持されています。

期限切れおよびロック済

ORDDATA

このアカウントには、Oracle Multimedia DICOMデータ・モデルが含まれます。詳細は、『Oracle Multimedia DICOM開発者ガイド』を参照してください。

期限切れおよびロック済

ORDPLUGINS

Oracle Multimediaユーザー。Oracleおよびサード・パーティにより提供されたプラグイン(フォーマット・プラグイン)はこのスキーマにインストールされています。

Oracle MultimediaによりOracle Databaseで画像、音声、動画、DICOMフォーマットの医療用画像などのオブジェクトや、その他の企業情報と統合された異機種間のメディア・データを格納、管理および取得できます。

『Oracle Multimediaユーザーズ・ガイド』を参照してください。

期限切れおよびロック済

ORDSYS

Oracle Multimedia管理者アカウント。

『Oracle Multimediaユーザーズ・ガイド』を参照してください。

期限切れおよびロック済

SI_INFORMTN_SCHEMA

SQL/MM Still Image Standardの情報ビューを格納するアカウント。

『Oracle Multimediaユーザーズ・ガイド』を参照してください。

注意: SI_INFORMTN_SCHEMAアカウントは、Oracle Database 12cリリース2 (12.2)では非推奨です。

期限切れおよびロック済

SYS

データベース管理タスクの実行に使用されるアカウント。

Oracle Database 2日でデータベース管理者を参照してください。

オープン

パスワードはインストール時またはデータベースの作成時に作成されます。

SYSBACKUP

Oracle Recovery Managerのリカバリとバックアップの実行に使用されるアカウント。

『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。

期限切れおよびロック済

SYSDG

Oracle Data Guardの操作の実行に使用されるアカウント。

Oracle Data Guard概要および管理を参照してください。

期限切れおよびロック済

SYSKM

透過的データ暗号化の管理に使用される内部アカウント。

『Oracle Database Advanced Securityガイド』を参照してください。

期限切れおよびロック済

SYSRAC

Oracle Real Application Clustersの管理に使用するアカウント。

『Oracle Real Application Clusters管理およびデプロイメント・ガイド』を参照してください。

期限切れおよびロック済

SYSTEM

Oracle Databaseのデフォルトの汎用データベース管理者アカウント。

本番システムでは、データベース管理操作用に汎用SYSTEMアカウントを使用せずに、個々のデータベース管理者アカウントを作成することをお薦めします。

Oracle Database 2日でデータベース管理者を参照してください。

オープン

パスワードはインストール時またはデータベースの作成時に作成されます。

WMSYS

Oracle Workspace Manager用のメタデータ情報の格納に使用されるアカウント。

Oracle Database Workspace Manager開発者ガイドを参照してください。

期限切れおよびロック済

XDB

Oracle XML DBのデータおよびメタデータの格納に使用されるアカウント。セキュリティを高めるには、XDBユーザー・アカウントのロックを解除しないでください。

Oracle XML DBはOracle Databaseのデータに対し、パフォーマンスの高いXMLの格納および取得を提供します。

Oracle XML DB開発者ガイドを参照してください。

期限切れおよびロック済

注意:

Oracle自動ストレージ管理(Oracle ASM)インスタンスを作成すると、ASMSNMPアカウントが作成されます。Oracle Enterprise Managerはこのアカウントを使用して、ASMインスタンスを監視し、ASM関連のデータ・ディクショナリ・ビューからデータを取得します。ASMSNMPアカウントのステータスはアカウントの作成時にOPENに設定され、SYSDBA管理権限が付与されます。詳細は、Oracle Automatic Storage Management管理者ガイドを参照してください

事前定義された非管理ユーザー・アカウント

デフォルトのOracle Databaseインストールでは、Oracle Spatialなどの機能を管理するための非管理ユーザー・アカウントが提供されます。

表2-5に、事前定義済の非管理ユーザー・アカウントを示します。このアカウントは、標準スクリプト(各種のcat*.sqlスクリプトなど)の実行時に、Oracleデータベースによって自動的に作成されます。Oracleによって作成および管理されるユーザー・アカウントは、ALL_USERSデータ・ディクショナリ・ビューのUSERNAME列とORACLE_MAINTAINED列を問い合せることで確認できます。ORACLE_MAINTAINEDの出力がYの場合、そのユーザー・アカウントは、アカウントの作成に使用したスクリプトを実行するという方法以外で変更しないでください。

非管理ユーザー・アカウントはジョブの実行に最低限必要な権限のみ所有します。デフォルトの表領域はUSERSです。マルチテナント環境では、事前定義された非管理アカウントはルート・データベースに存在します

これらのアカウントを無許可アクセスから保護するため、インストール・プロセスにより表2-5に示されたアカウントを除く、ほとんどのアカウントがインストール後すぐにロックされ、期限切れになります。データベース管理者は、「データベース・アカウントの期限切れおよびロック」で説明しているように、アカウントのロックを解除してリセットする責任があります。

表2-5 事前定義されたOracle Databaseの非管理ユーザー・アカウント

ユーザー・アカウント 説明 インストール後のステータス

DIP

Oracle Label SecurityとともにインストールされるOracle Directory Integration and Provisioning(DIP)のアカウント。このプロファイルは、Oracle Internet Directory対応Oracle Label Securityのインストール・プロセスの一部として自動的に作成されます。

Oracle Label Security管理者ガイドを参照してください。

期限切れおよびロック済

MDDATA

格納されるジオコーダおよびルーターのデータ用にOracle Spatialに使用されるスキーマ。

Oracle SpatialはSQLスキーマおよびファンクションを提供し、これによりOracle DatabaseのSpatial機能の格納、取得、更新、問合せができます。

『Oracle Spatial and Graph開発者ガイド』を参照してください。

期限切れおよびロック済

ORACLE_OCM

Oracle Configuration Managerと使用するアカウント。この機能により現在のOracle Databaseインスタンスの構成情報をMy Oracle Supportと関連付けることができます。サービス・リクエストを記録すると、データベース・インスタンスの構成情報と関連付けられます。

使用しているプラットフォームの『Oracle Databaseインストレーション・ガイド』を参照してください。

期限切れおよびロック済

SPATIAL_CSW_ADMIN_USR

Catalog Services for the Web(CSW)アカウント。このアカウントはOracle Spatial CSW Cache Managerにより、データベースからすべてのレコード・タイプのメタデータとレコード・インスタンスを、キャッシュされたレコード・タイプのメイン・メモリーにロードするために使用されます。

『Oracle Spatial and Graph開発者ガイド』を参照してください。

期限切れおよびロック済

SPATIAL_WFS_ADMIN_USR

Web Feature Service(WFS)アカウント。このアカウントはOracle Spatial WFS Cache Managerにより、データベースからすべての機能タイプのメタデータと機能インスタンスを、キャッシュされた機能タイプのメイン・メモリーにロードするために使用されます。

『Oracle Spatial and Graph開発者ガイド』を参照してください。

期限切れおよびロック済

XS$NULL

セッションにデータベース・ユーザーが存在せず、実際のセッション・ユーザーは、Oracle Real Application Securityでサポートされるアプリケーション・ユーザーであることを示す内部アカウント。XS$NULLには権限はなく、データベース・オブジェクトを所有しません。XS$NULLとして認証されることはなく、認証資格証明にXS$NULLが割り当てられることもありません。

期限切れおよびロック済

事前定義されたサンプル・スキーマ・ユーザー・アカウント

Oracle Databaseでは、サンプル・スキーマをインストールした場合にサンプル・ユーザー・アカウントのセットが作成されます。

サンプル・スキーマ・ユーザー・アカウントはすべて非管理アカウントで、表領域は USERS です。

これらのアカウントを無許可アクセスから保護するため、インストール・プロセスによりこれらのアカウントがインストール直後にロックされ、期限切れになります。データベース管理者は、「データベース・アカウントの期限切れおよびロック」で説明しているように、アカウントのロックを解除してリセットする責任があります。サンプル・スキーマ・アカウントの詳細はOracle Databaseサンプル・スキーマを参照してください。

表2-6には、様々な製品を製造している架空の企業の個別の部門を表すサンプル・スキーマ・ユーザー・アカウントがリストされています。これらのアカウントのステータスは、DBA_USERSデータ・ディクショナリ・ビューを問い合せることで確認できます。これらのアカウントに対するORACLE_MAINTAINED列の出力はNになるため、これらのアカウントの作成に使用したスクリプトを再実行することなくアカウントの変更が可能です。

表2-6 デフォルトのサンプル・スキーマ・ユーザー・アカウント

ユーザー・アカウント 説明 インストール後のステータス

HR

HR(Human Resources)スキーマを管理するためのアカウント。このスキーマには企業の従業員および施設に関する情報が格納されます。

期限切れおよびロック済

OE

OE(Order Entry)スキーマを管理するためのアカウント。このスキーマには製品のインベントリや、様々なチャネルによる製品の売上が格納されます。

期限切れおよびロック済

PM

PM(Product Media)スキーマを管理するためのアカウント。このスキーマには企業が販売した各製品の説明と詳細情報が含まれます。

期限切れおよびロック済

IX

IX(Information Exchange)スキーマを管理するためのアカウント。このスキーマによりB2B(Business-to-Business)アプリケーションを介した発送が管理されます。

期限切れおよびロック済

SH

SH(Sales)スキーマを管理するためのアカウント。このスキーマにはビジネス上の決断を容易にするビジネス戦略が格納されます。

期限切れおよびロック済

例にあるスキーマ・アカウントに加えて、Oracle Databaseでは他のスキーマ・アカウントであるSCOTTの例も用意しています。SCOTTスキーマには、表EMPDEPTSALGRADEおよびBONUSが含まれています。SCOTTアカウントはOracle Databaseのドキュメント・セット全体の例で使用されます。Oracle Databaseをインストールすると、SCOTTアカウントはロックされ、期限が切れます。

データベース・アカウントの期限切れおよびロック

ユーザーのパスワードを期限切れにすると、パスワードは存在しなくなります。

アカウントをロックすると、他のアカウント情報と同じようにユーザー・パスワードも保持されますが、そのアカウントを使用してデータベースにログインするユーザーに対してアカウントが使用不可になります。ロックを解除すると、アカウントは再度使用可能になります。

Oracle Database 2日でデータベース管理者では、Enterprise Managerを使用してデータベース・アカウントのロックを解除する方法を説明します。また、Enterprise Managerを使用して、データベース・アカウントを期限切れにしたり、ロックすることもできます。

データベース・アカウントの期限切れおよびロックを実行するには、次のようにします。

  1. データベースのホームページにアクセスします。

    詳細は、Oracle Database 2日でデータベース管理者を参照してください。

  2. 「管理」メニューから、「セキュリティ」を選択し、「ユーザー」を選択します。

    データベース・ログイン・ページが表示されたら、SYSTEMなどの管理ユーザーとしてログインします。

    「ユーザー」ページに、現行のデータベース・インスタンスで作成されたユーザー・アカウントが表示されます。「アカウント・ステータス」列は、アカウントが期限切れか、ロックされているか、オープンかを表します。

  3. 「選択」列で期限切れにするアカウントを選択し、「編集」をクリックします。

  4. ユーザーの編集ページで、次のいずれかを実行します。

    • パスワードを期限切れにするには、「期限切れパスワード」をクリックします。

      パスワードが期限切れにならないようにするには、「パスワードの入力」および「パスワードの確認」フィールドに新しいパスワードを入力します。パスワードの要件については、「パスワードの作成要件」を参照してください。

    • アカウントをロックするには、「ロック」を選択します。

  5. 「適用」をクリックします。

パスワードの作成要件

より安全なパスワードの作成に役立つパスワード作成要件が提供されています。

ユーザー・アカウントを作成すると、そのユーザーに対してデフォルトのパスワード・ポリシーが割り当てられます。このパスワード・ポリシーには、パスワードの作成方法(最小文字数や期限切れの時期など)についてのルールが定義されています。パスワードは、パスワード・ポリシーを使用することで強化できます。

セキュリティを考慮して、パスワードを作成する際は、次のガイドラインに従います。

  • パスワードは12から30文字の英数字で指定します。

  • パスワードには、大/小文字と特殊文字を混在させて使用します。(詳細は、Oracle Databaseセキュリティ・ガイドを参照)。

  • パスワードの文字にはデータベース・キャラクタ・セットを使用します。このセットには、アンダースコア(_)、ドル記号($)および番号記号(#)の各文字があります。

  • 意味のある単語のみで構成されるパスワードを使用しないでください。

Oracle Databaseセキュリティ・ガイドでは、パスワードをさらに保護する方法について説明しています。

デフォルト・パスワードの検索および変更

以前のリリースのOracle Databaseからのデフォルト・パスワードを検索し、変更することができます。

デフォルト・パスワードの検出および変更について

インストール後に、管理アカウントを含むデフォルトのデータベース・ユーザー・アカウントがデフォルトのパスワードなしで作成されます。

インストール中にパスワードを作成した管理者アカウント(ユーザーSYSなど)を除き、デフォルトのユーザー・アカウントはパスワードが期限切れになっており、ロックされています。以前のリリースのOracle Databaseからアップグレードした場合は、デフォルトのパスワードを持つデータベース・アカウントが存在する可能性があります。それらは、データベースの作成時に作成されたデフォルト・アカウント(HROESCOTTアカウントなど)です。

セキュリティは、デフォルトのデータベース・ユーザー・アカウントがインストール後もデフォルト・パスワードを使用していると、最も容易に危険にさらされます。ユーザー・アカウントSCOTTはよく知られているアカウントで侵入されやすい可能性があるため、これが特に当てはまります。デフォルト・パスワードが使用されているアカウントを検索してから、そのパスワードを変更します。

関連項目:

デフォルト・パスワードのSQL*Plusからの検出および変更

SQL*Plusを使用して、デフォルト・パスワードの検出および変更を行えます。

デフォルト・パスワードを検索して変更するには、次のようにします。

  1. データベース・インスタンスに管理者権限でログインします。

    sqlplus system
    Enter password: password
    
  2. DBA_USERS_WITH_DEFPWDデータ・ディクショナリ・ビューから選択します。

    SELECT * FROM DBA_USERS_WITH_DEFPWD;
    

    DBA_USERS_WITH_DEFPWDには、ユーザー・デフォルト・パスワードを持つアカウントが表示されます。次に例を示します。

    USERNAME
    ------------
    SCOTT
    
  3. DBA_USERS_WITH_DEFPWDデータ・ディクショナリ・ビューに表示されたアカウントのパスワードを変更します。

    たとえば、ユーザーSCOTTのパスワードを変更するには、次のように入力します。

    PASSWORD SCOTT
    Changing password for SCOTT
    New password: password
    Retype new password: password
    Password changed
    

    「パスワードの作成要件」に示されているガイドラインに従って、passwordをセキュアなパスワードに置き換えます。セキュリティを向上させるため、以前のリリースのOracle Databaseで使用されたパスワードを再利用しないでください。

    また、パスワードは、ALTER USER SQL文を使用して変更することもできます。

    ALTER USER SCOTT IDENTIFIED BY password;

デフォルト・パスワードのEnterprise Managerからの検出および変更

管理権限があれば、Enterprise Managerを使用して、ユーザー・アカウント・パスワードを変更できます。

Enterprise Managerを使用してデータベース・アカウントのパスワードを変更するには、次のようにします。

個々のユーザーもEnterprise Managerを使用して、自分のパスワードを変更できます。

  1. データベースのホームページにアクセスします。

    詳細は、Oracle Database 2日でデータベース管理者を参照してください。

  2. 「管理」メニューから、「セキュリティ」を選択し、「ユーザー」を選択します。

    データベース・ログイン・ページが表示されたら、SYSなどの管理ユーザーとしてログインします。ユーザーSYSは、SYSDBAロールが選択されている状態でログインする必要があります。

    「ユーザー」ページに、現行のデータベース・インスタンスで作成されたユーザー・アカウントが表示されます。「アカウント・ステータス」列は、アカウントが期限切れか、ロックされているか、オープンかを表します。

  3. 「選択」列で変更するアカウントを選択し、「編集」をクリックします。

  4. ユーザーの編集ページで、「パスワードの入力」および「パスワードの確認」フィールドに新しいパスワードを入力します。

  5. 「適用」をクリックします。

ユーザー・アカウントの保護に使用されるパラメータ

Oracle Databaseでは、失敗したログイン試行の最大回数の設定など、ユーザー・アカウントを保護するためのパラメータが提供されています。

表2-7に、ユーザー・アカウントを保護するために設定する初期化パラメータおよびプロファイル・パラメータを示します。

表2-7 ユーザー・アカウント・セキュリティに使用される初期化パラメータおよびプロファイル・パラメータ

パラメータ デフォルト 説明

SEC_CASE_SENSITIVE_LOGON

TRUE

パスワードの大文字と小文字の区別を管理します。TRUEで大文字と小文字の区別が有効になります。FALSEで区別が無効になります。

SEC_MAX_FAILED_LOGIN_ATTEMPTS

3

Oracle Call Interface(OCI)接続がクローズされるまでにユーザー認証が許容される最大回数を設定します。

FAILED_LOGIN_ATTEMPTS

10

ユーザー・ログインが何度も失敗した場合に、アカウントがロックされるまでの最大の回数を設定します。

注意: SEC_MAX_FAILED_LOGIN_ATTEMPTS初期化パラメータを使用して、権限のないユーザー(おそらく侵入者)がOracle Call Interfaceアプリケーションへのログインを試行する最大回数の制限も設定できます。

INACTIVE_ACCOUNT_TIME

35

指定日数の間データベース・インスタンスにログインしていないデータベース・ユーザーのアカウントをロックします。

PASSWORD_GRACE_TIME

デフォルト設定なし

パスワードが期限切れになる前に、ユーザーがパスワードを変更するための日数を設定します。

PASSWORD_LIFE_TIME

デフォルト設定なし

ユーザーが現行のパスワードを使用できる日数を設定します。

PASSWORD_LOCK_TIME

デフォルト設定なし

ログインを指定の回数だけ連続して失敗した後に、アカウントがロックされる日数を設定します。

PASSWORD_REUSE_MAX

デフォルト設定なし

現行のパスワードの再使用が許可されるまでに必要なパスワードの変更回数を指定します。

PASSWORD_REUSE_TIME

デフォルト設定なし

パスワードの再使用が許可される日数を指定します。

注意:

これらのパラメータのほとんどは、ユーザー・プロファイルを作成するために使用できます。ユーザー・プロファイル設定の詳細は、Oracle Databaseセキュリティ・ガイドを参照してください。

初期化パラメータを変更するには、「初期化パラメータ値の変更」を参照してください。初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。