Oracle Databaseのインストール、使用するネットワーク、およびデータベース・ユーザー・アカウントを保護する必要があります。
トピック:
関連項目:
セキュリティの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
セキュリティに関する重要なガイドラインは、『Oracle Databaseセキュリティ・ガイド』を参照してください。
Oracle Databaseのインストール後、データベースのインストールおよび構成を保護する必要があります。
Oracleでは、データベースのインストールと構成を保護するための一般的な方法を提供し、これらのすべてはデータベース・ファイルの特定の領域への権限を制限します。
Oracle Databaseは、いくつかのオペレーティング・システムで使用できます。Oracle Databaseに関する詳細なプラットフォーム固有情報は、次のマニュアルを参照してください。
『Oracle Databaseプラットフォーム・ガイドfor Microsoft Windows』
『Oracle Database管理者リファレンス for Linux and UNIX-Based Operating Systems』
使用しているプラットフォームの『Oracle Databaseインストレーション・ガイド』
Oracle Databaseでは、インストールを保護するのに役立つデフォルトのセキュリティ設定と初期化パラメータのセットが提供されています。さらに、データ・ディクショナリを保護する必要があります。
トピック:
新しいデータベースを作成する場合、Oracle Databaseでは、デフォルトのセキュリティ設定のセットが提供されます。
これらのデフォルトのセキュリティ設定は次のとおりです。
デフォルトの監査設定を有効にします。詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
新しいパスワードまたは変更したパスワードの厳しい制約を作成します。「パスワードの作成要件」に、新しいパスワードの要件が記載されています。
PUBLICロールからCREATE EXTERNAL JOB権限を削除します。よりセキュリティを強化するために、CREATE EXTERNAL JOB
権限をSYS
、データベース管理者、およびこの権限が必要な信頼できるユーザーにのみ付与します。
セキュリティ関連の初期化パラメータおよびプロファイル・パラメータを設定します。表2-1に、デフォルトのパラメータ設定を示します。
表2-1 初期化パラメータとプロファイル・パラメータのデフォルトのセキュリティ設定
設定 | デフォルト |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
データ・ディクショナリを保護する必要があります。データ・ディクショナリは、スキーマ定義やデフォルト値など、データベースに関する情報を提供する一連のデータベース表です。
トピック:
Oracleデータ・ディクショナリは、データベースに関する情報を提供するデータベース表のセットです。
データ・ディクショナリの内容は次のとおりです。
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データ・ディクショナリを保護することができます。
データ・ディクショナリ保護を有効にするには、次のようにします。
データベースのホームページにアクセスします。
詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。
「管理」メニューの「初期化パラメータ」を選択します。
データベース・ログイン・ページが表示されたら、SYSDBAロールが選択されているSYS
としてログインします。
初期化パラメータ・ページのリストでO7_DICTIONARY_ACCESSIBILITY
を検索します。
「名前」フィールドでO7_
(O
の文字)を入力し、「実行」をクリックします。パラメータ名の最初の数文字を入力できます。この場合、O7_
によってO7_DICTIONARY_ACCESSIBILTY
パラメータが表示されます。
O7_DICTIONARY_ACCESSIBILTY
の値をFALSE
に設定します。
「適用」をクリックします。
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に、Oracle Databaseのインストールと構成の保護を強化するために設定できる初期化パラメータを示します。
表2-2 インストール環境と構成のセキュリティに使用される初期化パラメータ
初期化パラメータ | デフォルト設定 | 説明 |
---|---|---|
|
|
リリース番号など、クライアント接続での製品バージョン情報の表示を制御します。侵入者は、データベース・リリース番号を使用して、データベース・ソフトウェアに存在するセキュリティ脆弱性に関する情報を検索できる場合があります。このパラメータを設定することで、詳細な製品バージョンの表示を有効または無効にできます。 このパラメータおよび類似パラメータの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。このパラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。 |
|
|
|
関連項目:
初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。
初期化パラメータの値を変更するには、Enterprise Managerを使用できます。
使用可能な初期化パラメータの詳細は、Oracle Databaseリファレンスを参照してください。
初期化パラメータ値を変更するには、次のようにします。
データベースのホームページにアクセスします。
詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。
「管理」メニューの「初期化パラメータ」を選択します。
データベース・ログイン・ページが表示されたら、SYSDBAロールが選択されているSYS
としてログインします。
初期化パラメータ・ページの「名前」フィールドに、変更するパラメータの名前を入力し、「実行」をクリックします。
たとえば、SEC_RETURN_SERVER_RELEASE_NUMBER
パラメータを検索する場合は、SEC_RETURN
と入力します。または、パラメータのリストを下にスクロールして、変更するパラメータを検索できます。テキストの大文字と小文字は区別されません。
「値」フィールドで、新しい値を入力するか、リストが存在する場合はリストから選択します。
「適用」をクリックします。
パラメータが静的な場合は、Oracle Databaseインスタンスを再起動します。
sqlplus sys as sysdba
Enter password: password
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
初期化パラメータが静的かどうかを調べるには、『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
ファイルを編集して、ネットワーク暗号化を設定できます。
ネットワーク暗号化を設定するには、次のようにします。
サーバー・コンピュータで、Oracle Net Managerを起動します。
UNIX: $ORACLE_HOME/bin
から、次のコマンドラインを入力します。
netmgr
Windows: 「スタート」メニューから「すべてのプログラム」をクリックします。次に、「Oracle - HOME_NAME」→「Configuration and Migration Tools」→「Net Manager」をクリックします
Oracle Net Configurationのナビゲーション・ツリーで、「ローカル」を拡張してから「プロファイル」を選択します。
リストから「ネットワーク・セキュリティ」を選択します。
「ネットワーク・セキュリティ」で、「暗号化」タブを選択します。
「暗号化」設定ペインが表示されます。
次の設定を入力します。
暗号化: リストから、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ビットのデータを暗号化できます。(非推奨。)
「ファイル」メニューから「ネットワーク構成の保存」を選択し、次に 「終了」を選択してOracle Net Managerを終了します。
サーバーに接続する各クライアント・コンピュータごとに、これらの手順を繰り返します。
関連項目:
sqlnet.ora
ファイルのパラメータを変更してネットワーク暗号化を設定する詳細は、『Oracle Net Servicesリファレンス・ガイド』を参照してください。
Oracle Databaseでは、ネットワーク・セキュリティを構成するための初期化パラメータのセットが提供されています。
表2-3に、ユーザー・アカウントを保護するために設定する初期化パラメータを示します。
表2-3 ネットワーク・セキュリティに使用される初期化パラメータ
初期化パラメータ | デフォルト設定 | 説明 |
---|---|---|
|
|
データベースへの接続を試行するユーザーを識別するためにOracle Databaseで使用される接頭辞を指定します。Oracle Databaseは、このパラメータの値をユーザーのオペレーティング・システム・アカウント名およびパスワードの先頭に連結します。ユーザーが接続リクエストを試行すると、Oracle Databaseは接頭辞の付いたユーザー名をデータベース内のユーザー名と比較します。 |
|
デフォルト設定なし |
Oracle Netリモート・リスナー(つまり、このインスタンスと同じコンピュータで実行されていないリスナー)のアドレスまたはアドレス・リストを解決するネットワーク名を指定します。アドレスまたはアドレス・リストは、 |
|
|
リモート・クライアントが |
|
|
オペレーティング・システム・ロールがリモート・クライアントに対して許可されるかどうかを指定します。デフォルト値の |
初期化パラメータを変更するには、「初期化パラメータ値の変更」を参照してください。初期化パラメータの詳細は、『Oracle Databaseリファレンス』および『Oracle Database管理者ガイド』を参照してください。
ユーザー・アカウントのセキュリティは、セキュア・パスワードを作成し、デフォルト・パスワードを変更することで保護できます。また、特別なパラメータを使用することで、ユーザー・アカウントのセキュリティを強化できます。
トピック:
関連項目:
ユーザー・アカウントの保護の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
ユーザー・アカウントの保護に関する重要なガイドラインは、『Oracle Databaseセキュリティ・ガイド』を参照してください。
多くの方法を使用して、共通およびローカルのデータベース・ユーザー・アカウントを保護できます。
たとえば、Oracle Databaseには、パスワードに対する一連の組込み保護があります。デフォルトのデータベース・アカウントとパスワードを保護し、様々な方法でデータベース・アカウントを管理できます。
Oracle Database 2日でデータベース管理者では、ユーザー・ロールの管理方法、管理アカウントについて、パスワード・ポリシーの作成におけるプロファイルの使用方法など、ユーザー・アカウントの作成および管理の基礎について説明します。
ユーザー・アカウントを作成した後で、この項の手順を使用し、次の方法に従ってこれらのアカウントをより強力に保護できます。
事前定義データベース・アカウントの保護。Oracle Databaseのインストール時に、事前定義済のアカウントが作成されます。パスワードを変更することで、これらのアカウントをできるだけ早く保護する必要があります。同じ方法を使用して、通常のユーザー・アカウント、管理アカウント、事前定義のアカウントのいずれであるかにかかわらず、すべてのパスワードを変更できます。このマニュアルでは、最もセキュアなパスワードを作成する方法のガイドラインも示します。
データベース・アカウントの管理。データベース・アカウントを期限切れにしたり、ロックできます。
パスワードの管理。初期化パラメータを設定することで、パスワードを管理および保護できます。初期化パラメータの詳細は、『Oracle Databaseリファレンス』を参照してください。
Oracle Databaseをインストールすると、インストール・プロセスにより、事前定義された管理アカウント、非管理ユーザー・アカウント、およびサンプル・スキーマ・ユーザー・アカウントのセットがデータベースに作成されます。
トピック:
Oracle Databaseのデフォルトのインストールで、事前定義された管理アカウントのセットが提供されます。
これらのアカウントには、SYS
スキーマが所有するパッケージのEXECUTE
権限、CREATE ANY TABLE
権限、またはALTER SESSION
のような、データベースの領域の管理に必要となる特別な権限を持ちます。管理アカウントのデフォルトの表領域は、SYSTEM
かSYSAUX
です。マルチテナント環境では、事前定義された管理アカウントはルート・データベースにあります。
これらのアカウントを無許可アクセスから保護するため、インストール・プロセスにより表2-4に示されたアカウントを除く、ほとんどのアカウントが期限切れにされ、ロックされます。データベース管理者は、「データベース・アカウントの期限切れおよびロック」で説明したように、アカウントのロックを解除してリセットする責任があります。
表2-4に、事前定義済の管理ユーザー・アカウントのリストを示します。このアカウントは、標準スクリプト(各種のcat
*.sql
スクリプトなど)の実行時に、Oracle Databaseによって自動的に作成されます。Oracleによって作成および維持されるユーザー・アカウントは、ALL_USERS
データ・ディクショナリ・ビューのUSERNAME
列とORACLE_MAINTAINED
列を問い合せることでわかります。ORACLE_MAINTAINED
の出力がY
の場合、そのユーザー・アカウントは変更しないでください。ただし、そのアカウントの作成時に使用したスクリプトを実行して変更する場合を除きます。
表2-4 事前定義されたOracle Databaseの管理ユーザー・アカウント
ユーザー・アカウント | 説明 | インストール後のステータス |
---|---|---|
|
Oracle XML DBにHTTPアクセス可能なアカウント。EPG (Embedded PL/SQL Gateway)をデータベースにインストールするときに EPGはOracle Databaseとともに使用されるWebサーバーです。動的アプリケーションの作成に必要なインフラストラクチャを提供します。 |
期限切れおよびロック |
|
統合監査機能によって統合監査証跡レコードの格納に使用される内部アカウント。 『Oracle Databaseセキュリティ・ガイド』を参照してください。 |
期限切れおよびロック |
|
Oracle Textを管理するためのアカウント。Oracle Textを使用すると、テキスト問合せアプリケーションおよびドキュメント分類アプリケーションを作成できます。Oracle Textは、テキスト用の索引付け、語とテーマの検索および表示機能を提供します。 『Oracle Textアプリケーション開発者ガイド』を参照してください。 |
期限切れおよびロック |
|
Oracle Enterprise Managerの管理エージェント・コンポーネントによりデータベースの監視および管理に使用されるアカウント。 『Oracle Enterprise Manager Grid Controlインストレーションおよび基本構成』を参照してください。 |
オープン パスワードはインストール時またはデータベースの作成時に作成されます。 |
|
Oracle Label Security (OLS)を管理するためのアカウント。Label Securityオプションをインストールするときのみ作成されます。 「Oracle Label Securityによる行レベルのセキュリティの強制」および『Oracle Label Security管理者ガイド』を参照してください。 |
期限切れおよびロック |
|
Oracle SpatialおよびOracle Multimedia Locatorの管理者アカウント。 『Oracle Spatial and Graph開発者ガイド』を参照してください。 |
期限切れおよびロック |
|
OLAPカタログ(CWMLite)を所有するアカウント。このアカウントは、非推奨となりましたが、下位互換性のために保持されています。 |
期限切れおよびロック |
|
このアカウントには、Oracle Multimedia DICOMデータ・モデルが含まれます。詳細はOracle Multimedia DICOM開発者ガイドを参照してください。 |
期限切れおよびロック |
|
Oracle Multimediaユーザー。Oracleおよびサード・パーティにより提供されたプラグイン(フォーマット・プラグイン)はこのスキーマにインストールされています。 Oracle MultimediaによりOracle Databaseで画像、音声、動画、DICOMフォーマットの医療用画像などのオブジェクトや、その他の企業情報と統合された異機種間のメディア・データを格納、管理および取得できます。 『Oracle Multimediaユーザーズ・ガイド』および『Oracle Multimediaリファレンス』を参照してください。 |
期限切れおよびロック |
|
Oracle Multimedia管理者アカウント。 『Oracle Multimediaユーザーズ・ガイド』、『Oracle Multimediaリファレンス』および『Oracle Multimedia DICOM開発者ガイド』を参照してください。 |
期限切れおよびロック |
|
SQL/MM Still Image Standardの情報ビューを格納するアカウント。 『Oracle Multimediaユーザーズ・ガイド』および『Oracle Multimediaリファレンス』を参照してください。 |
期限切れおよびロック |
|
データベース管理タスクの実行に使用されるアカウント。 『Oracle Database 2日でデータベース管理者』を参照してください。 |
オープン パスワードはインストール時またはデータベースの作成時に作成されます。 |
|
Oracle Recovery Managerのリカバリとバックアップの実行に使用されるアカウント。 『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
期限切れおよびロック |
|
Oracle Data Guardの操作の実行に使用されるアカウント。 『Oracle Data Guard概要および管理』を参照してください。 |
期限切れおよびロック |
|
透過的データ暗号化の管理に使用される内部アカウント。 『Oracle Database Advanced Securityガイド』を参照してください。 |
期限切れおよびロック |
|
Oracle Databaseのデフォルトの汎用データベース管理者アカウント。 本番システムでは、データベース管理操作用に汎用 『Oracle Database 2日でデータベース管理者』を参照してください。 |
オープン パスワードはインストール時またはデータベースの作成時に作成されます。 |
|
Oracle Workspace Manager用のメタデータ情報の格納に使用されるアカウント。 『Oracle Database Workspace Manager開発者ガイド』を参照してください。 |
期限切れおよびロック |
|
Oracle XML DBのデータおよびメタデータの格納に使用されるアカウント。セキュリティを高めるには、 Oracle XML DBはOracle Databaseのデータに対し、パフォーマンスの高いXMLの格納および取得を提供します。 『Oracle XML DB開発者ガイド』を参照してください。 |
期限切れおよびロック |
注意:
Oracle Automatic Storage Management (Oracle ASM)インスタンスを作成すると、ASMSNMP
アカウントが作成されます。Oracle Enterprise Managerはこのアカウントを使用して、ASMインスタンスを監視し、ASM関連のデータ・ディクショナリ・ビューからデータを取得します。ASMSNMP
アカウントのステータスはアカウントの作成時にOPEN
に設定され、SYSDBA
管理権限が付与されます。詳細は、『Oracle Automatic Storage Management管理者ガイド』を参照してください。
デフォルトのOracle Databaseのインストールでは、事前定義された非管理ユーザー・アカウントのセットが提供されます。
表2-5に、事前定義済の非管理ユーザー・アカウントのリストを示します。このアカウントは、標準スクリプト(各種のcat
*.sql
スクリプトなど)の実行時に、Oracle Databaseによって自動的に作成されます。Oracleによって作成および維持されるユーザー・アカウントは、ALL_USERS
データ・ディクショナリ・ビューのUSERNAME
列とORACLE_MAINTAINED
列を問い合せることでわかります。ORACLE_MAINTAINED
の出力がY
の場合、そのユーザー・アカウントは変更しないでください。ただし、そのアカウントの作成時に使用したスクリプトを実行して変更する場合を除きます。
非管理ユーザー・アカウントはジョブの実行に最低限必要な権限のみ所有します。デフォルトの表領域はUSERS
です。マルチテナント環境では、事前定義された非管理アカウントはルート・データベースに存在します
これらのアカウントを無許可アクセスから保護するため、インストール・プロセスにより表2-5に示されたアカウントを除く、ほとんどのアカウントがインストール後すぐにロックされ、期限切れになります。データベース管理者は、「データベース・アカウントの期限切れおよびロック」で説明したように、アカウントのロックを解除してリセットする責任があります。
表2-5 事前定義されたOracle Databaseの非管理ユーザー・アカウント
ユーザー・アカウント | 説明 | インストール後のステータス |
---|---|---|
|
Oracle Label SecurityとともにインストールされるOracle Directory Integration and Provisioning(DIP)のアカウント。このプロファイルは、Oracle Internet Directory対応Oracle Label Securityのインストール・プロセスの一部として自動的に作成されます。 『Oracle Label Security管理者ガイド』を参照してください。 |
期限切れおよびロック |
|
格納されるジオコーダおよびルーターのデータ用にOracle Spatialに使用されるスキーマ。 Oracle SpatialはSQLスキーマおよびファンクションを提供し、これによりOracle DatabaseのSpatial機能の格納、取得、更新、問合せができます。 『Oracle Spatial and Graph開発者ガイド』を参照してください。 |
期限切れおよびロック |
|
Oracle Configuration Managerと使用するアカウント。この機能により現在のOracle Databaseインスタンスの構成情報をMy Oracle Supportと関連付けることができます。サービス・リクエストを記録すると、データベース・インスタンスの構成情報と関連付けられます。 使用しているプラットフォームの『Oracle Databaseインストレーション・ガイド』を参照してください。 |
期限切れおよびロック |
|
Catalog Services for the Web(CSW)アカウント。このアカウントはOracle Spatial CSW Cache Managerにより、データベースからすべてのレコード・タイプのメタデータとレコード・インスタンスを、キャッシュされたレコード・タイプのメイン・メモリーにロードするために使用されます。 『Oracle Spatial and Graph開発者ガイド』を参照してください。 |
期限切れおよびロック |
|
Web Feature Service(WFS)アカウント。このアカウントはOracle Spatial WFS Cache Managerにより、データベースからすべての機能タイプのメタデータと機能インスタンスを、キャッシュされた機能タイプのメイン・メモリーにロードするために使用されます。 『Oracle Spatial and Graph開発者ガイド』を参照してください。 |
期限切れおよびロック |
|
セッションにデータベース・ユーザーが存在せず、実際のセッション・ユーザーは、Oracle Real Application Securityでサポートされるアプリケーション・ユーザーであることを示す内部アカウント。 |
期限切れおよびロック |
サンプル・スキーマをインストールすると、Oracle Databaseにより、サンプル・ユーザー・アカウントのセットが作成されます。
サンプル・スキーマ・ユーザー・アカウントはすべて非管理アカウントで、表領域は USERS
です。
これらのアカウントを無許可アクセスから保護するため、インストール・プロセスによりこれらのアカウントがインストール直後にロックされ、期限切れになります。データベース管理者は、「データベース・アカウントの期限切れおよびロック」で説明したように、アカウントのロックを解除してリセットする責任があります。サンプル・スキーマ・アカウントの詳細はOracle Databaseサンプル・スキーマを参照してください。
表2-6には、様々な製品を製造している架空の企業の個別の部門を表すサンプル・スキーマ・ユーザー・アカウントがリストされています。これに該当するアカウントのステータスは、DBA_USERS
データ・ディクショナリ・ビューを問い合せることでわかります。このようなアカウントに対応するORACLE_MAINTAINED
列の出力はN
になっているため、そのアカウントを変更するために、アカウントの作成に使用したスクリプトを再実行する必要はありません。
表2-6 デフォルトのサンプル・スキーマ・ユーザー・アカウント
ユーザー・アカウント | 説明 | インストール後のステータス |
---|---|---|
|
|
期限切れおよびロック |
|
|
期限切れおよびロック |
|
|
期限切れおよびロック |
|
|
期限切れおよびロック |
|
|
期限切れおよびロック |
例にあるスキーマ・アカウントに加えて、Oracle Databaseでは他のスキーマ・アカウントであるSCOTT
の例も用意しています。SCOTT
スキーマには、表EMP
、DEPT
、SALGRADE
およびBONUS
が含まれています。SCOTT
アカウントはOracle Databaseのドキュメント・セット全体の例で使用されます。Oracle Databaseをインストールすると、SCOTT
アカウントはロックされ、期限が切れます。
ユーザーのパスワードを期限切れにすると、パスワードは存在しなくなります。パスワードを期限切れにしない場合は、そのアカウントのパスワードを変更します。
アカウントをロックすると、他のアカウント情報と同じようにユーザー・パスワードも保持されますが、そのアカウントを使用してデータベースにログインするユーザーに対してアカウントが使用不可になります。ロックを解除すると、アカウントは再度使用可能になります。
Oracle Database 2日でデータベース管理者では、Enterprise Managerを使用してデータベース・アカウントのロックを解除する方法を説明します。また、Enterprise Managerを使用して、データベース・アカウントを期限切れにしたり、ロックすることもできます。
データベース・アカウントの期限切れおよびロックを実行するには、次のようにします。
データベースのホームページにアクセスします。
詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。
「管理」メニューから、「セキュリティ」を選択し、「ユーザー」を選択します。
データベース・ログイン・ページが表示されたら、SYSTEM
などの管理ユーザーとしてログインします。
「ユーザー」ページに、現行のデータベース・インスタンスで作成されたユーザー・アカウントが表示されます。「アカウント・ステータス」列は、アカウントが期限切れか、ロックされているか、オープンかを表します。
「選択」列で期限切れにするアカウントを選択し、「編集」をクリックします。
ユーザーの編集ページで、次のいずれかを実行します。
パスワードを期限切れにするには、「期限切れパスワード」をクリックします。
パスワードが期限切れにならないようにするには、「パスワードの入力」および「パスワードの確認」フィールドに新しいパスワードを入力します。パスワードの要件については、「パスワードの作成要件」を参照してください。
アカウントをロックするには、「ロック」を選択します。
「適用」をクリックします。
セキュリティを強化するために、パスワードを作成するための要件のセットが提供されています。
ユーザー・アカウントを作成すると、Oracle Databaseによって、そのユーザーにデフォルトのパスワード・ポリシーが割り当てられます。このパスワード・ポリシーには、パスワードの作成方法(最小文字数や期限切れの時期など)についてのルールが定義されています。パスワードは、パスワード・ポリシーを使用することで強化できます。
セキュリティを考慮して、パスワードを作成する際は、次のガイドラインに従います。
パスワードは12から30文字の英数字で指定します。
パスワードには、大/小文字と特殊文字を混在させて使用します。(詳細は、Oracle Databaseセキュリティ・ガイドを参照)。
パスワードの文字にはデータベース・キャラクタ・セットを使用します。このセットには、アンダースコア(_
)、ドル記号($
)および番号記号(#
)の各文字があります。
意味のある単語のみで構成されるパスワードを使用しないでください。
パスワードをさらにセキュアなものにする方法については、『Oracle Databaseセキュリティ・ガイド』を参照してください。
以前のリリースのOracle Databaseからのデフォルト・パスワードを検索し、変更することができます。
トピック:
Oracle Databaseをインストールする際、デフォルトのデータベース・ユーザー・アカウント(管理者用アカウントなど)はデフォルト・パスワードなしで作成されます。
インストール中にパスワードを作成した管理者アカウント(ユーザーSYS
など)を除き、デフォルトのユーザー・アカウントはパスワードが期限切れになっており、ロックされています。以前のリリースのOracle Databaseからアップグレードした場合は、デフォルトのパスワードを持つデータベース・アカウントが存在する可能性があります。それらは、データベースの作成時に作成されたデフォルト・アカウント(HR
、OE
、SCOTT
アカウントなど)です。
セキュリティは、デフォルトのデータベース・ユーザー・アカウントがインストール後もデフォルト・パスワードを使用していると、最も容易に危険にさらされます。ユーザー・アカウントSCOTT
はよく知られているアカウントで侵入されやすい可能性があるため、これが特に当てはまります。デフォルト・パスワードが使用されているアカウントを検索してから、そのパスワードを変更します。
関連項目:
パスワード保護を設定する他の方法については、『Oracle Databaseセキュリティ・ガイド』を参照してください。
SQL*Plusを使用して、デフォルト・パスワードの検出および変更を行えます。
デフォルト・パスワードを検索して変更するには、次のようにします。
データベース・インスタンスに管理者権限でログインします。
sqlplus system
Enter password: password
DBA_USERS_WITH_DEFPWD
データ・ディクショナリ・ビューから選択します。
SELECT * FROM DBA_USERS_WITH_DEFPWD;
DBA_USERS_WITH_DEFPWD
には、ユーザー・デフォルト・パスワードを持つアカウントが表示されます。次に例を示します。
USERNAME ------------ SCOTT
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を使用してデータベース・アカウントのパスワードを変更するには、次のようにします。
データベースのホームページにアクセスします。
詳細は、『Oracle Database 2日でデータベース管理者』を参照してください。
「管理」メニューから、「セキュリティ」を選択し、「ユーザー」を選択します。
データベース・ログイン・ページが表示されたら、SYS
などの管理ユーザーとしてログインします。ユーザーSYS
は、SYSDBAロールが選択されている状態でログインする必要があります。
「ユーザー」ページに、現行のデータベース・インスタンスで作成されたユーザー・アカウントが表示されます。「アカウント・ステータス」列は、アカウントが期限切れか、ロックされているか、オープンかを表します。
「選択」列で変更するアカウントを選択し、「編集」をクリックします。
ユーザーの編集ページで、「パスワードの入力」および「パスワードの確認」フィールドに新しいパスワードを入力します。
「適用」をクリックします。
Oracle Databaseでは、ユーザー・アカウントを保護するためのパラメータのセットが提供されています。
表2-7に、ユーザー・アカウントを保護するために設定する初期化パラメータおよびプロファイル・パラメータを示します。
表2-7 ユーザー・アカウント・セキュリティに使用される初期化パラメータおよびプロファイル・パラメータ
パラメータ | デフォルト設定 | 説明 |
---|---|---|
|
|
パスワードの大文字と小文字の区別を管理します。 |
|
|
Oracle Call Interface (OCI)アプリケーションへの接続時にユーザーが失敗できる最大の回数を設定します。 |
|
|
ユーザー・ログインが何度も失敗した場合に、アカウントがロックされるまでの最大の回数を設定します。 注意: |
|
デフォルト設定なし |
パスワードが期限切れになる前に、ユーザーがパスワードを変更するための日数を設定します。 |
|
デフォルト設定なし |
ユーザーが現行のパスワードを使用できる日数を設定します。 |
|
デフォルト設定なし |
ログインを指定の回数だけ連続して失敗した後に、アカウントがロックされる日数を設定します。 |
|
デフォルト設定なし |
現行のパスワードの再使用が許可されるまでに必要なパスワードの変更回数を指定します。 |
|
デフォルト設定なし |
パスワードの再使用が許可される日数を指定します。 |
注意:
これらのパラメータのほとんどは、ユーザー・プロファイルを作成するために使用できます。ユーザー・プロファイル設定の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
初期化パラメータを変更するには、「初期化パラメータ値の変更」を参照してください。初期化パラメータの詳細は、『Oracle Databaseリファレンス』および『Oracle Database管理者ガイド』を参照してください。