署名付き証明書とダイジェストを使用した配布のセキュリティ

Tiered Electronic Distributionには、セキュリティを処理するための機能が2つあります。

以下の節では、証明書とダイジェストの概要、作成および使用方法について詳しく説明します。


ダイジェストについて

ダイジェストに関して重要な点は次のとおりです。


Policy and Distribution Servicesでの証明書の使用について

証明書はPolicy and Distribution Servicesによって使用されるセキュリティメカニズムであり、Subscriberが受信したDistributionが、そのDistributionを所有するDistributorが実際に送信したものであることを保証します。Subscriberには環境設定情報も送信できるので、環境設定情報が既知のDistributorから送信されたものであり、データが変更されていないことを保証します。

すべてのSubscriberは、Distributionの送信元である各Distributorから有効なセキュリティ証明書を受信する必要があります。一致する証明書がない場合、SubscriberはDistributorからDistributionを受信できません。

次の図は、Distributionで証明書を使用する処理を示しています。


通常のDistributionの送信 - 証明書の解決。左側のDistributorサーバが証明書ファイルを作成します。証明書が解決されます。右側のSubscriberサーバがDistributorの証明書を受信し、この証明書はSubscriberの証明書になります。

Distributionが送信される前に、証明書を解決する必要があります。これによって、Subscriberが受信したDistributionが、Distributionを所有するDistributorによって実際に送信されたものであることが確認されます。

証明書の解決については、証明書の解決を参照してください。

証明書が解決された後、次の図のように、Subscriberは証明書を使用して有効なDistributionを受信していることを確認します。


通常のDistributionの送信 - Distributionの送信。左側のDistributorサーバがDistributionを構築します。Distributionが送信されます。右側のSubscriberサーバが、Distributorの証明書の署名とその証明書のコピーを検証します。署名が一致する場合、Distributionは受信され、抽出されます。


証明書に関する重要な点


ConsoleOneユーザの権利と証明書のコピー

ConsoleOne(R)を使用する管理者は、管理者がConsoleOneで証明書を解決するときに、サーバに証明書をコピーできるように、Subscriberサーバに対して十分な権利を持っている必要があります。これは、ConsoleOneを使用して、特定のChannelからDistributionを受信するようにSubscriberオブジェクトを設定する場合、そのChannel内のDistributionを所有しているDistributorは、Subscriberのサーバに証明書を送信する必要があるからです。

NetWare(R) Subscriberの場合は、Subscriberオブジェクトを設定できるので、ConsoleOneユーザは自動的に十分な権利を持っています。

Windows Subscriberの場合、[Active Directory Users and Computers]を選択するか、[Local Users and Groups]を選択して、WindowsでConsoleOneユーザの管理者権限を設定する必要があります。


証明書ファイルの場所

証明書は、NetWareおよびWindows Subscriberサーバでは\zenworks\pds\ted\securityディレクトリに保存され、LinuxおよびSolarisサーバでは/var/opt/novell/zenworks/zfs/pds/ted/securityディレクトリに保存されます。

警告:  ...\securityディレクトリが非パブリックディレクトリであることを確認します。このディレクトリは、管理者以外のユーザが読み込めないようにします。.keystoreファイルは...\security\privateディレクトリにあり、デフォルトでは管理者以外のユーザに対して非表示になっています。

証明書には、通常、Distributorサーバの完全修飾DNS名に基づいた名前が付けられます。たとえば、Distributor_Server001.Distributions.ZENworks.Novell.com.cerやDistributor_Server001.Distributions.ZENworks.Novell.com.csrなどです。DNS名が解決できない場合は、サーバのTCP/IPアドレスが.csrファイルに使用されます。証明書には、155.55.155.55.csrのように、IPアドレスを使用した名前が付けられます。


証明書の解決

重要:  ConsoleOneは証明書ファイルをSubscriberサーバにコピーします。したがって、ConsoleOneを実行するワークステーション上のクライアントソフトウェアは、Subscriberサーバのファイルシステムにアクセスできる必要があります。WindowsのSubscriberサーバの場合は、ワークステーションでDomain and Workgroupの権利を設定し、証明書のコピーを自動化する必要があります。この設定を行わない場合、1204aエラーが発生します。

ConsoleOneで証明書を解決するためのオプションが自動的に表示された場合は、次の点を考慮して[Yes]または[No]のいずれをクリックするかを判断してください。

通常、次のような追加を行うと、証明書をコピーするよう求めるメッセージが表示されます。

証明書の解決を開始するには

  1. ConsoleOneでDistributorオブジェクトを右クリックし、[Resolve Certificates]をクリックします。

  2. [Copy Certificates Automatically to Subscribers]オプションが選択されていることを確認した後、[OK]をクリックします。

    これによって、新しい証明書が各Subscriberにコピーされ、DistributionをこのDistributorから受信できるようになります。ただし、ConsoleOneを実行しているワークステーションが、すべてのSubscriberサーバにアクセスできる必要があります。証明書をコピーする場所を指定するよう求めるメッセージが表示された場合は、コピー先のサーバにドライブがマッピングされている必要があります。


無効な証明書の処理

Distributorの証明書が無効になっている場合、SubscriberはDistributorからDistributionを受信できません。Subscriberの暗号化証明書が無効になっている場合、Subscriberは暗号化されたDistributionを受信できません。暗号化証明書については、暗号化を使用したDistributionのセキュリティを参照してください。

DistributorのDNS名またはIPアドレスが変更された場合、Distributorの証明書が無効になる可能性があります。ただし、DistributorがDNSを使用するように設定されている場合(推奨されるアドレス指定方法)、DistributorでIPアドレスを変更しても証明書は無効になりません。また、DNSアドレス指定が使用されている場合、SubscriberのDNS名やIPアドレスを変更しても、SubscriberはDistributionを受信できます。

ただし、SubscriberのDNS名やIPアドレスが変更されると、Subscriberの暗号化証明書が無効になる場合があります。この場合、新しい暗号化証明書を作成する必要があります。

DNSによるアドレス指定方法が使用されている場合はDNS名の変更に、IPアドレスによるアドレス指定方法が使用されている場合はIPアドレスの変更に、以下の項目が適用されます。


DistributorのDNS名またはIPアドレスの変更

DistributorはそのサーバのDNS名またはIPアドレスによってSubscriberに識別されるので、Distributorサーバ上で使用されている識別子を変更すると、SubscriberはDistributorをDistributionの有効なソースとして認識しなくなります。

DistributorのDNS名またはIPアドレスを変更すると、そのDistributorによって作成された証明書は、このDistributorから証明書を受信したすべてのSubscriberで無効になります。したがって、Distributorは、このDistributorからDistributionを受信しているすべてのSubscriberに新しい証明書を送信する必要があります。

Distributorの証明書を再作成して解決するには、次の操作を順に行います。

  1. Distributorサーバの識別属性の変更
  2. 新しい証明書の作成と送信

Distributorサーバの識別属性の変更

最初に、DistributorおよびSubscriberオブジェクトのプロパティの[Other]タブで、[Network Address]属性を変更する必要があります。

サーバが識別情報として[DNS Name]属性を使用している場合は、次の操作を行います。

  1. ConsoleOneでDistributorオブジェクトを右クリックし、[Properties]をクリックして[Other]タブを選択します。

  2. [NetWork Address]の左側にある+記号をクリックします。

  3. 変更するフィールドの左側にあるアイコンを選択します。

    右側に[Browse]ボタンが表示されます。

  4. [Browse]ボタンをクリックします。

  5. [DNS Name]フィールドを変更している場合は、Type 13と表示されているボックスの上部にあるドロップダウンリストをクリックします。

  6. 値を[Type 13]から[IP]に変更した後、[IP]を[Type 13]に戻します。

    これによって値がリセットされ、新しいDNS名が認識されます。

  7. ボックスの下部の[NetAddress]フィールドの右側にある[Browse]ボタンをクリックします。

  8. ボックスの右側にある[Servers DNS Name]を選択し、新しい名前に変更します。

  9. [OK]をクリックして[Other]タブに戻ります。

  10. [OK]をクリックして終了します。

サーバが識別情報として[IP Address]属性を使用している場合は、次の操作を行います。

  1. ConsoleOneでDistributorオブジェクトを右クリックし、[Properties]をクリックして[Other]タブを選択します。

  2. [NetWork Address]の左側にある+記号をクリックします。

  3. 変更するフィールドの左側にあるアイコンを選択します。

    右側に[Browse]ボタンが表示されます。

  4. [Browse]ボタンをクリックします。

    ダイアログボックスの下部にIPアドレスが表示されます。

  5. IPアドレスを新しいアドレスに変更します。

  6. [OK]をクリックして[Other]タブに戻ります。

  7. [OK]をクリックして終了します。

新しい証明書の作成と送信に進みます。


新しい証明書の作成と送信
  1. Distributorサーバで、Distributor Agentをシャットダウンします。

    [NetWare]: ZENworks Server Managementコンソールのプロンプトで、「exit」と入力します。

    [Windows]: [Services]ダイアログボックスで、Novell ZENworks Service Managerサービスを停止します。

    エージェントの起動と停止については、『Novell ZENworks 6.5 Server Managementインストールガイド』の「Server Management Servicesの起動と停止」を参照してください。

  2. Distributorサーバの\zenworks\pds\ted\security\privateディレクトリで、.keystoreファイルを削除します。

    このファイルにはDistributorの証明書が含まれています。

  3. Distributorサーバの\zenworks\pds\ted\security\csrディレクトリで、以前のDNS名または以前のIPアドレスと一致する名前を持つ.csrファイルを削除します。

  4. Distributor Agentを再開します。

    Distributorの新しい証明書および.keystoreファイルが自動的に作成されます。

  5. ステップ 1で選択したDistributorから、Distributionを受信するすべてのSubscriberに新しい証明書を送信するには

    1. 証明書を解決するには、ConsoleOneでDistributorオブジェクトを右クリックし、[Resolve Certificates]をクリックします。

      重要:  ConsoleOneは証明書ファイルをSubscriberサーバにコピーします。したがって、ConsoleOneを実行するワークステーション上のクライアントソフトウェアは、Subscriberサーバのファイルシステムにアクセスできる必要があります。WindowsのSubscriberサーバの場合は、ワークステーションでDomain and Workgroupの権利を設定し、証明書のコピーを自動化する必要があります。この設定を行わない場合、1204aエラーが発生します。

    2. [Copy Certificates Automatically to Subscribers]オプションが選択されていることを確認した後、[OK]をクリックします。

    これによって、新しい証明書が各Subscriberにコピーされ、DistributionをこのDistributorから受信できるようになります。ただし、ConsoleOneを実行しているワークステーションが、すべてのSubscriberサーバにアクセスできる必要があります。証明書をコピーする場所を指定するよう求めるメッセージが表示された場合は、コピー先のサーバにドライブがマッピングされている必要があります。


SubscriberのDNS名またはIPアドレスの変更

DistributorはSubscriberのアドレスを、eDirectory内のSubscriberのオブジェクトから取得するので、Subscriberオブジェクト内でこの情報を更新し、SubscriberがDistributionを受信できるようにする必要があります。

SubscriberのDNS名またはIPアドレスを変更すると、Subscriber上で格納されているすべての暗号化証明書が無効になります。Subscriberは、暗号化されたDistributionを送信するDistributorごとに1つの暗号化証明書を持つことができます。

Subscriberは、DNS名またはIPアドレスが変更された場合でも、暗号化されていないDistributionを受信することはできます。

次の節では、DNS名とIPアドレスの変更を解決するための手順を説明します。


Subscriberサーバの識別属性の変更

最初に、DistributorおよびSubscriberオブジェクトのプロパティの[Other]ページで、[Network Address]属性を変更する必要があります。この作業のために、必要に応じて次の操作を行います。

サーバが識別情報として[DNS Name]属性を使用している場合は、次の操作を行います。

  1. ConsoleOneで、Subscriberオブジェクトを右クリックし、[Properties]をクリックして[Other]タブを選択します。

  2. [NetWork Address]の左側にある+記号をクリックします。

  3. 変更するフィールドの左側にあるアイコンを選択します。

    右側に[Browse]ボタンが表示されます。

  4. [Browse]ボタンをクリックします。

  5. [DNS Name]フィールドを変更している場合は、Type 13と表示されているボックスの上部にあるドロップダウンリストをクリックします。

  6. 値を[Type 13]から[IP]に変更した後、[IP]を[Type 13]に戻します。

    これによって値がリセットされ、新しいDNS名が認識されます。

  7. ボックスの下部の[NetAddress]フィールドの右側にある[Browse]ボタンをクリックします。

  8. ボックスの右側にある[Servers DNS Name]をクリックし、新しい名前に変更します。

  9. [OK]をクリックして[Other]タブに戻ります。

  10. [OK]をクリックして終了します。

サーバが識別情報として[IP Address]属性を使用している場合は、次の操作を行います。

  1. ConsoleOneで、Subscriberオブジェクトを右クリックし、[Properties]をクリックして[Other]タブを選択します。

  2. [NetWork Address]の左側にある+記号をクリックします。

  3. 変更するフィールドの左側にあるアイコンを選択します。

    右側に[Browse]ボタンが表示されます。

  4. [Browse]ボタンをクリックします。

    ダイアログボックスの下部にIPアドレスが表示されます。

  5. IPアドレスを新しいアドレスに変更します。

  6. [OK]をクリックして[Other]タブに戻ります。

  7. [OK]をクリックして終了します。


新しい証明書の解決

Subscriberの有効な暗号化証明書を作成し直すには、暗号化を使用したDistributionのセキュリティの手順に従ってください。


証明書とプライベートキーのディレクトリ

Policy and Distribution Servicesの証明書とプライベートキーは、次の場所にある.keystoreファイルに保存されます。


暗号化されていないDistribution用のセキュリティ証明書の作成

Distributorで証明書を作成し、関連付けられたSubscriberにコピーするには

  1. Distributorがインストールされているサーバ上で、Distributor Agentが実行されていることを確認します。NetWareサーバでは、zfs.ncfを使用します。Windowsサーバでは、Novell ZENworks Service Managerサービスを再起動します。LinuxまたはSolarisサーバでは、/etc/init.d/novell-zfs startを実行します。

    このJavaプロセスは、証明書を作成し、eDirectoryに書き込みます。

  2. 次のいずれかの方法で、証明書を各Subscriberにコピーします。

    • ChannelおよびDistributionが設定されている場合は、ConsoleOneでDistributorオブジェクトを右クリックし、[Resolve Certificates]をクリックして[OK]をクリックします。[Copy Certificates Automatically to Subscribers]オプションが選択されていることを確認した後、[OK]をクリックします。これによって新しい証明書が各Subscriberにコピーされ、SubscriberはこのDistributorからDistributionを受信できるようになります。

      証明書の解決については、証明書の解決を参照してください。

    • 必要に応じて、SubscriberをChannelに関連付けて、Distributor用のDistributionを作成した後、このDistributionをChannelに関連付けます。[OK]をクリックすると、証明書を解決するかどうかを確認するメッセージが表示されます。[Yes]をクリックすると、すべてのSubscriberの証明書が解決されます。証明書は関連付けられたすべてのSubscriberにコピーされます。SubscriberのJavaプロセスはSubscriberサーバ上で実行されている必要はありません。このサーバが稼動していることだけが必要です。
    • Distributorの証明書を各Subscriberサーバのinstallation_path\zenworks\pds\ted\securityディレクトリ(LinuxまたはSolarisでは、/var/opt/novell/zenworks/zfs/pds/ted/security)に手動でコピーします。この方法は、LinuxまたはSolarisサーバにドライブがマッピングされていない場合に、証明書を解決するために使用しているワークステーションに対して必要です。
    • Subscriberオブジェクトを右クリックし、[Resolve Certificates]をクリックします。各Subscriberオブジェクトについてこの手順を繰り返します。このオプションを利用できるのは、セキュリティ証明書をコピーするかどうかを確認するメッセージが表示されたときに[No]を選択した場合だけです。

    複数のSubscriberが1つのDistributorからDistributionを受信する場合は、最初の2つの選択肢が最も容易です。

  3. 各Distributorはそれぞれセキュリティ証明書を作成するので、ツリー内の各Distributorオブジェクトについて、ステップ 1ステップ 2を繰り返します。


暗号化されていないDistribution用の証明書の手動によるコピー

ConsoleOneを使用して証明書をSubscriberに手動でコピーするには

  1. Distributor、Subscriber、またはExternal Subscriberオブジェクトを右クリックし、[Resolve Certificates]をクリックします。

    または

    [File]をクリックし、[Resolve Certificates]をクリックします。

  2. [Save Certificates to Disk]オプションを選択します。

  3. 証明書ファイルのコピー先のパスを指定し、[OK]をクリックします。

    このパスにコピーされる証明書ファイルには、次の構文を使用して名前が付けられます。

    DNS_Name.cer
  4. DNS_name.cerファイルを、指定したパスからSubscriberサーバの\zenworks\pds\ted\securityディレクトリ(LinuxまたはSolarisでは、/var/opt/novell/zenworks/zfs/pds/ted/security)にコピーします。