Appendix A. Configuring encryption during deployment

A.1. Configuring TLS/SSL during deployment using a Certificate Authority signed certificate

A.1.1. Before you begin

Ensure that you have appropriate certificates signed by a Certificate Authority before proceeding. Obtaining certificates is outside the scope of this document.

A.1.2. Configuring TLS/SSL encryption using a CA-signed certificate

  1. Ensure that the following files exist in the following locations on all nodes.

    /etc/ssl/glusterfs.key
    The node’s private key.
    /etc/ssl/glusterfs.pem
    The certificate signed by the Certificate Authority, which becomes the node’s certificate.
    /etc/ssl/glusterfs.ca
    The Certificate Authority’s certificate. For self-signed configurations, this file contains the concatenated certificates of all nodes.
  2. Enable management encryption.

    Create the /var/lib/glusterd/secure-access file on each node.

    # touch /var/lib/glusterd/secure-access
  3. Configure encryption.

    Add the following lines to each volume listed in the configuration file generated as part of Chapter 7, Configure Red Hat Gluster Storage for Hosted Engine using the Cockpit UI. This creates and configures TLS/SSL based encryption between gluster volumes using CA-signed certificates as part of the deployment process.

    key=client.ssl,server.ssl,auth.ssl-allow
    value=on,on,"host1;host2;host3"

    Ensure that you save the generated file after editing.

A.2. Configuring TLS/SSL encryption during deployment using a self signed certificate

Add the following lines to the configuration file generated in Chapter 7, Configure Red Hat Gluster Storage for Hosted Engine using the Cockpit UI to create and configure TLS/SSL based encryption between gluster volumes using self signed certificates as part of the deployment process. Certificates generated by gdeploy are valid for one year.

In the configuration for the first volume, add lines for the enable_ssl and ssl_clients parameters and their values:

[volume1]
enable_ssl=yes
ssl_clients=<Gluster_Network_IP1>,<Gluster_Network_IP2>,<Gluster_Network_IP3>

In the configuration for subsequent volumes, add the following lines to define values for the client.ssl, server.ssl, and auth.ssl-allow parameters:

[volumeX]
key=client.ssl,server.ssl,auth.ssl-allow
value=on,on,"<Gluster_Network_IP1>;<Gluster_Network_IP2>;<Gluster_Network_IP3>"