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ソフトウェアがデプロイされているユーザーは、それを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 の自動ログイン資格証明ファイルを使用するため、サーバー・コンピュータにはインストールしないでください
.ualファイルの作成の詳細は、 |
Entrust Authority Server Login Featureは、UNIXプラットフォームで動作するサーバーでのシングル・サインオン機能に必要です。
Entrust Authority Server Login Featureは、着信SSL接続に対するOracle Databaseサーバー・プロセスのアクセスを可能にすることで、シングル・サインオンを提供します。この機能がないと、データベース管理者または他の権限ユーザーは、着信接続ごとにサーバーでEntrustプロファイルのパスワードを入力する必要があります。
Entrust Authority Server Login Featureを入手するには、Entrustの代理店にご連絡ください。
Entrust Authority IPSec Negotiator Toolkitは、Oracle Advanced SecurityのSSLスタックをEntrust Authorityと統合し、SSL認証でEntrustプロファイルを使用できるようにするために、クライアントとサーバーの両方で必要です。
Entrust Authority IPSec Negotiator Toolkitを入手するには、Entrustの代理店にご連絡ください。
図F-1は、次のEntrust認証プロセスを示しています。
OracleクライアントのEntrustユーザーは、SSLとEntrust資格証明を使用してサーバーとの安全な接続を確立します。
サーバーのOracle SSLアダプタは、Entrust Authorityと通信して、Entrustユーザーの証明書失効ステータスをチェックします。
この項では、Entrust対応のOracle Advanced SecurityのSSL認証の構成に必要な次の作業について説明します。
この項では、管理者またはユーザーが作成できる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 リリース2 (11.2)では、Entrustサポートは標準モードでインストールされます。単一のOracleインストールで、OracleウォレットとEntrustプロファイルの両方の使用がサポートされます。
関連項目: オペレーティング・システム固有のOracle Databaseインストール関連ドキュメント |
関連項目: クライアントおよびサーバーでのSSLの構成の詳細は、第13章「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データベース・インスタンスを停止します。
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データベース・インスタンスを開始します。
サーバーがWindowsプラットフォーム上にある場合は、次の手順を実行します。
関連項目: Entrust Entelligence Desktop Managerのダウンロードの詳細は、「Entrust対応のOracle Advanced Securityに必要なシステム・コンポーネント」を参照してください。 |
Oracleデータベース・インスタンスを停止します。
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データベース・インスタンスを開始します。
注意: すべての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サーバー・ログイン・プログラムがサーバーで実行されていない
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
ファイルの削除
サーバー・ログインの削除
クライアントの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プロファイル名を要求するGUIが表示されます。この情報をユーザーが入力すると、接続要求が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データベース・サーバーが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
の場所(ファイル名を含む)です。