Sun Java System Directory Server Enterprise Edition 6.3 インストールガイド

第 10 章 セキュリティーの設定

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


注 –

この章は、公開鍵暗号方式とSSL (Secure Sockets Layer) プロトコルの基本概念をよく理解し、イントラネット、エクストラネット、インターネットセキュリティー、エンタープライズでのデジタル証明書の役割の概念を理解していることを前提としていますこれらの概念を理解していない場合は、Managing Servers with iPlanet Console 5.0 のマニュアルのセキュリティー関連の付録を参照してください。


セキュリティーの概要

パスワードは機密情報です。このため、Identity Synchronization for Windows は、同期されるディレクトリにアクセスするためのユーザーと管理のパスワード資格が危険にさらされないように、セキュリティー上の予防策を講じます。

ここでは、次のセキュリティー対策について説明します。

このセキュリティー対策は、次のイベントの発生を防ぐことを目的としています。

設定パスワードの指定

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


注 –

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

ファイルシステムのアクセス制御は、非特権ユーザーがシステムマネージャーの初期設定ファイルにアクセスできないようにします。Identity Synchronization for Windows インストールプログラムは、このパスワードにパスワードポリシーを強制しません。

設定パスワードの選択時にセキュリティーを強化するには、「セキュリティーの強化」を参照してください。


SSL の使用

コンポーネントが LDAP を使用するあらゆる場所で LDAP over SSL を使用するよう 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 に偽装したサーバーを検出しません。

コネクタが信頼できる証明書のみを受け入れるようにするには、コンソールを使用して「ディレクトリソースの設定」ウィザードの「拡張セキュリティーオプションの指定」パネルにある「信頼できる SSL の証明書を要求」オプションを有効にします (「Active Directory ソースの作成」を参照)。このオプションを有効にしたあと、idsync certinfo で報告された適切な CA 証明書をコネクタの証明書データベースに追加します。

生成された 3DES キー

設定パスワードから生成された 3DES キーは、製品の設定ディレクトリですべての機密情報をセキュリティー保護するために使用されます。ログメッセージを除いて、Message Queue に入れられるメッセージはすべてトピックごとの 3DES キーで暗号化されます。コネクタとサブコンポーネント間でやり取りされるメッセージは、セッションごとの 3DES キーで暗号化されます。ディレクトリサーバープラグインは、3DES キーでユーザーパスワードの変更をすべて暗号化します。

SSL および 3DES キーでの保護の概要

「SSL および 3DES キーでの保護の概要」では、Identity Synchronization for Windows がネットワーク上でやり取りされる機密情報を保護する方法をまとめています。

表 10–1 ネットワークセキュリティーを使用した機密情報の保護

使用する保護方法 

次の情報タイプ間 

LDAP over SSL (オプション) 

  • ディレクトリサーバーコネクタと Directory Server 、Active Directory コネクタと Active Directory

  • ディレクトリサーバープラグインと Active Directory

  • コマンド行インタフェースと製品の設定ディレクトリ

  • コンソールと製品の設定ディレクトリ

  • コンソールと Active Directory グローバルカタログ

  • コンソールと Active Directory ドメインまたは同期される Directory Server

  • Message Queue ブローカと製品の設定ディレクトリ

  • コネクタ、システムマネージャー、セントラルロガー、コマンド行インタフェース、およびコンソールは LDAPS を介して Message Queue を認証できます。

  • インストーラと設定 Directory Server

  • インストーラと Active Directory

  • インストーラと同期される Directory Server

3DES キーでの暗号化 (デフォルト)

  • ディレクトリサーバーコネクタとディレクトリサーバープラグイン (すべてのデータ)

  • Windows NT コネクタ、Windows NT パスワードフィルタ DLL 、Windows NT 変更検出機能 (すべてのデータ)

  • 製品の設定ディレクトリにあるすべての機密情報

  • コネクタとサブコンポーネント間でやり取りされるすべてのメッセージ (セッションごとの 3DES キーで暗号化)

  • Message Queue でやり取りされるログ以外のすべてのメッセージ

「SSL および 3DES キーでの保護の概要」には、この節で説明するセキュリティー機能の概要が記載されています。

図 10–1 Identity Synchronization for Windows のセキュリティー概要

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

Message Queue のアクセス制御

Identity Synchronization for Windows は Message Queue のアクセス制御を使用して、各コネクタが受信するメッセージを信頼できるよう、メッセージのサブスクリプションとパブリッシングへの承認されていないアクセスを防止します。

Message Queue ブローカにアクセスするために、Message Queue とコネクタのみが認識する固有のユーザー名とパスワードが提供されます。Message Queue でやり取りされる各メッセージは、トピックごとに 3DES キーで暗号化され、メッセージの内容を保護し、トピックキーを知らない部外者が重要なメッセージを送信できないようにします。これらの対策によって、(a) 攻撃者が偽造したパスワード同期メッセージをコネクタに送信し、(b) 攻撃者がコネクタを偽装して、実際のパスワードの更新を受信しないようにします。


注 –

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


ディレクトリ資格

特権資格は、Active Directory と、同期される Directory Server でパスワードを変更するためにコネクタに必要です。これらの特権資格は、製品の設定ディレクトリに格納される前に暗号化されます。

持続的記憶領域保護の概要

「持続的記憶領域保護の概要」では、Identity Synchronization for Windows がディスクに格納された機密情報を保護する方法をまとめています。

表 10–2 持続的記憶領域保護

持続的記憶領域 

機密情報 

保護 

設定 Directory Server に格納された製品の設定 

ディレクトリにアクセスするための資格と Message Queue ごとのトピック 3DES キーが製品の設定ディレクトリに格納されます。 

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

Directory Server の旧バージョン形式の変更ログ 

ディレクトリサーバープラグインは、Directory Server の旧バージョン形式の変更ログに書き込む前にパスワードの変更を取得して暗号化します。 

ディレクトリサーバープラグインは、ユーザーパスワードの変更をすべて各配備に固有の 3DES キーで暗号化します。 

Message Queue ブローカの持続的記憶領域 

Message Queue ブローカは、全コネクタ間でやり取りされるパスワード同期メッセージを格納します。 

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

Message Queue ブローカのディレクトリ資格 

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

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

システムマネージャーのブートファイル 

システムマネージャーのブートファイルには、設定にアクセスするための情報が含まれています。これには、設定パスワードとコアインストール中に提供されたディレクトリ管理者のユーザー名とパスワードが含まれます。 

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

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

各コネクタとセントラルロガーには Message Queue にアクセスするための資格を持った初期設定ファイルがあります。 

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

ディレクトリサーバープラグインのブート設定 

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 全体を指定してください。

Procedureadmin 以外の新しいユーザーを作成する

  1. 次の場所にユーザーを作成します。


    ou=Administrators, ou=TopologyManagement, o=NetscapeRoot
  2. 新しい資格を構成管理者グループに追加します。

  3. 製品の設定ディレクトリが格納されている Directory Server へのアクセスをこのユーザーのみに許可するか構成管理者グループのすべてのユーザーに許可するよう ACI を設定します。

  4. コアインストール中に DN 全体を指定します。

    Directory Server でのアクセス制御の管理の詳細については、『Sun Java System Directory Server Enterprise Edition 6.3 管理ガイド』の第 7 章「Directory Server のアクセス制御」を参照してください。

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

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

ProcedureMessage Queue のクライアント証明書を検証する

  1. この設定をオーバーライドして Message Queue のクライアントが Message Queue ブローカの証明書を検証するようにするには、次を編集します。

    installation_root /resources/WatchList.properties

  2. Watchlist.properties で各プロセスの JVM 引数に次を追加します。

    -Djavax.net.ssl.trustStore= keystore_path-DimqSSLIsHostTrusted=false

  3. 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、Linux の場合 /var/opt/sun/mq/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 管理ガイド』を参照してください。

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

システムマネージャーは、SSL を介した製品の設定ディレクトリへの接続時にすべての証明書を受け入れます。Message Queue ブローカも SSL を介した製品の設定ディレクトリへの接続時にすべての証明書を受け入れます。現在、システムマネージャーまたは Message Queue ブローカに製品の設定ディレクトリの SSL 証明書を検証させる方法はありません。

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

コアのインストール時に、製品の設定ディレクトリが格納された 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 Enterprise Edition 6.3 管理ガイド』の第 7 章「Directory Server のアクセス制御」を参照してください。

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

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


注 –

レプリケートされた設定の計画、配備、セキュリティー保護の概要については、付録 D 「Identity Synchronization for Windows の同期ユーザーリストの定義と設定」を参照してください。


「レプリケートされた設定のセキュリティー保護」では、CA 証明書を必要とする設定コンポーネントをリストし、どこでどの証明書が必要かを識別します。

表 10–3 CA 証明書を必要とする MMR 設定コンポーネント

コンポーネント 

必要な CA 証明書 

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

Active Directory システム 

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

Active Directory システム 

読み取り専用の Directory Server のハブ 

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

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

ディレクトリサーバーコネクタ 

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

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

Active Directory コネクタ

Active Directory システム 

レプリケートされた設定には、MMR 設定にインストールされた Identity Synchronization for Windows が表示されます。MMR 設定には、複数の Directory Server の読み取り専用ハブまたはコンシューマを備えた 2 つのレプリケートされた Directory Server のマスターがあります。各 Directory Server にはプラグインがあり、ディレクトリサーバーコネクタ、Active Directory システム、Active Directory コネクタはそれぞれ 1 つだけ存在します。

図 10–2 レプリケートされた設定

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

Directory Server ソースが SSL 用に設定されている場合、レプリカ Directory Server が優先 Directory Server および副 Directory Server の両方の証明書を信頼する必要があります。これは、Directory Server ハブまたは読み取り専用レプリカとともにシステムにインストールするタイプ other のすべてのディレクトリサーバープラグインに該当します。


注 –

ディレクトリサーバープラグインはその関連付けられた Directory Server と同じ CA 証明書にアクセスできます。

上図は 2 つの Directory Server マスターの場合です。しかし、複数のマスターが含まれるように拡張できます。


idsync certinfo の使用

idsync certinfo ユーティリティーを使用し、現在の Identity Synchronization for Windows SSL 設定に基づいてどの証明書が必要かを判断できます。各証明書データベースで必要な証明書についての情報を取得するには、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 設定のディレクトリソースホスト名は常に、そのディレクトリソースに使用される証明書に組み込まれたホスト名と一致する必要があります。


引数

「引数」では、idsync certinfo サブコマンドとともに使用できる引数について説明します。

表 10–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
コネクタ: CNN101
証明書データベースの場所: C:\Program Files\Sun\MPS\isw-
hostname\etc\CNN101
Active Directory から「Active Directory CA」証明書を取得し、
次のサーバーの Active Directory コネクタ証明書データベースに
インポートします。
ldaps::/ hostname.example.com:636
コネクタ: CNN100 証明書データベースの場所:
C:\Program Files\Sun\MPS\isw-
hostname\etc\CNN100
Directory Server 証明書データベースから「Directory Server CA」
証明書をエクスポートし、次のディレクトリサーバーコネクタ証明書
データベースにインポートします。
ldaps://hostname.example.com:636
次の Active Directory サーバーから「Active Directory CA」証明書を
エクスポートします。
hostname.example.sun.com:389 
そして、次のサーバーの Directory Server サーバー証明書データ
ベースにインポートします。
ldaps://hostname.example.com:638
成功

Directory Server での SSL の有効化

次の手順に従って、自己署名付き証明書を使用して Directory Server で SSL を有効にします。


注 –

わかりやすいように手順を省略しています。詳細については、『Sun Java System Directory Server Enterprise Edition 6.3 管理ガイド』を参照してください。


ProcedureDirectory Server で SSL を有効にする

Directory Server で SSL を有効にするには、次の手順を参照してください。

  1. DS インスタンスを作成します。

    /opt/SUNWdsee/ds6/bin/dsadm create -p non-ldap-port-P ldap-secure-port <DS-server-root>/slapd-< hostname>

  2. インスタンスを起動します。

    /opt/SUNWdsee/ds6/bin/dsadm start <DS-server-root>/slapd-<hostname >

  3. 自己署名付き証明書を作成します。

    /opt/SUNWdsee/ds6/bin/dsadm add-selfsign-cert -S "cn=<machine name with domain>,O=< preferred root suffix>"/<DS-server-root>/slapd-< hostname>/<certificate name>

    ここで、S は個別の証明書を作成してそれをデータベースに追加し、2 番目の変数は Directory Server インスタンスのパスを示し、最後の変数は証明書エイリアス用です。

  4. この証明書にサーバーのプロパティーを設定します。

    /opt/SUNWdsee/ds6/bin/dsconf set-server-prop -p non-ldap-port ssl-rsa-cert-name:< certificate name>

  5. DS を再起動します。

    /opt/SUNWdsee/ds6/bin/dsadm restart /<DS-server-root>/slapd-<hostname >/

  6. ここで、DS を停止してデフォルト証明書を削除します (これによって上記で生成された証明書がデフォルト証明書になる)。

    /opt/SUNWdsee/ds6/bin/dsadm stop /<DS-server-root>/slapd-< hostname>/

  7. ここでデフォルト証明書を削除します。

    /opt/SUNWdsee/ds6/bin/dsadm remove-cert /<DS-server-root>/slapd-< hostname>/ defaultCert

    ここで、最初の変数は slapd パスを示し、2 番目の変数は証明書のエイリアスを示します。上記のデフォルト証明書をエクスポートする場合は、次のコマンドを実行します。

    /opt/SUNWdsee/ds6/bin/dsadm export-cert -o /<any path>/slapd-cert.export /<DS-server-root>/slapd-< hostname>/ <original default cert alias>

    ここで、o は出力ファイル (/<any path>/slapd-cert.export )、2 番目の変数は slapd パスを示し、3 番目の変数は証明書エイリアスを示します。

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

必ず Directory Server で SSL を有効にしてください。ディレクトリサーバーコネクタの証明書データベースにインポートできるように Directory Server証明書を一時ファイルにエクスポートするには、次のコマンドを発行します。

<ISW-server-root>\shared\bin\certutil.exe -L -d . 
-P slapd-hostname- -n server-cert -a \ > C:\s-cert.txt

ISW-server-root は、ISW-hostname ディレクトリのあるパスです。

これらの例は、サーバーのルートのすぐ下のエイリアス ディレクトリで実行します。それ以外の場合、Directory Server は証明書データベースを見つけられません。

(Solaris プラットフォームで dsadm コマンドを使用した) Directory Server からの CA 証明書の取得

必ず Directory Server で SSL を有効にしてください。CA 証明書を取得するには、次のコマンドを発行します。

/opt/SUNWdsee/ds6/bin/dsadm export-cert -o /<any path>
/slapd-cert.export /<DS-server-root>/slapd-<hostname>/
<original default cert alias>

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

Identity Synchronization for Windows は自動的にActive Directory SSL 証明書を SSL 経由で取得し、それらをコネクタの証明書データベースにコネクタに指定した資格と同じものでインポートします。

しかし、エラーが発生 (たとえば、無効な資格が見つかった、または SSL 証明書が見つからなかったなど) した場合は、Active Directory CA 証明書を取得して、それをコネクタの証明書データベースに追加できます。手順については次を参照してください。

Active Directory 証明書の取得

エラーが発生した場合、次に説明するように certutil (Windows 2000/2003 に付属のプログラム) または LDAP を使用して Active Directory 証明書を取得できます。


注 –

この節で説明する certutil コマンドは、前述の Directory Server に付属の certutil コマンドとは異なります


Windows の certutil の使用

Procedurecertutil プログラムを使用して Active Directory 証明書を取得する

  1. Active Directory マシンから次のコマンドを実行して証明書をエクスポートします。


    C:\>certutil -ca.cert cacert.bin
  2. その後 cacert.bin ファイルを証明書データベースにインポートできます。

LDAP の使用

ProcedureLDAP を使用して Active Directory 証明書を取得する

  1. Active Directory に対して次の検索を行います。


    ldapsearch -h CR-hostname -D administrator_DN -w administrator_password 
    -b "cn=configuration,dc=put,dc=your,dc=domain,dc=here" "cacertificate=*"

    ここで、administrator_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 を使用したエントリがおそらく必要です。

  2. テキストエディタを開いて、最初の CA 証明書属性の最初の値を切り取ります (Base64 で符号化されたテキストブロックになります)。値 (テキストブロック) をテキストエディタに貼り付けます (値のみ)。どの行も空白から始まらないようにコンテンツを編集します。

  3. 最初の行の前に -----BEGIN CERTIFICATE-----、最後の行のあとに -----END CERTIFICATE----- を追加します。次の例を参照してください。


    -----BEGIN CERTIFICATE-----
    MIIDvjCCA2igAwIBAgIQDgoyk+Tu14NGoQnxhmNHLjANBgk
    qhkiG9w0BAQUFADCBjjEeMBwGCSqGSIb3DQEJARYPYmVydG
    9sZEBzdW4uY29tMQswCQYDVQQGEwJVUzELMAkGA1UECBMCV
    FgxDzANBgNVBAcTBkF1c3RpbjEZMBcGA1UEChMQU3VuIE1p
    Y3Jvc3lzdGVtczEQMA4GA1UECxMHaVBsYW5ldDEUMBIGA1U
    EAxMLUmVzdGF1cmFudHMwHhcNMDIwMTExMDA1NDA5WhcNMT
    IwMTExMDA1OTQ2WjCBjjEeMBwGCSqGSIb3DQEJARYPYmVyd
    G9sZEBzdW4uY29tMQswCQYDVQQGEwJVUELMAkGA1UECBMCV
    FgxDzANBgNVBAcTBkF1c3RpbjEZMBcGA1UEChMQU3VuIE1p
    Y3Jvc3lzdGVtczEQMA4GA1UECxMHaVBsYW5ldDEUMBIGA1U
    EAxMLUmVzdGF1cmFudHMwXDANBgkqhkiG9w0BAQEFAANLAD
    BIAkEAyekZa8gwwhw3rLK3eV/12St1DVUsg31LOu3CnB8cM
    HQZXlgiUgtQ0hm2kpZ4nEhwCAHhFLD3iIhIP4BGWQFjcwID
    AQABo4IBnjCCAZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwY
    DVR0PBAQDAgFGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBB
    YEFJ5Bgt6Oypq7T8Oykw4LH6ws2d/IMIIBMgYDVR0fBIIBK
    TCCASUwgdOggdCggc2GgcpsZGFwOi8vL0NOPVJlc3RhdXJh
    bnRzLENOPWRvd2l0Y2hlcixDTj1DRFAsQ049UHVibGljJTI
    wS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZm
    lndXJhdGlvbixEQz1yZXN0YXVyYW50cyxEQz1jZW50cmFsL
    RPXN1bixEQz1jb20/Y2VydGlmaWNhdGVSZXZvY2F0aW9u
    TGlzdD9iYXNlP29iamVjdGNsYXNzPWNSTERpc3RyaWJ1dGl
    vblBvaW50ME2gS6BJhkdodHRwOi8vZG93aXRjaGVyLnJlc3
    RhdXJhbnRzLmNlbnRyYWwuc3VuLmNvbS9DZXJ0RW5yb2xsL
    1Jlc3RhdXJhbnRzLmNybDAQBgkrBgEEAYI3FQEEAwIBADAN
    BgkqhkiG9w0BAQUFAANBAL5R9R+ONDdVHWu/5Sd9Tn9dpxN
    8oegjS88ztv1HD6XSTDzGTuaaVebSZV3I+ghSInsgQbH0gW
    4fGRwaI BvePI4=
    -----END CERTIFICATE-----
  4. 証明書をファイル (ad-cert.txt など) に保存します。

  5. その後、このファイル (ad-cert.txt など) を証明書データベースにインポートできます。次の節 「Active Directory 証明書のコネクタの証明書データベースへの追加」に進みます。

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

この手順は、Active Directory コネクタのインストール後にコネクタに対して SSL を有効にしている場合、またはインストール中に無効な資格が指定された場合にのみ使用します。

ProcedureActive Directory 証明書をコネクタの証明書データベースに追加する

  1. Active Directory コネクタがインストールされたマシンで Identity Synchronization for Windows サービス/デーモンを停止します。

  2. 次のいずれかの方法で Active Directory CA 証明書を取得します。

  3. Active Directory コネクタのコネクタ ID が CNN101 (コネクタ ID からその ID が管理するディレクトリソースへのマッピングについては logs/central/ error.log を参照) であると仮定して、それがインストールされたマシンの証明書データベースディレクトリに移動して、証明書をファイルをインポートします。

    • certutil を使用して証明書を取得した場合は、次のように入力します。

      <ISW-server-root>\shared\bin\certutil.exe -A -d . -n ad-ca-cert -t C,, -i \cacert.bin
    • LDAP を使用して証明書を取得した場合は、次のように入力します。

      <ISW-server-root>\shared\bin\certutil.exe -A -d . -n ad-ca-cert -t C,,
       -a -i \ad-cert.txt

      ISW-server-root は、ISW-hostname ディレクトリのあるパスです。

    Solaris では、次の方法で dsadm コマンドを使用して証明書をインポートできます。

    /opt/SUNWdsee/ds6/bin/dsadm add-cert -C <DS-server-root>/slapd-<hostname>/ ad-ca-cert cacert.bin

    ここで、ad-ca-cert はインポート後に割り当てられた証明書の名前で、cacert.bin はインポートしようとしている証明書です。

  4. Identity Synchronization for Windows サービス/デーモンを再起動します。


    注 –

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

    少なくとも、Active Directory コネクタがインストールされたサーバーに、Directory Server パッケージから Sun Java System サーバーの基本ライブラリと Sun Java System サーバーの基本システムライブラリをインストールする必要があります。管理サーバーや Directory Server のコンポーネントをインストールする必要はありません。

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


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


注 –

必ず Directory Server で SSL を有効にしてください。


ProcedureActive Directory CA 証明書を Directory Server 証明書データベースに追加する

  1. 次のいずれかの方法で Active Directory CA 証明書を取得します。

  2. Directory Server を停止します。

  3. cacert.bin を Windows の場合は <DS-server-root>\slapd-hostname\alias フォルダにインポートします。Solaris と Linux の場合は、<DS-server-root>/slapd-hostname/alias ディレクトリにインポートします。

  4. Directory Server がインストールされたマシンで、次の手順に従って Active Directory CA 証明書をインポートします。

    • certutil を使用して証明書を取得した場合は、次のように入力します。


      <ISW_server_root>\shared\bin\certutil.exe -A -d . 
      -P slapd-hostname- -n ad-ca-cert -t C,, -i \cacert.bin
    • 証明書が LDAP を使用して取得された場合は、次のように入力します。


      <ISW_server_root>\shared\bin\certutil.exe -A -d . 
      -P slapd-hostname- -n ad-ca-cert -t C,, -a -i \ad-cert.txt

      ISW-server-root は、ISW-hostname ディレクトリのあるパスです。

    • 証明書が Solaris 上で dsadm コマンドを使用して取得された場合は、次のように入力します。


      /opt/SUNWdsee/ds6/bin/dsadm add-cert -C <DS-server-root>
      /slapd-<hostname>/ ad-ca-cert cacert.bin

      ここで、ad-ca-cert はインポート後に割り当てられた証明書の名前で、cacert.bin はインポートしようとしている証明書です。

  5. Directory Server を起動します。

ディレクトリサーバーコネクタへの Directory Server 証明書の追加

ディレクトリサーバープラグインと Active Directory 間で SSL 通信を有効にしている場合は、Active Directory CA 証明書を各 Directory Server マスターの証明書データベースに追加します。

ProcedureDirectory Server 証明書をディレクトリサーバーコネクタに追加する

  1. ディレクトリサーバーコネクタがインストールされたマシンで Identity Synchronization for Windows サービス/デーモンを停止します。

  2. Directory Server CA 証明書を取得します。

  3. Directory Server のコネクタ ID が CNN100 (コネクタ ID からその ID が管理するディレクトリソースへのマッピングについては logs/example/error.log を参照) であると仮定して、それがインストールされたマシンの証明書データベースディレクトリに移動して cacert.bin ファイルをインポートします。

    <ISW_server_root>\shared\bin\certutil.exe -A -d . -n ds-cert -t C,, -i C:\s-cert

    ISW-server-root は、ISW-hostname ディレクトリのあるパスです。

  4. Identity Synchronization for Windows サービス/デーモンを再起動します。