ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Directory Server Enterprise Editionトラブルシューティング・ガイド
11g リリース 1 (11.1.1.7.0)
B72443-01
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

6 データ管理の問題のトラブルシューティング

この章では、Directory ServerおよびDirectory Proxy Serverのデータ管理に関する問題のトラブルシューティングに役立つ情報について説明します。

この章は次の項で構成されています:

6.1 LDAP操作の失敗に関するトラブルシューティング

この項では、LDAP操作失敗のトラブルシューティング方法について説明します。操作失敗の考えられる原因、問題のトラブルシューティングのために収集する情報およびこの情報を分析する方法について説明します。

6.1.1 操作の失敗の考えられる原因

操作は、次の理由で失敗する場合があります。

  • 操作が許可されていない場所にACIがある

  • リフェラルが別のサーバーを参照している

  • データベースが更新時にリフェラルに設定されたため、更新を続行できない

  • データベースが再インポートされている

  • オンライン構成が許可されていない

6.1.2 操作の失敗に関するデータの収集および分析

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

6.2 SSLの問題のトラブルシューティング

この項は、SSL接続が失敗したときのトラブルシューティングに役立ちます。この章の内容は次のとおりです。

この章は次の項で構成されています:

Synchronization for WindowsでのSSLの問題のトラブルシューティングの詳細は、「SSLを介したIdentity Synchronization for Windowsのインストールの問題のトラブルシューティング」を参照してください。

6.2.1 重要なSSLの概念の概要

この項では、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)に関する説明を参照してください。

6.2.2 SSLの問題の考えられる原因

SSL接続の問題は、次のいずれかの結果として生じる可能性があります。

  • 適切でないセキュリティー・ライブラリのパッチ・ファミリが適用された

  • サーバーがSSLを受け入れるように構成されていない

  • SSLポートが開いていない

  • CA証明書が見つからない

  • CA証明書が適切でないか、期限切れである

  • 要求されたときにSSLクライアントが証明書を送信しない

  • SSLサーバー証明書がインポートされていない

6.2.3 SSLデータの収集および分析

この項では、SSLによるレプリケーションの問題を含む、SSLの問題のトラブルシューティングに役立つデータの収集と分析に関する情報について説明します。

6.2.3.1 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クライアントのように動作します。

6.2.3.2 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

この証明書の有効性を確認します。また、証明書の発行者が有効で信頼できる認証局であることも確認します。

6.2.3.3 クライアント認証設定の確認

クライアント認証は、必要とするように、または許可するように構成できます。DSCCを使用するか、dsconf get-server-prop ssl-client-auth-modeコマンドを使用して、クライアント認証設定を確認します。


注意:

ユーザーのDirectory Serverの移行済5.2インスタンスでは、dse.ldifファイルのnsSSLClientAuthプロパティを調べることで、クライアント認証設定を確認できます。


6.2.3.3.1 DSCCを使用してクライアント認証設定を確認する手順
  1. DSCCの「ディレクトリ・サーバー」タブに移動し、表からサーバーを選択します。

  2. 「セキュリティ」タブをクリックし、次に「一般」タブをクリックします。

  3. 「クライアント認証」セクションで、「LDAP設定」に移動します。

    SSLサーバーのみが証明書を必要とするようにする場合は、「証明書ベースのクライアント認証を許可する」を選択します。

    SSLサーバーとSSLクライアントの両方が証明書を必要とするようにする場合は、「証明書ベースのクライアント認証を必須にする」を選択します。

6.2.3.4 ライブラリの確認

動的にロードされるすべてのライブラリのリストを取得して、ロードされる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

6.2.3.5 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]キーを押してツールを停止し、ブラウザ・ウィンドウに出力ファイルを表示します。出力データは色分けされていて、クライアントから送信されたデータは青色で、サーバーから送信されたデータは赤色でマークされています。