Oracle® Fusion Middleware Oracle Directory Server Enterprise Editionトラブルシューティング・ガイド 11g リリース 1 (11.1.1.7.0) B72443-01 |
|
前 |
次 |
この章では、Directory ServerおよびDirectory Proxy Serverのデータ管理に関する問題のトラブルシューティングに役立つ情報について説明します。
この章は次の項で構成されています:
この項では、LDAP操作失敗のトラブルシューティング方法について説明します。操作失敗の考えられる原因、問題のトラブルシューティングのために収集する情報およびこの情報を分析する方法について説明します。
操作は、次の理由で失敗する場合があります。
操作が許可されていない場所にACIがある
リフェラルが別のサーバーを参照している
データベースが更新時にリフェラルに設定されたため、更新を続行できない
データベースが再インポートされている
オンライン構成が許可されていない
ACIが問題の原因であるかどうかを確認するには、サフィックス・レベルから、アクセスしようとしているエントリまでの、すべてのACIに関する情報を収集します。次のように、ldapsearch
操作を使用して、このデータを収集します。
# ldapsearch -b base-suffix -D "cn=Directory Manager" -w - \ -s scope "(objectclass=*)" aci
操作が含まれるアクセス・ログ・ファイルおよびエラー・ログ・ファイルを収集します。ACIロギング・レベルを有効にする必要があります。次のように、エラー・ログ・ファイルのACIロギング・レベルを有効にします。
# dsconf set-log-prop errors level:err-acl
次のように、アクセス・ログ・ファイルのACIロギング・レベルを有効にします。
# dsconf set-log-prop access level:acc-internal
エラー・ログの内容を表示するには、次のようにdsadm
コマンドを使用します。
dsadm show-error-log -A duration [-L last-lines] install-path
-A
オプションには、ログから返される行の最大期間を指定します。たとえば、24時間未満のすべてのエントリを検索するには、-A 24h
を使用します。-L
オプションには、ログから返される行数を指定します。たとえば、最後の50行を返すには、-L 50
を使用します。デフォルトでは、20行が返されます。
アクセス・ログを表示するには、次のようにdsadm
コマンドを使用します。
dsadm show-access-log -A duration [-L last-lines] install-path
ログ・ファイル自体は次のディレクトリにあります。
instance-path/logs/errors* instance-path/logs/access*
問題を自分でトラブルシューティングできない場合は、データベースにアクセスできなかった期間のエラー・ログ・ファイルとアクセス・ログ・ファイルを収集して、それらのファイルを分析のためにSunのサポートに送信してください。デフォルトでは、ログ・ファイルはinstance-path
/logs
ディレクトリにあります。エラー・ログおよびアクセス・ログへのパスを見つけるには、次のコマンドを使用します。
# dsconf get-log-prop ERROR path
または
# dsconf get-log-prop ACCESS path
この項は、SSL接続が失敗したときのトラブルシューティングに役立ちます。この章の内容は次のとおりです。
この章は次の項で構成されています:
Synchronization for WindowsでのSSLの問題のトラブルシューティングの詳細は、「SSLを介したIdentity Synchronization for Windowsのインストールの問題のトラブルシューティング」を参照してください。
この項では、Directory Serverマルチマスター・レプリケーションでのSSLの使用に関する問題のトラブルシューティングに役立つ概念について説明します。SSLの問題は、常にサプライヤ側で発生します。エラー・ログには、「SSL の初期化に失敗しました。」や「証明書が受け入れられません。」などのセキュリティ関連のメッセージが含まれます。
SSL接続には、常に次の2つが関与します。
SSLクライアント(LDAPリクエストを送信するLDAPクライアント、またはレプリケーション更新を送信するDirectory Server (サプライヤ))。
SSLサーバー(LDAPリクエストを受け入れる Directory Server (コンシューマ))。
SSLクライアントがリクエストを開始し、SSLサーバーは常にそのリクエストを受信します。この交換の際、SSLサーバーは資格証明を提供する必要があります。SSLサーバーは、SSLクライアントから送信される資格証明を検証する必要があります。この検証を行うには、ピアの証明書データベースに、もう一方のピアから送信された証明書のCA証明書が含まれている必要があります。
レプリケーションでは、SSL以外の操作のみを受け入れるマスター・レプリカを含むすべてのレプリカで、SSLが有効である必要があります。たとえば、マスター・サーバーは、SSLを使用してハブ・サーバーと通信します。ハブは、SSLポート上でリスニングする必要があります。マスターはSSLクライアントであるため、SSLポート上でリスニングする必要はありません。ただし、その場合でもSSLポートを定義する必要があり、そうしないと、Directory Serverは、ホスト・サーバーとの通信でSSL証明書の交換を開始できません。
デフォルトでは、SSLはすべてのDirectory Serverインスタンス上で有効になっています。SSLの機能の詳細は、『Oracle Directory Server Enterprise Editionリファレンス』のSecure Sockets Layer (SSL)に関する説明を参照してください。
SSL接続の問題は、次のいずれかの結果として生じる可能性があります。
適切でないセキュリティー・ライブラリのパッチ・ファミリが適用された
サーバーがSSLを受け入れるように構成されていない
SSLポートが開いていない
CA証明書が見つからない
CA証明書が適切でないか、期限切れである
要求されたときにSSLクライアントが証明書を送信しない
SSLサーバー証明書がインポートされていない
この項では、SSLによるレプリケーションの問題を含む、SSLの問題のトラブルシューティングに役立つデータの収集と分析に関する情報について説明します。
ssltap
ツールについてMozillaのWebサイトでは、SSLの問題のデバッグとトラブルシューティングに役立つNSSセキュリティ・ツールが提供されています。ssltap
ツールのソース・コードは、http://www.mozilla.org/projects/security/pki/nss/tools
から入手できます。
ssltap
ツールは、2つのシステム間のSSL通信を取得できます。ssltap
プログラムは、Directory ServerとLDAPクライアントの接続の間に配置する必要があります。このプログラムは、LDAPクライアントとの通信ではDirectory Serverのように動作し、Directory Serverとの通信ではLDAPクライアントのように動作します。
dsadm
を使用した証明書の検証証明書データベースは、instance-path
/alias
ディレクトリにあります。問題に関係するサーバーごとに、このディレクトリの内容を取得します。
たとえば、ns-slapd証明書(u,,
信頼フラグの付いた証明書)として使用できる証明書の一覧を表示するには、dsadm
コマンドを次のように使用します。
dsadm list-certs instance-path
このコマンドでは、defaultCert
などの証明書、それが有効になる日付、期限切れになる日付、自己署名付きかどうか、発行者および発行先の一覧が表示されます。
有効で信頼できるCA証明書(CT,,
信頼フラグの付いた証明書)に関する情報を表示するには、dsadm
コマンドを次のように使用します。
dsadm list-certs --ca instance-path
このコマンドでは、証明書エイリアス、それが有効になる日付と期限切れの日付、それが組み込まれているかどうか、発行者および発行先が表示されます。SSLサーバーおよびクライアントの証明書が、このコマンドの出力に含まれる認証局によって生成されていることを確認します。
特定の証明書に関する詳細情報については、次のようにdsadm
コマンドを使用します。
dsadm show-cert instance-path certificate-alias
たとえば、このコマンドの出力は次のようになります。
server1 [/var/dsee/instances]> dsadm show-cert ds1 defaultCert Certificate: Data: Version: 3 (0x2) Serial Number: 00:85:8b:13:ef Signature Algorithm: PKCS #1 MD5 With RSA Encryption Issuer: "CN=server1,CN=Directory Server,O=example.com" Validity: Not Before: Fri Mar 23 14:10:51 2007 Not After : Sat Jun 23 14:10:51 2007 Subject: "CN=server1,CN=Directory Server,O=example.com" Subject Public Key Info: Public Key Algorithm: PKCS #1 RSA Encryption RSA Public Key: Modulus: 9a:c9:52:bd:ec:32:43:1a:39:96:90:02:f5:7e:18:45: 78:37:ca:8d:8f:c4:cc:6f:d1:7e:6c:38:d1:a1:53:41: 96:67:07:c7:c8:56:78:d1:f2:24:df:1f:eb:b2:07:5d: 6e:1f:58:fa:7a:f2:00:e4:95:d1:57:97:37:9d:22:31: 1c:b7:99:29:df:a3:8a:2a:87:e1:8b:54:ea:1f:7c:b7: 28:23:ce:be:7e:73:b3:87:f5:32:88:56:4e:58:68:f6: f6:01:2c:51:ca:07:00:40:ca:b3:9e:33:40:e8:f2:18: bc:16:d4:ac:ae:69:a7:c9:d7:g5:34:d4:87:11:2c:b1 Exponent: 65537 (0x10001) Signature Algorithm: PKCS #1 MD5 With RSA Encryption Signature: 29:76:4f:9f:ca:00:09:7b:05:ac:0f:26:6f:d1:93:aa: a8:c0:eb:a9:2a:39:e2:6e:08:0a:90:41:e5:7f:18:4a: 17:05:03:04:9b:ee:0a:dc:3c:ef:ee:aa:fc:ea:85:bf: f9:05:32:65:35:2c:e8:1f:32:9d:d6:a7:aa:68:a4:7a: e8:d9:4a:a0:a6:bc:fd:36:ba:d3:80:8a:1b:d3:81:8a: 68:1a:73:cc:36:7a:92:dc:eb:ec:af:02:6b:14:c7:77: e3:7d:95:19:e7:17:9d:d2:35:67:60:6b:9f:9b:d9:af: 01:f2:55:7f:5f:ce:23:a0:49:67:01:cd:30:38:8b:d2 Fingerprint (MD5): B8:34:27:AA:02:F6:07:FC:8F:D1:4A:AD:38:29:09 Fingerprint (SHA1): 3C:3B:BD:15:E8:1F:68:2E::E8:EJ:02:63:CD:8F:39:BE:DD:70 Certificate Trust Flags: SSL Flags: Valid CA Trusted CA User Trusted Client CA Email Flags: User Object Signing Flags: User
この証明書の有効性を確認します。また、証明書の発行者が有効で信頼できる認証局であることも確認します。
クライアント認証は、必要とするように、または許可するように構成できます。DSCCを使用するか、dsconf get-server-prop ssl-client-auth-mode
コマンドを使用して、クライアント認証設定を確認します。
注意: ユーザーのDirectory Serverの移行済5.2インスタンスでは、 |
DSCCの「ディレクトリ・サーバー」タブに移動し、表からサーバーを選択します。
「セキュリティ」タブをクリックし、次に「一般」タブをクリックします。
「クライアント認証」セクションで、「LDAP設定」に移動します。
SSLサーバーのみが証明書を必要とするようにする場合は、「証明書ベースのクライアント認証を許可する」を選択します。
SSLサーバーとSSLクライアントの両方が証明書を必要とするようにする場合は、「証明書ベースのクライアント認証を必須にする」を選択します。
動的にロードされるすべてのライブラリのリストを取得して、ロードされるNSS/SSLライブラリおよびNSPRライブラリを確認します。Solaris IntelまたはLinuxで動的にロードされるライブラリのリストを取得するには、次のコマンドを使用します。
# cd install-path/lib; ldd ns-slapd
Solaris SPARC、Solaris AMD64またはHPUXで動的にロードされるライブラリのリストを取得するには、次のコマンドを使用します。
# cd install-path/lib/64; ldd ns-slapd
動的にロードされたライブラリは、次のディレクトリに置かれます。
install-path/lib/private
ssltap
ツールを使用したSSL通信の確認ssltap
ツールを使用して、システムでハンド・シェイクが動作しているかどうかを確認できます。このツールはSSLプロキシのように機能し、LDAPクライアントとDirectory Serverの間の通信および交換されるパッケージを表示します。たとえば、このツールを使用して、サーバーが証明書を要求してもクライアントが証明書を送信しない場所や、サーバーがサポートしていない暗号スイートをクライアントが提案している場所を確認できる場合があります。
SSLポート636はクライアント側でハードコードされているため、ssltap
ツールをDirectory Server上で実行し、ここで、ポート636で受信クライアント・リクエストをリスニングする必要があります。ssltap
ツールの実行中、Directory ServerのSSLポートは、636以外の番号に変更する必要があります。
たとえば、ssltap
を次のように実行します。
ssltap -vhfsxl -p 636 localhost:637> output.html
クライアント上でldaplist
のような単純なLDAPリクエストを実行した後、このツールによってSSLパケットが取得されているはずです。[CTRL]キーを押しながら[C]キーを押してツールを停止し、ブラウザ・ウィンドウに出力ファイルを表示します。出力データは色分けされていて、クライアントから送信されたデータは青色で、サーバーから送信されたデータは赤色でマークされています。