Distribution Security Using Signed Certificates and Digests

There are two features of Tiered Electronic Distribution 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 is 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 by selecting Active Directory Users and Computers, or selecting Local Users and Groups.


Certificate File Locations

Certificates are stored in the \zenworks\pds\ted\security directory on NetWare and Windows Subscriber servers, or in the /var/opt/novell/zenworks/zfs/pds/ted/security directory on Linux and Solaris servers.

WARNING:  Make sure the ...\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 ...\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.Distributions.ZENworks.Novell.com.cer or Distributor_Server001.Distributions.ZENworks.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 is given.

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

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

To initiate resolving certificates:

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

  2. Make sure the Copy Certificates Automatically to Subscribers option is selected, then click OK.

    This copies 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 do not invalidate its certificate. Also, if DNS addressing is being used, changes in a Subscriber's DNS name or IP address do 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 its server's DNS name or IP address, if you change the identifier being used on the Distributor server, Subscribers do 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:

  1. Modify the Distributor Server's Identification Attributes
  2. Create and Send New Certificates

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, then select the Other tab.

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

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

    A Browse button is 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. Select Servers DNS Name (on the right side of the box), then 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, then select the Other tab.

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

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

    A Browse button is displayed to the right.

  4. Click the Browse button.

    The IP address is 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 ZENworks Server Management console prompt, enter exit.

    Windows: In the Services dialog box, stop the Novell ZENworks Service Manager service.

    For information on stopping and starting agents, see "Starting and Stopping Server Management Services" in the Novell ZENworks 6.5 Server Management 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 are automatically created for the Distributor.

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

    1. To resolve certificates, in ConsoleOne, right-click the Distributor object, then 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 is given.

    2. Make sure the Copy Certificates Automatically to Subscribers option is selected, then click OK.

    This copies 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 page 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, then select the Other tab.

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

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

    A Browse button is 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), then 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, then select the Other tab.

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

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

    A Browse button is displayed to the right.

  4. Click the Browse button.

    The IP address is 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 zfs.ncf on a NetWare server, restart the Novell ZENworks Service Manager service on a Windows server, or enter /etc/init.d/novell-zfs start on a Linux or Solaris server).

    This Java process creates the certificate and writes it to eDirectory.

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

    • If your Channels and Distributions are set up, right-click the Distributor object in ConsoleOne, click Resolve Certificates, then click OK. Make sure the Copy Certificates Automatically to Subscribers option is selected before clicking OK. This copies 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, then associate the Distribution with a Channel. When you click OK, you are 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 Linux or Solaris, /var/opt/novell/zenworks/zfs/pds/ted/security). This method is necessary if you do not have a drive mapped to the Linux or Solaris server to the workstation you are using to resolve certificates.
    • Right-click a Subscriber object, then click Resolve Certificates (repeat for each Subscriber object). This option might only be available if you answered No when prompted to copy security certificates.

    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:

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

    or

    Click File, then click Resolve Certificates.

  2. Select the Save Certificates to Disk option.

  3. Provide a path for where to copy the certificate file, then click OK.

    The certificate file that is copied to this path is 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 Linux or Solaris, /var/opt/novell/zenworks/zfs/pds/ted/security).