Entrust Authority(以前のEntrust/PKI)は、Entrust社が提供する一連のPKI製品で、証明書の生成、証明書の取消し、および鍵と証明書の管理の各機能を提供します。Oracle Advanced Securityは、EntrustとOracleの両方のユーザーがOracle環境のセキュリティを強化できるように、Entrust Authorityと統合されています。
項目は、次のとおりです。
Entrust対応のOracle Advanced Securityは次の機能を提供します。
注意: Oracle Advanced Securityは、リリース8.1.7で、Entrust社によるEntrust-Readyの認定を受けています。 |
Entrust対応のOracle Advanced Securityでは、X.509ベースの認証とシングル・サインオンにEntrust資格証明を使用できます。Oracle Advanced Securityでは、Oracleウォレットを使用してユーザーのPKI資格証明を保持するかわりに、Entrust Authorityによって作成され、Entrustプロファイル(.epf
ファイル)に格納されているPKI資格証明にアクセスできます。企業内にEntrustソフトウェアがデプロイされている場合は、Entrustを使用して、Oracle Databaseに対する認証およびシングル・サインオンを行うことができます。
Entrust対応のOracle Advanced Securityは、Entrust Authorityが提供する広範な鍵管理およびロールオーバー機能を使用します。これらの機能は、PKIデプロイメントの複雑さをユーザーに意識させません。たとえば、ユーザーは証明書の有効期限が切れると自動的に通知を受け、管理者が構成できるプリファレンスに従って証明書が再発行されます。
Entrust対応のOracle Advanced Securityを実装するには、次のシステム構成要素が必要です。
これらの構成要素を入手するには、Entrustの代理店にご連絡ください。
Entrust Authority for Oracleには、Entrustユーザーとインフラストラクチャに関する情報を格納するためのデータベースと、ユーザー名、公開証明書および証明書失効リストなどの情報を格納するためのLightweight Directory Access Protocol(LDAP)準拠のディレクトリが必要です。
Entrust Authority for Oracleは、次のソフトウェア・コンポーネントで構成されています。
Entrust Authority Security Managerは、EntrustのPKIテクノロジの中心要素です。認証局、証明書およびユーザー管理(例: ユーザーの作成やユーザーの資格証明を含んだユーザー・プロファイルの作成)の中心的な機能を実行します。
注意: Entrust対応のOracle Advanced Securityは、Oracle Databaseで動作するEntrust Authority Security Managerのバージョンでのみ使用できます。 |
Entrust Authority Security Managerは、自動ログイン(サーバー・ログインとも呼ばれます)をサポートしています。このログイン方法では、データベース管理者(DBA)は、Entrustプロファイルのパスワードをサーバーで繰返し入力する必要はありません。自動ログインを使用すると、DBAはパスワードを1回入力するのみで、サーバーのEntrustプロファイルをオープンして、複数の接続要求に対して自身を認証できます。
Entrust Authority Self-Administration Serverは、Entrust Authority Security Managerに対する管理者用の安全なインタフェースです。
Entrust Entelligence Desktop Managerは、SSL接続に対するOracle Databaseサーバー・プロセスのアクセスを使用可能にすることで、クライアントとサーバーの両方でユーザーの鍵管理およびシングル・サインオン機能をサポートします。
注意: Entrust Entelligence Desktop Managerは、拡張子が .ual の自動ログイン資格証明ファイルを使用するため、サーバー・コンピュータにはインストールしないでください。
|
Entrust Authority Server Login Featureは、UNIXプラットフォームで動作するサーバーでシングル・サインオン機能を実現するために必要です。
Entrust Authority Server Login Featureは、SSL接続に対するOracle Databaseサーバー・プロセスのアクセスを可能にすることでシングル・サインオン機能を提供します。この機能がないと、データベース管理者または他の権限ユーザーは、すべての接続ごとに、サーバーでEntrustプロファイル用のパスワードを入力する必要があります。
Entrust Authority Server Login Featureを入手するには、Entrustの代理店にご連絡ください。
図G-1は、次のEntrust認証プロセスを示しています。
OracleクライアントのEntrustユーザーは、SSLとEntrust資格証明を使用してサーバーとの安全な接続を確立します。
サーバーのOracle SSLアダプタは、Entrust Authorityと通信して、Entrustユーザーの証明書取消しステータスをチェックします。
この項では、Entrust対応のOracle Advanced Security SSL認証の構成に必要な次の作業について説明します。
この項では、Entrustプロファイルの作成方法について説明します。Entrustプロファイルは、管理者またはユーザーが作成できます。UNIXプラットフォームでは、管理者がすべてのクライアントのEntrustプロファイルを作成します。Windowsプラットフォームでは、ユーザーが各自のEntrustプロファイルを作成できます。
管理者は次の手順でEntrustプロファイルを作成します。
Entrust管理者は、Entrust Authority Self-Administration Serverを使用してEntrustユーザーを追加します。
関連項目: Entrustユーザーの作成方法は、Entrustの管理マニュアルを参照してください。 |
管理者はユーザー名とパスワードを入力します。
Entrust Authorityによって、プロファイル.epf
ファイルが作成されます。
管理者は、プロファイルに関連したすべてのファイルをユーザーに安全に送信します。事前に設定したパスワードは、ユーザーが変更できます。
Entrustユーザーは次の手順で自分自身のEntrustプロファイルを作成します。
Entrust管理者は、Entrust Authority Self-Administration Serverを使用してEntrustユーザーを追加します。その際、「New User」ダイアログ・ボックスで、「Create Profile」オプションの選択を解除する必要があります。
関連項目: Entrustプロファイルの作成方法は、Entrustの管理マニュアルを参照してください。 |
ユーザーは管理者から保護電子メール通知を受信します。この通知には、参照番号、認可コードおよび有効期限が含まれています。
ユーザーは、次のようにEntrust Entelligence Desktop Managerの「Create Entrust Profiles」画面にナビゲートします。
「スタート」→「プログラム」→「Entrust」→「Entrust Profiles」→「Create Entrust Profiles」
ユーザーは、電子メール通知で提供された参照番号、認可コードおよび有効期限を入力します。プロファイル.epf
ファイルとEntrust初期化ファイルが作成されます。
Oracle Advanced Security 11g リリース1(11.1)では、「標準」モードを選択すると、Entrustサポートがインストールされます。単一のOracleで、OracleウォレットとEntrustプロファイルの両方を使用できます。
関連項目: オペレーティング・システム固有のOracle Databaseインストレーション・ガイド |
関連項目: クライアントおよびサーバーでSSLを構成する方法は、第8章「Secure Sockets Layer認証の構成」を参照してください。Oracleウォレット・ロケーションに関する項は省略してください。 |
サーバーでEntrustを構成する手順は、プラットフォームの種類によって異なります。
クライアントがWindows以外のプラットフォームで動作している場合は、次の手順を実行します。
環境変数JAVA_HOME
をJDKまたはJREの位置に設定します。
例:
>setenv JAVA_HOME $ORACLE_HOME/JRE
sqlnet.ora
ファイルにWALLET_LOCATION
を設定します。
例:
WALLET_LOCATION=
(SOURCE=
(METHOD=entr) (METHOD_DATA = (PROFILE=profile_location) (INIFILE=initialization_file_location) )
)
クライアントがWindowsプラットフォームで動作している場合は、クライアントにEntrust Entelligence Desktop Managerコンポーネントがインストールされていることを確認してから、次の手順を実行してEntrust資格証明を設定します。
sqlnet.ora
ファイルにWALLET_LOCATION
パラメータを設定します。
例:
WALLET_LOCATION=
(SOURCE=
(METHOD=entr) (METHOD_DATA= (INIFILE=initialization_file_location) )
)
initialization_file_location
は、.ini
ファイルへのパスです。
システム・トレイで「Entrust」アイコンを選択して、「Entrust_Login」ダイアログ・ボックスをオープンします。
プロファイル名とパスワードを入力してEntrustにログオンします。
サーバーでEntrustを構成する手順は、プラットフォームの種類によって異なります。
サーバーがUNIXプラットフォームの場合は、Entrust/Server Login Toolkitコンポーネントがインストールされていることを確認し、次の手順を実行します。
関連項目: Entrust Server Login Toolkitのダウンロードの詳細は、「Entrust対応のOracle Advanced Securityに必要なシステムの構成要素」を参照してください。 |
Oracle Databaseインスタンスを停止します。
次のように、sqlnet.ora
ファイルとlistener.ora
ファイルにWALLET_LOCATION
を設定し、サーバーのプロファイルとEntrust初期化ファイルへのパスを指定します。
WALLET_LOCATION = (SOURCE = (METHOD = ENTR) (METHOD_DATA = (PROFILE = profile_location) (INIFILE = initialization_file_location) ) )
次のパスが含まれるように、環境変数CLASSPATH
を設定します。
$ORACLE_HOME/JRE/lib/rt.jar $ORACLE_HOME/JRE/lib/i18n.jar $ORACLE_HOME/jlib/ewt*.jar $ORACLE_HOME/jlib/help*.jar $ORACLE_HOME/jlib/share*.jar $ORACLE_HOME/jlib/swingall*.jar $ORACLE_HOME/network/jlib/netentrust.jar
次の手順でetbinder
コマンドを入力し、自動ログイン資格証明.ual
ファイルを作成します。
etbinder
コマンドへのパスが含まれるように、環境変数PATH
を設定します。このコマンドは、Server Login Toolkitがインストールされている/bin
ディレクトリにあります。
Entrustライブラリへのパスが含まれるようにLD_LIBRARY_PATH
を設定します。
Entrust初期化ファイルへの完全パスが含まれるように、環境変数SSL_ENTRUST_INI
を設定します。
次のコマンドを入力します。
etbinder
プロファイル・ファイルの位置を入力するプロンプトが表示された場合は、ファイル名を含む完全パス名を入力します。次にプロンプトが表示されたときは、パスワードを入力します。
資格証明ファイル(filename
.ual
)が作成されたことを示すメッセージが表示されます。
注意: リスナーにTCPSリスニング・エンドポイントがあることを確認してから、リスナーを開始してください。 |
Oracle Databaseインスタンスを開始します。
サーバーがWindowsプラットフォームで動作している場合は、次の手順を実行します。
関連項目: Entrust Entelligence Desktop Managerのダウンロードの詳細は、「Entrust対応のOracle Advanced Securityに必要なシステムの構成要素」を参照してください。 |
Oracle Databaseインスタンスを停止します。
次のように、sqlnet.ora
ファイルとlistener.ora
ファイルにWALLET_LOCATION
を設定し、サーバーのプロファイルとEntrust初期化ファイルへのパスを指定します。
WALLET_LOCATION =
(SOURCE =
(METHOD = ENTR) (METHOD_DATA = (PROFILE = profile_location) (INIFILE = initialization_file_location) )
)
Entrustのbinderコマンドを実行して、自動ログイン資格証明を作成します。自動ログイン資格証明は、拡張子が.ual
のファイルです。.ual
ファイルの所有者が、Oracleサービスの所有者と同じであることを確認します。
次の順に選択して、binderコマンドを実行します。
「スタート」→「プログラム」→「Entrust Toolkit」→「Server Login」→「Entrust Binder」
プロファイルへのパス、パスワード、およびEntrust初期化ファイルへのパスを入力します。メッセージが表示され、資格証明ファイルが正常に作成されたことが通知されます。
Oracle Databaseインスタンスを開始します。
注意: Windows環境の場合は、サーバー・コンピュータにEntrust Entelligence Desktop Managerをインストールしないことをお薦めします。 |
各Entrustユーザーの識別名(DN)に基づいて、データベースにグローバル・ユーザーを作成します。
例:
SQL> create user jdoe identified globally as 'cn=jdoe,o=oracle,c=us';
"cn=jdoe, o=oracle, c=us"
は、ユーザーのEntrust識別名です。
次のように、SQL*Plusを使用してOracleインスタンスに接続します。
sqlplus /@net_service_name
net_service_name
はOracleインスタンスのサービス名です。
「Entrust_Login」ダイアログ・ボックスが表示されます。
プロファイルへのパスとパスワードを入力します。
WALLET_LOCATION
パラメータに値を指定していない場合は、Entrust初期化ファイルへのパスを入力するよう求められます。
注意: WALLET_LOCATION パラメータを含むファイルに初期化ファイルを指定することをお薦めします。 |
Entrustと動作するようにアプリケーションを特別に修正する必要があります。製品がEntrust-readyとして設計されている場合、その製品はEntrustのツールキットを使用してEntrustと統合されています。
たとえば、Oracleは、そのSSLライブラリがOracleウォレットではなくEntrustプロファイルにアクセスするように修正しています。
さらに、次の制限事項が適用されます。
Oracleをベースとしたアプリケーションで、デジタル署名に対してEntrustコンポーネントは使用できません。
Entrust対応のOracle Advanced Securityとの統合がサポートされているのは、Oracle Databaseで動作するEntrust Authorityリリース6.0以上のみです。
Entrust対応のOracle Advanced Securityでは、以前のリリースのEntrust Authorityは使用できません。
Entrust PKIおよび非Entrust PKI間の相互運用性はサポートされていません。
リリース8.1.7用のOracle Internet Directory リリース2.1.1およびそれ以降のリリースは、Entrustによってすでに認定されています。
この項では、EntrustからOracle Advanced Securityユーザーに戻されるエラーの診断方法について説明します。
Entrustを実行しているプラットフォームの種類に関係なく、次のエラー・メッセージが表示される可能性があります。
Entrust Authorityがオンラインでない
指定したEntrustプロファイル・パスワードが無効
指定したEntrustプロファイルへのパスが無効
指定したEntrust初期化ファイルが無効
Entrust Server Loginプログラムがサーバー上で実行されなかった
sqlnet.ora
ファイルに次のパラメータを設定すると、トレースを使用可能にできます。
クライアント
TRACE_LEVEL_CLIENT=16
TRACE_DIRECTORY_CLIENT=
valid_client_directory_name
TRACE_FILE_CLIENT=client
TRACE_UNIQUE_CLIENT=ON
サーバー
TRACE_LEVEL_SERVER=16
TRACE_DIRECTORY_SERVER=
valid_server_directory name
TRACE_FILE_SERVER=server
TRACE_UNIQUE_SERVER=ON
作成されたトレース・ファイル内で文字列IKMP
を検索します。エラー・メッセージは、この文字列の付近にあり、発生した問題の詳細を確認できます。この詳細なエラー・コード情報は、Entrust APIによって戻されます。
注意: 次のディレクトリは、 sqlnet.ora ファイルのTRACE_DIRECTORY_CLIENT パラメータまたはTRACE_DIRECTORY_SERVER パラメータを設定する際に有効なクライアント・ディレクトリ名の例です。
|
WindowsプラットフォームでEntrustを実行している場合、次のエラー・メッセージが表示される可能性があります。
listener.log
ファイルで発生する可能性があります。.ual
ファイルを削除
Server Loginをアンインストール
クライアントのsqlnet.ora
ファイルのSSL_ENTRUST_INI_FILE
パラメータに、Entrust初期化ファイルの場所を指定
この場合、次のコマンドを入力すると、サーバーではクライアントを認証できない可能性があります。
sqlplus/@net_service_name
「コントロール パネル」→「サービス」を選択します。
「サービス」ダイアログ・ボックスで「OracleTNSListener」をダブルクリックし、「ログオン」で「システム アカウント」を現在ログオンしているアカウントに変更します。これによって、サーバー・プロセスが.ual
ファイルを読み込めるようになります。「OK」をクリックして変更を反映すると、「サービス」ダイアログ・ボックスに戻ります。
「サービス」ダイアログ・ボックスで、OracleServiceについても同様の変更を行います。
listener.ora
ファイルに対して、次の変更を行います。
リスナーのADDRESS
に、PROTOCOL
としてTCPS
のみを指定します。たとえば、次のようにすべてのPROTOCOL
定義をTCPS
に変更します。
listener_name= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCPS) (KEY=extproc0)) (ADDRESS=(PROTOCOL=TCPS) (HOST=sales-pc) (PORT=1521)))
TCPS
を使用している場合のみ、トレースをオンにすると、リスナーはEntrustプロファイルへのアクセスに問題があるかどうかを提示します。
次のように、SSL_CLIENT_AUTHENTICATION
パラメータをFALSE
に設定します。
SSL_CLIENT_AUTHENTICATION=FALSE
次のパラメータを設定して、トレースをオンにします。
TRACE_LEVEL_LISTENER=16 TRACE_DIRECTORY_LISTENER=C:\temp
トレース・ファイルは、C:¥temp
ディレクトリに作成されます。
sqlnet.ora
ファイルに次の変更を行い、トレースをオンにします。
TRACE_LEVEL_SERVER=16 TRACE_DIRECTORY_SERVER=C:\temp
トレース・ファイルは、C:¥temp
ディレクトリに作成されます。
Entrust Entelligence Desktop Managerがサーバー上にインストールされていないことを確認します。
文字列fail
またはntz*
の関数コールを検索します。エラー・メッセージは、これらの文字列の付近にあり、発生した問題の詳細を確認できます。
次の各項目は、すべてのプラットフォームに当てはまります。
Entrust Authorityがオンラインであることを確認します。
.ual
ファイルが生成されていることを確認します。これらのファイルは、自動ログイン資格証明のために作成されます。
注意: 自動ログイン資格証明ファイル( .ual )は、サーバーに対してのみ作成することをお薦めします。サーバーのみに.ual ファイルを生成すると、ユーザーがログインを試みるときに、ユーザーのパスワードとEntrustプロファイル名の入力を求めるプロンプトが表示されます。これらの情報を指定すると、接続要求がEntrustサーバーに転送され、取消しファイルおよび.ual ファイルが検索され、要求を許可するための権限が判断されます。 |
Entrust初期化ファイルの最初のセクション(Entrust Settings)に次のエントリがあることを確認します。
IdentityLibrary=location
libidapi.so
ファイルの位置を示す完全パスをIdentityLibrary
パラメータに指定してください。このパラメータ設定によって、サーバーで.ual
ファイルを生成できるようになります。
Entrust IPSEC Negotiator ToolkitやServer Login Toolkitなど、Entrustのすべてのツールキットが互換性を持つように同じバージョンであることを確認します。
次の例のように、sqlnet.ora
ファイルのSQLNET.AUTHENTICATION_SERVICES
パラメータにSSL付きTCP/IPが指定されていることを確認します。
SQLNET.AUTHENTICATION_SERVICES=(tcps, authentication_type1, authentication_type2)
次のチェックリストの項目は、WindowsプラットフォームでのEntrustインストールに対してのみ適用されます。
Entrust Entelligence Desktop Managerにログインしていることを確認します。
「Windows」→「コントロール パネル」を選択し、「サービス」をクリックして、Entrust Login Interfaceサービスが起動され、実行中であることを確認します。
sqlnet.ora
ファイルのSSL_ENTRUST_INI_FILE
パラメータに、Entrust初期化ファイルの位置が指定されていることを確認します。ただし、このパラメータに位置を指定しない場合は、Entrust初期化ファイルをc:¥WINNT
に配置する必要があります。
データベースがMicrosoft社のプラットフォームで実行されている場合は、Entrust Entelligence Desktop Managerが実行されていないことを確認します。この場合は、自動ログインを使用可能にする.ual
ファイルのみが必要となります。
Entrust初期化ファイルで指定されているEntrust Authorityがアクセス可能で、動作していることを確認します。
入力したプロファイルのパスワードが間違っていないことを確認します。
Oracle DatabaseサーバーからEntrustへのログインが失敗した場合は、自動ログイン資格証明ファイル(.ual
)が有効なパスワードを使用して生成されたことを確認します。また、Entrust Server Login ToolkitとEntrust IPSEC Negotiator Toolkitのバージョンが一致していることを確認します(つまり、IPSEC Toolkit 6.0とServer Login Toolkit 6.0が使用されていれば問題ありません)。
Entrust初期化ファイルの最初のセクション(Entrust Settings)に次のエントリがあることを確認します。
IdentityLibrary = location
location
はlibidapi.so
の位置(ファイル名を含む)です。