Distribution Security Using Signed Certificates and Digests

Policy and Distribution Services uses signed certificates to validate whether Distributions are from a trusted source, or have been tampered with. This security is automatically used by Policy and Distribution Services for all Distributions. However, there are actions you might need to take to get Policy and Distribution Services to create and process the certificates.

Policy and Distribution Services also provides optional Distribution security with digests. A digest is used by the Subscriber to determine whether a Distribution has been tampered with after it left the Distributor.

There are two features of TED that deal with security:

The following sections provide more information on understanding, creating, and using certificates and digests:


Understanding Digests

Important points about digests:


Understanding Certificate Usage in Policy and Distribution Services

A certificate is a security mechanism used by Policy and Distribution Services to ensure that the Distribution received by a Subscriber was actually sent by the Distributor owning that Distribution. Because configuration information can also be sent to the Subscriber, it ensures that the configuration information has been sent from a known Distributor and that the data has not changed.

All Subscribers must receive a valid security certificate from each Distributor that sends Distributions to them. Without a matching certificate, a Subscriber cannot receive Distributions from the Distributor.

The following illustrates the process of using certificates with Distributions:


Sending Regular Distributions - Resolving Certificates. The Distributor server on the left side creates the certificate file. Certificates are resolved. The Subscriber server on the right side receives the Distributor's certificate, which then becomes the Subscriber's certificate.

Before a Distribution should be sent, certificates must be resolved. This ensures that the Distribution received by a Subscriber was actually sent by the Distributor owning that Distribution.

For information on resolving certificates, see Resolving Certificates.

After certificates have been resolved, the following illustrates how the Subscriber uses the certificate to ensure it is receiving a valid Distribution:


Sending Regular Distributions - Sending the Distribution. The Distributor server on the left side builds the Distribution. The Distribution is sent. The Subscriber server on the right side verifies the signaguture with the Distributor's certificate and its copy of that certificate. If the signature matches, the Distribution is received and extracted.


Important Points about Certificates


ConsoleOne User Rights and Certificate Copying

The administrator using ConsoleOne® must have sufficient rights to the Subscriber server in order for a certificate to be copied to that server when the administrator resolves certificates in ConsoleOne. This is because when you use ConsoleOne to configure a Subscriber object to receive the Distributions from a particular Channel, the Distributors owning the Distributions in that Channel must send certificates to the Subscriber's server.

For NetWare® Subscribers, the ConsoleOne user automatically has sufficient rights by virtue of being able to configure the Subscriber object.

For Windows Subscribers, administrator rights for the ConsoleOne user must be set up in Windows:


Certificate File Locations

Certificates are stored in the ZENWORKS\PDS\TED\SECURITY directory on each Subscriber's server.

WARNING:  Make sure the ZENWORKS\PDS\TED\SECURITY directory is a non-public directory. This directory should not be read by anyone other than an administrator. The .KEYSTORE file is in the ZENWORKS\PDS\TED\SECURITY\PRIVATE directory and is by default hidden from non-administrative users.

Certificates are usually named after the fully qualified DNS name of the Distributor server, such as Distributor_Server001.novell.com.cer or Distributor_Server001.novell.com.csr. The TCP/IP address of the server would be used for .CSR files if a DNS name could not be resolved. The certificate would then be named using its IP address, such as 155.55.155.55.csr.


Resolving Certificates

IMPORTANT:  ConsoleOne copies the certificate files to Subscriber servers. Therefore, the client software on the workstation running ConsoleOne must have access to the Subscriber servers' file systems. For Windows Subscriber servers, the Domain and Workgroup rights on the workstation must be set up to facilitate automatic certificate copying. Otherwise, a 1204a error will be given.

When you are automatically presented with the option in ConsoleOne to resolve certificates, determine the following to know whether to click Yes or No:

A prompt to copy a certificate is usually displayed when you have added:

To manually initiate resolving certificates:

  1. In ConsoleOne, right-click the Distributor object > click Resolve Certificates.

  2. Make sure the Copy Certificates Automatically to Subscribers radio button is checked > click OK.

    This will copy the new certificate to each Subscriber so that it can receive Distributions from this Distributor, as long as the workstation where you are running ConsoleOne can contact all of the Subscriber servers. If you are prompted for a location to copy the certificates, you must have a drive mapped to the destination server.


Handling Invalid Certificates

A Subscriber cannot receive Distributions from a Distributor when the Distributor's certificate has become invalid. A Subscriber cannot receive encrypted Distributions when the Subscriber's encryption certificate has become invalid. For information on encryption certificates, see Distribution Security Using Encryption.

A Distributor's certificate can become invalid when the DNS name or IP address of the Distributor has been changed. However, if your Distributor is configured to use DNS (the recommended addressing method), IP address changes on the Distributor will not invalidate its certificate. Also, if DNS addressing is being used, changes in a Subscriber's DNS name or IP address will not prevent the Subscriber from receiving Distributions.

However, a Subscriber's encryption certificate can become invalid when the DNS name or IP address of the Subscriber is changed, in which case a new encryption certificate needs to be created.

The following applies for DNS name changes where DNS is your installed addressing method, or for IP address changes where IP address is your installed addressing method:


Distributor DNS Name or IP Address Is Changed

Because the Distributor identifies itself to Subscribers by it's server's DNS name or IP address, if you change the identifier being used on the Distributor server, Subscribers will not recognize the Distributor as a valid source for Distributions.

Changing the DNS name or IP address of a Distributor causes the certificate created by the Distributor to be invalid for all Subscribers that have received the certificate from this Distributor. Therefore, the Distributor must send new certificates to all Subscribers receiving Distributions from that Distributor.

To re-create and resolve the Distributor's certificate, do the following in order:


Modify the Distributor Server's Identification Attributes

You must first modify the Network Address attribute on the Other tab in the Distributor and Subscriber objects' properties.

If the server is using the DNS Name attribute to identify itself, do the following:

  1. In ConsoleOne, right-click the Distributor object > click Properties > click the Other tab.

  2. Click the + symbol to the left of the NetWork Address.

  3. Click the icon to the left of the field you want to modify.

    A Browse button will be displayed to the right.

  4. Click the Browse button.

  5. If you are modifying the DNS Name field, click the drop-down list at the top of the box where Type 13 is displayed.

  6. Change the value from Type 13 to IP > then change IP back to Type 13.

    This resets the value to now recognize the new DNS name.

  7. Click the Browse button to the right of the NetAddress field in the lower portion of the box.

  8. Click Servers DNS Name (on the right side of the box) > change it to the new name.

  9. Click OK to return to the Other tab.

  10. Click OK to finish.

If the server is using the IP Address attribute to identify itself, do the following:

  1. In ConsoleOne, right-click the Distributor object > click Properties > click the Other tab.

  2. Click the + symbol to the left of the NetWork Address.

  3. Click the icon to the left of the field you want to modify.

    A Browse button will be displayed to the right.

  4. Click the Browse button.

    The IP address will be displayed in the lower portion of the dialog box.

  5. Change the IP address to the new one.

  6. Click OK to return to the Other tab.

  7. Click OK to finish.

Continue with Create and Send New Certificates.


Create and Send New Certificates
  1. On the Distributor server, shut down the Distributor Agent:

    NetWare: At the ZfS console prompt, enter EXITALL.

    Windows: In the Services dialog, select to stop each of the ZfS services.

    For information on stopping and starting agents, see "Starting the Policy and Distribution Services Agents" in "Installing on NetWare and Windows Servers" in "Installing Policy and Distribution Services on NetWare and Windows Servers" in the Installation guide; or, see "Starting the Policy and Distribution Agents on Linux or Solaris" and "Stopping the Policy and Distribution Services Agents on Linux or Solaris" in "Installing Policy and Distribution Services on Linux or Solaris Servers" in the Installation guide.

  2. In the ZENWORKS\PDS\TED\SECURITY\PRIVATE directory on the Distributor server, delete the .KEYSTORE file.

    This file contains the Distributor's certificate.

  3. In the ZENWORKS\PDS\TED\SECURITY\CSR directory on the Distributor server, delete the .CSR file that has a name that matches either the old DNS name or the old IP address.

  4. Restart the Distributor Agent.

    A new certificate and .KEYSTORE file will be automatically created for the Distributor.

  5. To send new certificates to all Subscriber that receive Distributions from the Distributor selected in Step 1:

    1. To resolve certificates, in ConsoleOne, right-click the Distributor object > click Resolve Certificates.

      IMPORTANT:  ConsoleOne copies the certificate files to Subscriber servers. Therefore, the client software on the workstation running ConsoleOne must have access to the Subscriber servers' file systems. For Windows Subscriber servers, the Domain and Workgroup rights on the workstation must be set up to facilitate automatic certificate copying. Otherwise, a 1204a error will be given.

    2. Make sure the Copy Certificates Automatically to Subscribers radio button is checked > click OK.

    This will copy the new certificate to each Subscriber so that it can receive Distributions from this Distributor, as long as the workstation where you are running ConsoleOne can contact all of the Subscriber servers. If you are prompted for a location to copy the certificates, you must have a drive mapped to the destination server.


Subscriber DNS Name or IP Address Is Changed

Because the Distributor obtains the address of a Subscribers from the Subscriber's object in eDirectory, this information must be updated in the Subscriber object so that it can receive its Distributions.

Changing the DNS name or IP address of a Subscriber causes all encryption certificates contained on the Subscriber to be invalid. Subscribers can have one encryption certificate from each Distributor that sends it encrypted Distributions.

Subscribers can continue to receive non-encrypted Distributions, even if the DNS name or IP address is changed.

The following sections outline the steps to resolve DNS name or IP address changes:


Modify the Subscriber Server's Identification Attributes

You must first modify the Network Address attribute on the Other tab in the Distributor and Subscriber objects' properties. To accomplish this, do the following as applicable.

If the server is using the DNS Name attribute to identify itself, do the following:

  1. In ConsoleOne, right-click the Subscriber object > click Properties > click the Other tab.

  2. Click the + symbol to the left of the NetWork Address.

  3. Click the icon to the left of the field you want to modify.

    A Browse button will be displayed to the right.

  4. Click the Browse button.

  5. If you are modifying the DNS Name field, click the drop-down list at the top of the box where Type 13 is displayed.

  6. Change the value from Type 13 to IP > then change IP back to Type 13.

    This resets the value to now recognize the new DNS name.

  7. Click the Browse button to the right of the NetAddress field in the lower portion of the box.

  8. Click Servers DNS Name (on the right side of the box) > change it to the new name.

  9. Click OK to return to the Other tab.

  10. Click OK to finish.

If the server is using the IP Address attribute to identify itself, do the following:

  1. In ConsoleOne, right-click the Subscriber object > click Properties > click the Other tab.

  2. Click the + symbol to the left of the NetWork Address.

  3. Click the icon to the left of the field you want to modify.

    A Browse button will be displayed to the right.

  4. Click the Browse button.

    The IP address will be displayed in the lower portion of the dialog box.

  5. Change the IP address to the new one.

  6. Click OK to return to the Other tab.

  7. Click OK to finish.


Resolve the New Certificates

To reproduce valid encryption certificates for the Subscriber, follow the instructions under Distribution Security Using Encryption.


Certificate and Private Key Directories

Certificates and private keys for Policy and Distribution Services are stored in the following locations in the .KEYSTORE file:


Creating Security Certificates for Non-Encrypted Distributions

To create a certificate on a Distributor and copy it to its associated Subscribers:

  1. On the server where a Distributor is installed, make sure its Distributor Agent is running (use TED.NCF on a NetWare server, restart the Novell ZfS Distribution service on a Windows server, or enter /etc/init.d/zfs start on a UNIX server).

    This Java process will create the certificate and write it into eDirectory.

  2. Copy the certificate to each Subscriber using one of the following methods:

    • If your Channels and Distributions are set up, in ConsoleOne, right-click the Distributor object > click Resolve Certificates > click OK. Make sure the Copy Certificates Automatically to Subscribers radio button is checked before clicking OK. This will copy the new certificate to each Subscriber so that it can receive Distributions from this Distributor.

      For information on resolving certificates, see Resolving Certificates.

    • If necessary, associate Subscribers with a Channel > create a Distribution for the Distributor > associate the Distribution with a Channel. When you click OK you will be prompted to resolve the certificate. Respond to the query with Yes to resolve certificates for all Subscribers. The certificates are copied to all of the associated Subscribers. The Subscriber Java process does not need to be running on the Subscriber server; the server only needs to be up.
    • Manually copy the Distributor's certificate to each Subscriber server's installation_path\ZENWORKS\PDS\TED\SECURITY directory (on UNIX, usr/ZENworks/PDS/TED/Security).
    • Right-click a Subscriber object > click Resolve Certificates (repeat for each Subscriber object). This option might only be available if you answered No when prompted to copy security certificates.

    Note that the first two options are the easiest when there are many Subscribers receiving Distributions from one Distributor.

  3. Because each Distributor creates its own security certificate, repeat Step 1 and Step 2 for each Distributor object in the tree.


Manually Copying Certificates for Non-Encrypted Distributions

To manually copy certificates to Subscribers using ConsoleOne, do the following:

  1. Right-click a Distributor, Subscriber, or External Subscriber object > click Resolve Certificates.

    or

    Click File > Resolve Certificates.

  2. Click the Save Certificates to Disk radio button.

  3. Enter a path for where to copy the certificate file > click OK.

    The certificate file that is copied to this path will be named using the following syntax:

    DNS_Name.CER
  4. Copy the DNS_name.CER file from the path you gave to the Subscriber server's ZENWORKS\PDS\TED\SECURITY directory (on UNIX, usr/ZENworks/PDS/TED/Security).