From R80.30, you can configure the Cluster Members to encrypt the Cluster Control Protocol (CCP) traffic they send to each other.
The CCP Encryption introduces new cluster security layer by encrypting the payload of all CCP packets. This eliminates the need to provide a trusted network for the State Synchronization (Delta Sync) traffic.
The CCP Encryption provides secure cluster communication over Layer 3 networks. ClusterXL encrypts the payload of CCP packets (header remains clear) using AES-GCM for efficient authenticated encryption and minimal CPU performance impact.
Notes:
This lets you enable the CCP Encryption only on selected Cluster Members.
$FWDIR/boot/ha_boot.conf
file.These commands apply only to the Cluster Member, on which you run them.
In Gaia Clish:
Command |
Description |
---|---|
|
Shows the CCP Encryption mode. |
|
Enables ( |
In Expert mode:
Command |
Description |
---|---|
|
Shows the CCP Encryption mode. |
|
Shows the CCP Encryption Key and how it was configured - manually, or automatically. |
|
Enables ( |
|
Configures the CCP Encryption Key. For SHA-256, the key must be a string 32 characters long. For SHA-128, the key must be a string 16 characters long. Note - Use this command for debug purposes only. |
To enable the CCP Encryption on each Cluster Member:
Step |
Description |
---|---|
1 |
Connect to the command line. |
2 |
Examine the cluster state and the failover counter:
|
3 |
Examine the CCP Encryption state (by default, it is
|
4 |
Enable the CCP Encryption:
|
5 |
Examine the CCP Encryption state again (must be
|
6 |
Examine the cluster state and the failover counter again: Note - There should be no change in the output from Step 2.
|
7 |
Examine the CCP Encryption Key: Note - The key must be the same on all Cluster Members.
|
8 |
In SmartConsole, install the Access Control Policy on the cluster object. Make sure to install the policy on all Cluster Members at the same time:
|
9 |
Examine the CCP Encryption Key again: Note - The key must change and must be the same on all Cluster Members.
|
10 |
Examine the cluster state and the failover counter again: Note - There should be no change in the output from Step 2.
|
Example:
[Expert@MyClusterMemberA:0]# cphaprob state ... ... [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaprob ccp_encrypt OFF [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaconf ccp_encrypt on [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaprob ccp_encrypt ON [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaprob state ... ... [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaprob ccp_encrypt_key [Mon Feb 11 17:20:43 2019] SHA-256 1234567812345678123456781234567812345678123456781234567812345678 set automatically [Expert@MyClusterMemberA:0]#
Install Policy
[Expert@MyClusterMemberA:0]# cphaprob ccp_encrypt_key [Mon Feb 11 17:25:14 2019] SHA-256 8765432187654321876543218765432187654321876543218765432187654321 set automatically [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaprob state ... ... [Expert@MyClusterMemberA:0]# |
To disable the CCP Encryption on each Cluster Member:
Step |
Description |
---|---|
1 |
Connect to the command line. |
2 |
Examine the cluster state and the failover counter:
|
3 |
Examine the CCP Encryption state (must be
|
4 |
Disable the CCP Encryption:
|
5 |
Examine the CCP Encryption state again (must be
|
6 |
Examine the cluster state and the failover counter again: Note - There should be no change in the output from Step 2.
|
Example:
[Expert@MyClusterMemberA:0]# cphaprob state ... ... [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaprob ccp_encrypt ON [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaconf ccp_encrypt off [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaprob ccp_encrypt OFF [Expert@MyClusterMemberA:0]#
[Expert@MyClusterMemberA:0]# cphaprob state ... ... [Expert@MyClusterMemberA:0]# |
Symptom |
Description |
Next Step |
---|---|---|
Cluster Member fails to enable the CCP Encryption:
|
The encryption key is not configured. |
Do one of these:
|
All Cluster Members are in the ACTIVE state. |
Each Cluster Member might have a different encryption key. |
Update the encryption key:
|
State of Cluster Members is not stable. |
Decryption of CCP packets fails. |
Examine the Encryption Key on each Cluster Member.
|
In case of CCP encryption failure or authentication failure:
Examine the /var/log/messages
files on the Cluster Member for decryption status logs.
To debug the Encryption Key replacement mechanism, run this kernel debug on the Cluster Members during policy installation:
fw ctl zdebug -m cluster + conf
To see the CCP Encryption mechanism in action, run this kernel debug on the Cluster Member:
fw ctl set int fwha_dprint_io 1
fw ctl zdebug -m cluster + ccp