Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Identity Synchronization for Windows 1 2004Q3 インストールおよび設定ガイド 

第 11 章
セキュリティの設定

この章は、配備のセキュリティ設定に関する重要な情報を提供します。ここで説明する内容は、次のとおりです。


セキュリティの概要

パスワードは機密性のある情報です。Identity Synchronization for Windows は、同期させるディレクトリへのアクセスに使用する、ユーザーと管理者のパスワードクレデンシャルの安全性を確保するために、セキュリティ対策を講じています。

ここでは、セキュリティを保護するための次の方法について説明します。

このセキュリティ保護は、次のような事態が生じることを回避することを目的としています。

設定パスワードの指定

製品の設定ディレクトリに格納され、ネットワークを介して転送される機密情報を保護するために、Identity Synchronization for Windows は設定パスワードを使用します。管理者はコアのインストール時に設定パスワードを指定します。コンソールを開いたり、Identity Synchronization for Windows のインストールプログラムを実行したりするときは、そのたびにこのパスワードを指定する必要があります。


システムマネージャは、コネクタに渡す前に設定パスワードにアクセスする必要があります。このため、システムマネージャはその初期化ファイルにこのパスワードを記録します。

ファイルシステムのアクセス制御により、権限を持たないユーザーはシステムマネージャの初期化ファイルにアクセスできません。Identity Synchronization for Windows のインストールプログラムは、このパスワードにパスワードポリシーを適用しません。

設定パスワードを選ぶときに、パスワードのセキュリティを向上させる方法については、「セキュリティの強化」を参照してください。


SSLの使用

コンポーネントが LDAP を使用するすべての機会で SSL を介した LDAP を使用するように Identity Synchronization for Windows を設定することができます。Message Queue へのすべてのアクセスは、SSL で保護されます。

Directory Server から Active Directory への同期では、Active Directory コネクタと Active Directory の間で SSL を使用する必要があります。

信頼された SSL 証明書の要求

デフォルトでは、SSL を使用するように設定されたコネクタは、サーバー (Directory Server または Active Directory) から返されるすべての SSL 証明書を受け付けます。しかし、これには信頼されない証明書や、有効期限切れ、または無効な証明書も含まれます。コネクタとサーバーの間のすべてのネットワークトラフィックは暗号化されますが、あるサーバーが本物の Active Directory や Directory Server に成りすましている場合、コネクタはその成りすましを検出できません。

コネクタが信頼された証明書だけを受け付けるように強制するには、コンソールで「Directory Server の設定」ウィザードを開き、「拡張セキュリティオプションの指定」パネルで「信頼できる SSL の証明書を要求」オプションを有効にする必要があります (詳細情報を参照)。このオプションを有効にしたら、idsync certinfo によって表示される適切な CA 証明書をコネクタの証明書データベースに追加する必要があります。

生成された 3DES キー

製品の設定ディレクトリ内のすべての機密情報の保護には、設定パスワードから生成される 3DES キーが使用されます。ログメッセージを除き、Message Queue に送信されるすべてのメッセージは、トピックごとに切り替わる 3DES キーで暗号化されます。コネクタとサブコンポーネントの間で送信されるメッセージは、セッションごとに切り替わる 3DES キーによって暗号化されます。Directory Server プラグインは、ユーザーパスワードのすべての変更を 3DES キーで暗号化します。

SSL と 3DES キーによる保護の概要

表 11-1 は、ネットワーク上で送信される機密情報を Identity Synchronization for Windows がどのように保護するかを示しています。

表 11-1 ネットワークセキュリティによる機密情報の保護

保護の方法

保護の対象となる通信経路

SSL を介した LDAP (オプション)

  • Directory Server コネクタと、Directory Server、Active Directory コネクタ、Active Directory の間
  • Directory Server プラグインと Active Directory の間
  • コマンド行インタフェースと製品の設定ディレクトリの間
  • コンソールと製品の設定ディレクトリの間
  • コンソールと Active Directory のグローバルカタログの間
  • コンソールと、同期対象の Active Directory ドメインまたは Directory Server の間
  • Message Queue ブローカと製品の設定ディレクトリの間
  • コネクタ、システムマネージャ、セントラルロガー、コマンド行インタフェース、コンソールは、LDAPS を介して Message Queue を認証できる
  • インストーラと設定 Directory Server の間
  • インストーラと Active Directory の間
  • インストーラと同期対象 Directory Server の間

3DES キーによる暗号化 (デフォルト)

  • Directory Server コネクタと Directory Server プラグイン (全データ)
  • Windows NT コネクタ、Windows NT パスワードフィルタ DLL、Windows NT 変更ディテクタ (全データ)
  • 製品の設定ディレクトリ内のすべての機密情報
  • コネクタとサブコンポーネントの間で送信されるすべてのメッセージ (セッションごとに切り替わる 3DES キーによって暗号化される)
  • Message Queue を介して送信されるログ以外のすべてのメッセージ

図 11-1 は、ここで説明したセキュリティ機能の概要を示しています。

図 11-1 Identity Synchronization for Windows のセキュリティの概要

Identity Synchronization for Windows コンポーネントの物理的な配備

Message Queue のアクセス制御

Identity Synchronization for Windows は、各コネクタが受信メッセージを信頼できるように、Message Queue のアクセス制御を使用して、メッセージの登録と公開に対する未認証アクセスを防止しています。

Message Queue ブローカへのアクセス時は、Message Queue とコネクタだけが認識している一意のユーザー名とパスワードが指定されます。Message Queue に送信される各メッセージは、トピックごとに切り替わる 3DES キーで暗号化されるため、メッセージの内容は保護され、トピックキーを知らない部外者が意味のあるメッセージを送信することを防止できます。これらの対策により、アタッカーが偽のパスワード同期メッセージをコネクタに送ったり、コネクタに成りすまして実際のパスワード更新を受信したりすることが防止されます。


デフォルトでは、コネクタやシステムマネージャなど、Message Queue のクライアントは、Message Queue ブローカから返されるすべての SSL 証明書を受け付けます。Message Queue 証明書の検証と、Message Queue に関連するセキュリティ上の問題については、「セキュリティの強化」を参照してください。


ディレクトリのクレデンシャル

同期対象の Active Directory と Directory Server でパスワードを変更する場合、コネクタは、特別な権限を持つクレデンシャルを要求します。特別な権限を持つこれらのクレデンシャルは、製品の設定ディレクトリへの格納前に暗号化されます。

持続ストレージの保護の概要

表 11-2 は、ディスクに格納される機密情報を Identity Synchronization for Windows がどのように保護するかを示しています。

表 11-2 持続ストレージの保護 

持続ストレージ

機密情報

保護

設定 Directory Server に格納される製品の設定情報

製品の設定ディレクトリには、ディレクトリにアクセスするためのクレデンシャルと、Message Queue トピックごとの 3 DES キーが格納される

製品の設定ディレクトリに格納されるすべての機密情報は、設定パスワードから生成される 3DES キーを使用して暗号化される。製品の設定ディレクトリをさらに保護するための推奨事項については、「セキュリティの強化」を参照

Directory Server の旧バージョン形式の更新履歴ログ

Directory Server プラグインは、パスワードの変更を取り込み、Directory Server の旧バージョン形式の更新履歴ログに書き込む前にそれを暗号化する

Directory Server プラグインは、各配備で一意の 3DES キーを使用して、変更されたすべてのユーザーパスワードを暗号化する

Message Queue ブローカの持続ストレージ

Message Queue ブローカは、すべてのコネクタ間で送受信されるパスワード同期メッセージを格納する

ログメッセージを除き、すべての持続メッセージは、トピックごとの 3DES キーで暗号化される

Message Queue ブローカのディレクトリクレデンシャル

Message Queue ブローカは製品の設定ディレクトリに対してユーザーを認証する。設定ディレクトリへの接続には、コアのインストール時に設定されたディレクトリ管理ユーザーの名前とパスワードが使用される

ディレクトリパスワードは、ファイルシステムのアクセス制御によって保護されたパスファイルに格納される

システムマネージャの起動ファイル

システムマネージャの起動ファイルには、設定情報へのアクセスに必要な情報が記録されている。これには、設定パスワードと、コアのインストール時に設定されたディレクトリ管理ユーザーの名前とパスワードが含まれる

このファイルは、ファイルシステムのアクセス制御によって保護される

コネクタとセントラルロガーの起動ファイル

各コネクタとセントラルロガーには、Message Queue へのアクセスに必要なクレデンシャルを記録した初期設定ファイルがある

これらのファイルは、ファイルシステムのアクセス制御によって保護される

Directory Server プラグインの起動設定

cn=config に格納されるプラグインの設定には、コネクタへの接続に必要なクレデンシャルが記録されている

cn=config サブツリーは、ACI によって保護され、このツリーのミラーである dse.ldif ファイルは、ファイルシステムのアクセス制御によって保護される

NT パスワードフィルタ DLL と NT 変更ディテクタの起動設定

Windows レジストリに格納される NT サブコンポーネントの設定には、コネクタへの接続に必要なクレデンシャルが記録されている

PDC レジストリへのアクセスがセキュリティ保護されていない場合は、アクセス制御によってこれらのレジストリキーを保護できる

Windows コネクタのオブジェクトキャッシュ

Windows コネクタは、ハッシュ化されたユーザーパスワードをコネクタのオブジェクトキャッシュに格納する

パスワードはクリアテキスト形式ではなく、MD5 ハッシュで暗号化された形式で格納される。これらのデータベースファイルは、ファイルシステムのアクセス制御によって保護される (「セキュリティの強化」を参照)


セキュリティの強化

ここでは、製品の現行リリースに潜在的に存在するセキュリティ上の弱点について説明し、製品のデフォルト設定以外でセキュリティを拡張、強化する方法について推奨事項を示します。ここで説明する内容は、次のとおりです。

設定パスワード

機密性のある設定情報の保護には設定パスワードが使用されますが、インストールプログラムはこのパスワードにパスワードポリシーを適用しません。このパスワードを設定するときは、厳密なガイドラインに従って容易に想像できない複雑なパスワードを選択し、強力なパスワードを作成するための標準的なポリシーガイドラインに準拠していることを確認してください。

たとえば、大文字、小文字、英数字以外の文字を含む、8 文字以上の長さのパスワードを作成します。名前、イニシャル、日付などを含めないようにしてください。

設定ディレクトリのクレデンシャルの作成

製品の設定ディレクトリが存在する Directory Server にアクセスするには、その管理者のクレデンシャルが設定管理者グループに含まれている必要があります。しかし、何らかの理由で admin 以外のクレデンシャルを作成する必要がある場合は、次の方法で対応してください。

インストールプログラムは、コンソールの管理サブツリーに格納されているユーザーのクレデンシャルを要求します。しかし、コアのインストールプログラムは、admin 以外のユーザーを uid=admin,ou=Administrators, ou=TopologyManagement, o=NetscapeRoot に拡張しません。このため、コアのインストール時は、DN 全体を指定する必要があります。

admin 以外の新規ユーザーを作成する手順は、次のとおりです。

  1. 次の DN でユーザーを作成します。
  2. ou=Administrators, ou=TopologyManagement, o=NetscapeRoot

  3. 設定管理者のグループに新しいクレデンシャルを追加します。
  4. このユーザーと、設定管理者グループのすべてのユーザーだけが、製品の設定ディレクトリが格納された Directory Server にアクセスできるように、ACI を設定します。
  5. コアのインストール時は、DN 全体を指定します。

Message Queue クライアントによる証明書の検証

デフォルトでは、コネクタやシステムマネージャなど、Message Queue のクライアントは、Message Queue ブローカから返されるすべての SSL 証明書を受け付けます。

  1. この設定を無効にし、Messege Queue クライアントが Message Queue ブローカの証明書を検証するように設定するには、次のファイルを編集します。
  2. <installation_root>/resources/WatchList.properties

  3. Watchlist.properties ファイルの各プロセスの JVM 引数に次の設定を追加します。
  4. -Djavax.net.ssl.trustStore=<keystore_path> -DimqSSLIsHostTrusted=false

  5. Identity Synchronization for Windows デーモンまたはサービスを開始し直します。

javax.net.ssl.trustStore プロパティは、ブローカ証明書を信頼する JSEE キーストアをポイントする必要があります。たとえば、コアがインストールされているマシンでは、ブローカも /etc/imq/keystore を使用しているので、このキーストアを使用できます。

Message Queue の自己署名 SSL 証明書

デフォルトでは、Message Queue ブローカは自己署名 SSL 証明書を使用します。別の証明書をインストールするには、Java に付属する keytool ユーティリティを使用して、ブローカのキーストア (Solaris 環境では /var/imq/instances/isw-broker/etc/keystore、Windows 2000 環境では <mq_installation_root>/var/instances/isw-broker/etc/keystore) を修正します。証明書のエイリアスは、imq である必要があります。

Message Queue ブローカへのアクセス

デフォルトでは、Message Queue はポートマッパ以外のすべてのサービスに動的なポートを使用します。ファイアウォールを通過してブローカにアクセスしたり、ブローカに接続できるホストを制限したりする場合は、ブローカがすべてのサービスに固定ポートを使用するように設定する必要があります。

このように設定するには、ブローカ設定プロパティの imq.<service_name>.<protocol_type>.port を設定します。詳細については、『Sun Java System Message Queue 3.5 SP1 管理ガイド』を参照してください。

ディレクトリ証明書の検証の設定

製品の設定ディレクトリに SSL 経由でアクセスする場合、システムマネージャはすべての証明書を受け付け、Message Queue ブローカもすべての証明書を受け付けます。現時点では、製品の設定ディレクトリの SSL 証明書をシステムマネージャまたは Message Queue ブローカに検証させる方法はありません。

設定ディレクトリへのアクセスの制限

コアのインストール時に、製品の設定ディレクトリが格納される Directory Server に追加される情報には、アクセス制御に関する情報が含まれません。次の ACI を使用することで、アクセス可能なユーザーを設定管理者だけに制限できます。

(targetattr = "*") (target = "ldap:///ou=IdentitySynchronization,ou=Services,dc=example,dc=com") (version 3.0;acl "Test";deny (all)(groupdn != "ldap:///cn=Configuration Administrators, ou=Groups, ou=TopologyManagement, o=NetscapeRoot");)

Directory Server でのアクセス制御の管理については、『Sun Java System Directory Server 5 2005Q1 管理ガイド』の第 6 章「アクセス制御の管理」を参照してください。


レプリケートされた構成のセキュリティ保護

レプリケーションを使用する Directory Server に接続する配備には、「セキュリティの概要」で説明した規則がそのまま適用されます。ここでは、レプリケートされた構成の例を示し、その構成で SSL の使用を有効化する方法について説明します。


レプリケートされた設定の計画、配備、セキュリティ保護の概要については、付録 E 「レプリケーション環境でのインストールに関する注意」を参照してください。


表 11-3 は、CA 証明書を必要とする構成コンポーネントと、必要となる証明書の種類を示しています。

表 11-3 CA 証明書を必要とする MMR 構成コンポーネント 

コンポーネント

必要な CA 証明書

優先 Directory Server のレプリケートされたマスター

Active Directory システム

二次 Directory Server のレプリケートされたマスター

Active Directory システム

読み取り専用の Directory Server ハブ

優先 Directory Server のレプリケートされたマスター

二次 Directory Server のレプリケートされたマスター

Directory Server コネクタ

優先 Directory Server のレプリケートされたマスター

二次 Directory Server のレプリケートされたマスター

Active Directory コネクタ

Active Directory システム

図 11-2 は、MMR 構成の配備にインストールされた Identity Synchronization for Windows を示しています。この配備には、レプリケートされた 2 つの Directory Server マスターと、読み取り専用ハブまたはコンシューマの複数の Directory Server が含まれます。各 Directory Server にはプラグインがあり、Directory Server コネクタ、Active Directory システム、Active Directory コネクタは、それぞれ 1 つだけです。

図 11-2 レプリケートされた構成

Identity Synchronization for Windows コンポーネントのレプリケートされた配備


Directory Server ソースに SSL を設定するときは、レプリカ Directory Server が、優先、二次の両方の Directory Server 証明書を信頼するように設定する必要があります。これは、システムにインストールされている、ハブまたは読み取り専用レプリカ以外の Directory Server のすべてのプラグインにも該当します。

Directory Server プラグインは、関連する Directory Server と同じ CA 証明書にアクセスできます。



idsync certinfo の使用

Identity Synchronization for Windows の現在の SSL 設定で必要となる証明書を調べるには、idsync certinfo ユーティリティを使用します。idsync certinfo を実行することで、各証明書データベースで必要とされる証明書に関する情報を取得できます。


SSL を使用するように Directory Server ソースを設定するときは、すべての Directory Server サブコンポーネントまたはプラグインのレプリカ Directory Server が、優先および二次 Directory Server ソース証明書を信頼することを確認する必要があります。

すべての証明書を信頼する設定を有効にした状態で、Identity Synchronization for Windows が SSL 接続の確立を試みたときに、サーバーのホスト名と、SSL ネゴシエーションの段階でサーバーから提示される証明書に記録されているホスト名が一致しない場合、Identity Synchronization for Windows コネクタは接続の確立を拒否します。

Identity Synchronization for Windows に設定するディレクトリソースのホスト名は、そのディレクトリソースが使用する証明書に埋め込まれたホスト名と常に一致する必要があります。


引数

表 11-4 は、idsync certinfo サブコマンドに指定できる引数を説明しています。

表 11-4 certinfo の引数 

引数

説明

-h <CR-hostname>

設定ディレクトリのホスト名を指定する。この引数のデフォルト値は、コアのインストール時に指定された値である

-p <CR-port-no>

設定ディレクトリの LDAP ポート番号を指定する。デフォルトは 389

-D <bind-DN>

設定ディレクトリのバインド識別名 (DN) を指定する。この引数のデフォルト値は、コアのインストール時に指定された値である

-w <bind-password | ->

設定ディレクトリのバインドパスワードを指定する
値として - を指定した場合、パスワードは標準入力 (STDIN) から読み取られる

-s <rootsuffix>

設定ディレクトリのルートサフィックスを指定する。ルートサフィックスは、dc=example,dc=com などの識別名である
この引数のデフォルト値は、コアのインストール時に指定された値である

-q <configuration_password>

設定パスワードを指定する。値として - を指定した場合、パスワードは標準入力 (STDIN) から読み取られる

使用方法

次に、idsync certinfo を使用して、SSL 通信を行うように指定されているシステムコンポーネントを検索する例を示します。この実行例の結果では、2 つのコネクタ (CNN101 と CNN100) が識別され、適切な CA 証明書をどこにインポートするべきかが示されます。

:¥Program Files¥Sun¥MPS¥isw-hostname¥bin> idsync certinfo -h CR-hostname
-p 389 -D "cn=Directory Manager" -w dirmanager -s dc=example,dc=com
-q <password>

Connector: CNN101

Certificate Database Location: C:¥Program Files¥Sun¥MPS¥isw-hostname¥etc¥CNN101

Get 'Active Directory CA' certificate from Active Directory and import into Active Directory Connector certificate db for server ldaps:://hostname.example.com:636

Connector: CNN100

Certificate Database Location:   C:¥Program Files¥Sun¥MPS¥isw-hostname¥etc¥CNN100

Export 'Directory Server CA' certificate from Directory Server certificate db and import into Directory Server Connector certificate db ldaps://hostname.example.com:636

Export 'Active Directory CA' certificate from Active Directory Server hostname.example.sun.com:389 and import into Directory Server Server certificate db for server ldaps://hostname.example.com:638

SUCCESS


Directory Server での SSL の有効化

Directory Server で自己署名証明書を使用して SSL を有効にする手順は、次のとおりです。


ここでは、手順の概略を示します。詳細については、『Sun Java System Directory Server 5 2005Q1 管理ガイド』を参照してください。



  • Windows 環境では、Directory Server 5 2004Q2 以降に付属するバージョンの certutil を使用する
    5 2004Q2 より前のバージョンの Directory Server に付属する certutil は使用できない。これより前のバージョンの certutil には、Identity Synchronization for Windows との互換性がない
  • Solaris 環境では、certutil はデフォルトで /usr/sfw/bin にインストールされている

  1. 次のように入力し、Directory Server のキー証明書データベースを新規作成します。
  2. C:¥Program Files¥Sun¥MPS¥shared¥bin¥certutil.exe -d . -P slapd-hostname-

    In order to finish creating your database, you

    must enter a password which will be used to

    encrypt this key and any future keys.

    The password must be at least 8 characters long,

    and must contain at least one non-alphabetic character.

    Enter new password:

    Re-enter password:


    これらの例は、サーバールートの直下にある alias ディレクトリで実行されます。他のディレクトリで実行した場合、Directory Server は証明書データベースを見つけることができません。


  3. Directory Server が使用するサーバー証明書となる自己署名証明書を生成します。Directory Server が稼動しているサーバーのホスト名に従って DN を決定してください。

  4. 自己署名証明書のデフォルトの有効期限は 3 か月です。この期間を調整するには、-v <months-valid> オプションを使用します。たとえば、期間を 24 か月に延長するときは -v 21 と指定し、1 か月に短縮するときは -v -2 と指定します。


    C:¥Program Files¥Sun¥MPS¥shared¥bin¥certutil.exe -d . -P slapd-hostname- -S -n server-cert -s "cn=hostname.example.com,c=us" -x -t CTu,,

    A random seed must be generated that will be used in the

    creation of your key.  One of the easiest ways to create a

    random seed is to use the timing of keystrokes on a keyboard.

    To begin, type keys on the keyboard until this progress meter

    is full.  DO NOT USE THE AUTOREPEAT FUNCTION ON YOUR KEYBOARD!

    Continue typing until the progress meter is full:

    |************************************************************|

    Finished.  Press enter to continue:

    Enter Password or Pin for "NSS Certificate DB":

    Generating key.  This may take a few moments...

  5. 確認のために証明書を表示します。
  6. C:¥Program Files¥Sun¥MPS¥shared¥bin¥certutil.exe -L -d . -P slapd-hostname-

    Certificate Name           Trust Attributes

    server-cert                CTu,,

    p    Valid peer

    P    Trusted peer (implies p)

    c    Valid CA

    T    Trusted CA to issue client certs (implies c)

    C    Trusted CA to certs(only server certs for ssl) (implies c)

    u    User cert

    w    Send warning

  7. Directory Server の再起動のたびに証明書データベースパスワードを指定する必要がなくなるように、PIN ファイルを作成します。
  8. C:¥Program Files¥Sun¥MPS¥alias > echo Internal (Software) Token:<secret12> slapd-hostname-pin.txt

  9. 次のように、Directory Server で SSL を有効化します。
    1. コンソールを開きます。
    2. 「設定」タブを選択します。
    3. 右側のパネルで「暗号化」タブを選択します。
    4. 「このサーバーの SSL を有効にする」にチェックマークを付けます。
    5. 「この暗号化方式ファミリを使用: RSA」にチェックマークを付けます。
    6. 「保存」をクリックし、「了解」を 2 回クリックします。
    7. 「ネットワーク」タブを選択します。
    8. 「セキュアポート」フィールドを更新します。Active Directory と同じマシンで実行している場合、ポートを 636 から未使用ポートに変更しないかぎり、Directory Server を起動できません。
    9. 「保存」、「はい」、「了解」を順にクリックします。
    10. 上部にある「タスク」タブを選択します。
    11. 「Directory Server を再起動します」をクリックし、「はい」をクリックします。

Directory Server 証明書データベースからの CA 証明書の取得

Directory Server で SSL が有効化されていることを確認します。Directory Server コネクタの証明書データベースにインポートできるように、Directory Server 証明書を一時ファイルとしてエクスポートするには、次のコマンドを実行します。

C:¥Program Files¥Sun¥MPS¥shared¥bin¥certutil.exe -L -d . -P slapd-hostname- -n server-cert -a > C:¥s-cert.txt

これらの例は、サーバールートの直下にある alias ディレクトリで実行されます。他のディレクトリで実行した場合、Directory Server は証明書データベースを見つけることができません。


Active Directory コネクタでの SSL の有効化

Identity Synchronization for Windows は Active Directory の SSL 証明書を SSL 通信経由で自動的に取得し、コネクタに指定したクレデンシャルと同じ情報を使用して、それをコネクタの証明書データベースにインポートします。

しかし、クレデンシャルが無効であったり、SSL 証明書が見つからなかったなどの理由でエラーが発生することもあります。このような場合は、Active Directory の CA 証明書を取得し、それをコネクタの証明書データベースに追加します。次に、この方法について説明します。

Active Directory 証明書の取得

エラーが発生したときは、Windows 2000/2003 に付属する certutil プログラム、または LDAP を使用して Active Directory の証明書を取得します。次の各項では、その手順について説明します。


ここで説明する certutil ユーティリティは、このマニュアルですでに説明された Directory Server に付属する certutil ユーティリティとは異なります。


Windows の certutil の使用

certutil プログラムを使用して Active Directory 証明書を取得する手順は、次のとおりです。

  1. Active Directory が稼動するマシンで次のコマンドを実行し、証明書をエクスポートします。
  2. C:¥>certutil -ca.cert cacert.bin

  3. 生成される cacert.bin ファイルは、証明書データベースにインポートできます。

LDAP の使用

LDAP を使用して Active Directory 証明書を取得する手順は、次のとおりです。

  1. Active Directory に対して次の検索を実行します。
  2. ldapsearch -h <CR-hostname> -D <administrator_DN> -w <administrator_password> -b "cn=configuration,dc=put,dc=your,dc=domain,dc=here" "cacertificate=*"

    この <administrator_DN> には、次のような DN が指定されます。

    cn=administrator,cn=users,dc=put,dc=your,dc=domain,dc=here

    この例では、ドメイン名は <put.your.domain.name.here> です。

    いくつかのエントリが検索フィルタと一致します。通常は、DN に cn=Certification Authorities, cn=Public Key Services が含まれるエントリが必要となります。

  3. テキストエディタを開き、最初の CA 証明書属性の最初の値を切り取ります。これは、base64 でエンコードされたテキストブロックです。切り取ったテキストブロックをテキストエディタに貼り付けます (値のみ)。どの行の先頭も空白文字とならないように、内容を編集します。
  4. 最初の行の前に -----BEGIN CERTIFICATE-----、最後の行の後に -----END CERTIFICATE----- を追加します。次の例を参照してください。
  5. -----BEGIN CERTIFICATE-----

    MIIDvjCCA2igAwIBAgIQDgoyk+Tu14NGoQnxhmNHLjANBgkqhkiG9w0BAQUFA DCBjjEeMBwGCSqGSIb3DQEJARYPYmVydG9sZEBzdW4uY29tMQswCQYDVQQGEw JVUzELMAkGA1UECBMCVFgxDzANBgNVBAcTBkF1c3RpbjEZMBcGA1UEChMQU3V uIE1pY3Jvc3lzdGVtczEQMA4GA1UECxMHaVBsYW5ldDEUMBIGA1UEAxMLUmVz dGF1cmFudHMwHhcNMDIwMTExMDA1NDA5WhcNMTIwMTExMDA1OTQ2WjCBjjEeM BwGCSqGSIb3DQEJARYPYmVydG9sZEBzdW4uY29tMQswCQYDVQQGEwJVUELMAk GA1UECBMCVFgxDzANBgNVBAcTBkF1c3RpbjEZMBcGA1UEChMQU3VuIE1pY3Jv c3lzdGVtczEQMA4GA1UECxMHaVBsYW5ldDEUMBIGA1UEAxMLUmVzdGF1cmFud HMwXDANBgkqhkiG9w0BAQEFAANLADBIAkEAyekZa8gwwhw3rLK3eV/12St1DV Usg31LOu3CnB8cMHQZXlgiUgtQ0hm2kpZ4nEhwCAHhFLD3iIhIP4BGWQFjcwI DAQABo4IBnjCCAZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgFG MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJ5Bgt6Oypq7T8Oykw4LH6ws2 d/IMIIBMgYDVR0fBIIBKTCCASUwgdOggdCggc2GgcpsZGFwOi8vL0NOPVJlc3 RhdXJhbnRzLENOPWRvd2l0Y2hlcixDTj1DRFAsQ049UHVibGljJTIwS2V5JTI wU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1yZXN0 YXVyYW50cyxEQz1jZW50cmFsLERDPXN1bixEQz1jb20/Y2VydGlmaWNhdGVSZ XZvY2F0aW9uTGlzdD9iYXNlP29iamVjdGNsYXNzPWNSTERpc3RyaWJ1dGlvbl BvaW50ME2gS6BJhkdodHRwOi8vZG93aXRjaGVyLnJlc3RhdXJhbnRzLmNlbnR yYWwuc3VuLmNvbS9DZXJ0RW5yb2xsL1Jlc3RhdXJhbnRzLmNybDAQBgkrBgEE AYI3FQEEAwIBADANBgkqhkiG9w0BAQUFAANBAL5R9R+ONDdVHWu/5Sd9Tn9dp xN8oegjS88ztv1HD6XSTDzGTuaaVebSZV3I+ghSInsgQbH0gW4fGRwaI BvePI4=

    -----END CERTIFICATE-----

  6. 証明書をファイルとして (たとえば ad-cert.txt など) 保存します。
  7. このファイル (この例では ad-cert.txt) を証明書データベースにインポートできます。方法については、次の節「コネクタの証明書データベースへの Active Directory 証明書の追加」を参照してください。

コネクタの証明書データベースへの Active Directory 証明書の追加

この手順は、Active Directory コネクタのインストール後にコネクタによる SSL の使用を有効にした、またはインストール時に無効なクレデンシャルを指定した場合にだけ実行してください。

  1. Active Directory コネクタがインストールされているマシンで、Identity Synchronization for Windows サービス / デーモンを停止します。
  2. 次のいずれかの方法で Active Directory の CA 証明書を取得します。
  3. ここでは、Active Directory コネクタのコネクタ ID が CNN101 であると仮定します (コネクタ ID と管理対象ディレクトリソースのマッピングについては、logs/central/error.log ファイルを参照)。証明書データベースがインストールされているマシンで証明書データベースのディレクトリに移動し、証明書ファイルをインポートします。
    • certutil を使用して証明書を取得した場合は、次のように入力する
    • C:¥¥Program Files¥Sun¥MPS¥shared¥bin¥certutil.exe -A -d . -n ad-ca-cert -t C,, -i ¥cacert.bin

    • LDAP を使用して証明書を取得した場合は、次のように入力する
    • C:¥¥Program Files¥Sun¥MPS¥shared¥bin¥certutil.exe -A -d . -n ad-ca-cert -t C,, -a -i ¥ad-cert.txt

  4. Identity Synchronization for Windows サービス / デーモンを開始し直します。

  5. Directory Server の certutil.exe は、Directory Server 5 2005Q1 のインストール時に自動的にインストールされます。このため、Directory Server がインストールされていないマシンにインストールされたコネクタに CA 証明書を追加することはできません。

    少なくとも、Active Directory コネクタがインストールされているサーバーに、Directory Server 5 2005Q1 パッケージから Sun Java System Server Basic Libraries と Sun Java System Server Basic System Libraries をインストールする必要があります。ただし、管理サーバーや Directory Server のコンポーネントをインストールする必要はありません。

    また、アンインストール可能になるように、コンソールで JRE サブコンポーネントを選択します。



Directory Server への Active Directory 証明書の追加

Directory Server 証明書データベースに Active Directory CA 証明書を追加する手順は、次のとおりです。


Directory Server で SSL が有効化されていることを確認します。


  1. 次のいずれかの方法で Active Directory の CA 証明書を取得します。
  2. Directory Server を停止します。
  3. Directory Server がインストールされているマシンで、次のように Active Directory CA 証明書をインポートします。
    • certutil を使用して証明書を取得した場合は、次のように入力する
    • C:¥¥Program Files¥Sun¥MPS¥shared¥bin¥certutil.exe -A -d . -P slapd-hostname- -n ad-ca-cert -t C,, -i ¥cacert.bin

    • LDAP を使用して証明書を取得した場合は、次のように入力する
    • C:¥¥Program Files¥Sun¥MPS¥shared¥bin¥certutil.exe -A -d . -P slapd-hostname- -n ad-ca-cert -t C,, -a -i ¥ad-cert.txt

  4. Directory Server を起動します。


Directory Server コネクタへの Directory Server 証明書の追加

Directory Server プラグインと Active Directory の間で SSL 通信を有効にした場合は、各 Directory Server マスターの証明書データベースに Active Directory の CA 証明書を追加する必要があります。手順は次のとおりです。

  1. Directory Server コネクタがインストールされているマシンで、Identity Synchronization for Windows サービス / デーモンを停止します。
  2. Directory Server CA 証明書を取得します。
  3. ここでは、Directory Server コネクタのコネクタ ID が CNN100 であると仮定します (コネクタ ID と管理対象ディレクトリソースのマッピングについては、logs/example/error.log ファイルを参照)。証明書データベースがインストールされているマシンで証明書データベースのディレクトリに移動し、cacert.bin ファイルをインポートします。
  4. C:¥Program Files¥Sun¥MPS¥shared¥bin¥certutil.exe -A -d . -n ds-cert -t C,, -i C:¥s-cert.txt


    ASCII 形式の証明書を取得した場合は、certutil コマンドに引数「-a」を指定し、ファイルがバイナリ形式ではなく、ASCII 形式であることを示します。


  5. Identity Synchronization for Windows サービス / デーモンを開始し直します。


前へ      目次      索引      次へ     


Part No: 817-7846   Copyright 2004 Sun Microsystems, Inc. All rights reserved.