Nutanix Controller VM Security Operations Guide
Nutanix Controller VM Security Operations Guide
1. Introduction....................................................................................................3
Nutanix Security Model................................................................................................................................3
Pulse Support.............................................................................................................................................. 4
Security | Introduction | 3
management domain is a crucial aspect of defense-in-depth approach to ensure that the network design is
one of the many layers of the protection model.
Pulse Support
Pulse functionality provides the cluster-related statistic information to the Nutanix customer support. This
functionality is enabled by default. If your need to disable the pulse, see Prism Web Console Guide for a
detailed procedure.
2
Security Configuration Management Automation
Security configuration management automation (SCMA) checks over 800 security entities in the Nutanix
Security Technical Implementation Guide (STIGs) that cover both storage and built-in virtualization.
Nutanix leverages SaltStack and SCMA to self-heal any deviation from the security baseline configuration
of the operating system and hypervisor to remain in compliance. If any component is found as non-
compliant then the component is set back to the supported security settings without any intervention.
Hardening Controller VM
You can use Nutanix Command Line Interface (nCLI) in order to customize the various configuration
settings related to CVM as described below.
• Run the following command to support cluster-wide configuration of the SCMA policy.
nutanix@cvm$ ncli cluster get-cvm-security-config
• Run the following command to schedule weekly execution of Advanced Intrusion Detection Environment
(AIDE).
nutanix@cvm$ ncli cluster edit-cvm-security-params enable-aide=true
• Run the following command to enable the settings to allow only SNMP version 3.
nutanix@cvm$ ncli cluster edit-cvm-security-params enable-snmpv3-only=true
• Run the following command to change the default schedule of running the SCMA. The schedule can be
hourly, daily, weekly, and monthly.
nutanix@cvm$ ncli cluster edit-cvm-security-params schedule=hourly
• Run the following command to enable the settings so that CVM can generate stack traces for any
cluster issue.
nutanix@cvm$ ncli cluster edit-cvm-security-params enable-core=true
Note: Nutanix recommends that Core should not be set to true unless instructed by the Nutanix support
team.
• When a high governance official needs to run the hardened configuration then the settings should be as
follows.
Enable Aide : true
Enable Core : false
Enable High Strength P... : true
Enable Banner : false
Enable SNMPv3 Only : true
• When a federal official needs to run the hardened configuration then the settings should be as follows.
Enable Aide : true
Enable Core : false
Enable High Strength P... : true
Enable Banner : true
Enable SNMPv3 Only : true
Schedule : HOURLY
/srv/salt/security/CVM/sshd/DODbannerbak
• Run the following command to set the banner for all nodes through nCLI.
nutanix@cvm$ ncli cluster edit-cvm-security-params enable-banner=true
Hardening AHV
You can use Nutanix Command Line Interface (nCLI) in order to customize the various configuration
settings related to AHV as described below.
• Run the following command to get the cluster-wide configuration of the SCMA policy.
nutanix@cvm$ ncli cluster get-hypervisor-security-config
• Run the following command to enable the Advanced Intrusion Detection Environment (AIDE) to run on a
weekly basis.
nutanix@cvm$ ncli cluster edit-hypervisor-security-params enable-aide=true
enable-high-strength-password=true
• Run the following command to enable the defense knowledge consent banner of the US department.
nutanix@cvm$ ncli cluster edit-hypervisor -security-params enable-banner=true
• Run the following command to change the default schedule of running the SCMA. The schedule can be
hourly, daily, weekly, and monthly.
nutanix@cvm$ ncli cluster edit-hypervisor-security-params schedule=hourly
• Run the following command to enable the settings so that AHV can generate stack traces for any
cluster issue.
nutanix@cvm$ ncli cluster edit-hypervisor-security-params enable-core=true
Note:
Nutanix recommends that Core should not be set to true unless instructed by the Nutanix support
team.
• When a high governance official needs to run the hardened configuration then the settings should be as
follows.
Enable Aide : true
Enable Core : false
Enable High Strength P... : true
Enable Banner : false
• When a federal official needs to run the hardened configuration then the settings should be as follows.
Enable Aide : true
Enable Core : false
Enable High Strength P... : true
Enable Banner : true
Schedule : HOURLY
• Run the following command to set the banner for all nodes through nCLI.
nutanix@cvm$ ncli cluster edit-hypervisor-security-params enable-banner=true
Note:
• Ensure that you store the modified nutanix user password, since the local authentication (PAM)
module requires the previous password of the nutanix user to successfully start the password
reset process.
• For the root account, both the console and SSH direct login is disabled.
• In the subsequent release, the nutanix user interactive emergency account will be converted
to a disabled service account. Hence, it is recommended to use the admin user as the
administrative emergency account.
For all the external authentication, the cluster must be configured to use an external IAM service such
as an active directory. Service accounts should be created on the IAM and accounts should have
access grants to the cluster through Prism web console user account management configuration for
authentication.
Password Expiry
The compliance standards for the password expiration are as follows.
• User account passwords should be set to expire in 60 days.
• Service account passwords should be set to expire in 365 days.
• CVM can create new user accounts with a 60 day password expiry by default.
• Nutanix and root accounts are set to 99999 days by default.
It is recommended to check the expiry of all the interactive accounts to meet both security and operational
requirements.
Run the following command on a CVM (not required, if root is disabled) or AHV host to modify the expiry of
the root account.
nutanix@cvm$ for i in `svmips`; do echo cvm $i; ssh $i \
Run the following command to modify the expiry of the nutanix account.
nutanix@cvm$ for i in `svmips`; do echo cvm $i; ssh $i \
You can use this command to modify any user, replacing the interactive account user name and the
number of days to meet the expiry standards of the organization.
Hardening Cluster
For the remote connections, CVM and AHV hosts should be included the secure shell (SSH). According
to the compliance standards for non-repudiation, SSH key pairs need to be established to identify non-
repudiated logins, and the public key supplied in the Prism Web Console user interface.
1. Run the following command as a Security Manager on a Unix or Linux host to establish a SSH key pair.
$ ssh-keygen -t rsa -b 3072 (or 4096)
For each user, the key pair (id_rsa and id_rsa.pub) should be stored by the security manager.
2. To load the public key for CVM or AHV access, click the gear icon in the Prism Web Console and select
Cluster Lockdown.
2. Run the following command to document the fingerprint for each public key assigned to an individual
admin.
nutanix@cvm$ ssh-keygen -lf /<location of>/id_rsa.pub
The fingerprint is then compared to the SSH daemon log entries and forwarded to the central log host
(/home/log/secure in CVM).
Note: After completion of the ssh public key inclusion in Prism and verification of connectivity, disable the
password authentication for all the CVMs and AHV hosts. From the Prism main menu, de-select Cluster
Lockdown configuration > Enable Remote Login with password check box from the gear icon drop-down
list.
Nutanix recommends that for both production and high governance compliance environments this needs
to be changed to include only the localhost entries and the management network subnet for the restricted
operations.
sshd: 127.0.0.1 : ALLOW
sshd: [::1] : ALLOW
sshd: 192.168.5. : ALLOW
sshd: 1.2.3. : ALLOW
sshd: 4.5.6. : ALLOW
rpcbind: 127.0.0.1 : ALLOW
rpcbind: [::1] : ALLOW
rpcbind: 192.168.5. : ALLOW
rpcbind: 1.2.3. : ALLOW
rpcbind: 4.5.6. : ALLOW
snmpd: 127.0.0.1 : ALLOW
snmpd: [::1] : ALLOW
snmpd: 192.168.5. : ALLOW
snmpd: 1.2.3. : ALLOW
snmpd: 4.5.6. : ALLOW
snmptrapd: 127.0.0.1 : ALLOW
snmptrapd: [::1] : ALLOW
snmptrapd: 192.168.5. : ALLOW
snmptrapd: 1.2.3. : ALLOW
snmptrapd: 4.5.6. : ALLOW
When you connect to the Nutanix services, you should either be in the restricted subnet or use VPN to
connect to the subnet after the changes are applied.
Note: Any changes made to the /etc/hosts.allow file are lost when the CVM is upgraded to a newer
version. Hence, you need to again perform the tcp_wrapper integration after an upgrade. When the SCMA runs
any modification to the /etc/hosts.allow file is overwritten.
Note: The libwrapped services from CVM to hypervisor traffic must be allowed to restrict the network access
by using a tcp_wrapper. In a scenario where multiple clusters of hypervisors with multiple subnets need to route
the traffic so that the CVM can view all the hypervisor subnets. Verify that all subnets are included for all the
libwrapped services.
Log Forwarding
The Nutanix CVM provides a method for log integrity by using a cluster-wide setting to forward all the logs
to a central log host. Due to the appliance form factor of the CVM, system and audit logs does not support
Note: The audit in the CVM uses the audisp plugin by default to ship all the audit logs to the rsyslog daemon
(stored in /home/log/messages). Searching for audispd in the central log host provides the entire content of
the audit logs from the CVM. The audit daemon is configured with a rules engine that adheres to the auditing
requirements of the Operating System Security Requirements Guide (OS SRG), and is embedded as part of the
CVM STIG.
Use the nCLI to enable forwarding of system, audit, aide, and SCMA logs of all the CVM nodes in a cluster
at the required log level.
Run the following command to configure a central log host for all the nodes in a cluster.
nutanix@cvm$ ncli rsyslog-config edit-server name=nodeD \
level=info server-name=nodeD
Note: Nutanix recommends that central log host needs to be tested thoroughly to ensure that all logs are
received from the CVM. The recommended log setting for troubleshooting requirements is error.
Replacing a Certificate
Nutanix simplifies the process of certificate replacement to support the need of Certificate Authority (CA)
based chains of trust. Nutanix recommends you to replace the default supplied self-signed certificate with a
CA signed certificate.
a. Run the following OpenSSL command to generate a RSA 2048 private key and the Certificate
Signing Request (CSR).
openssl req -out server.csr -new -newkey rsa:2048 -nodes -sha256 -subj \
-keyout server.key
b. Run the following OpenSSL command to generate a EC DSA 256 private key and the Certificate
Signing Request (CSR).
openssl ecparam -out dsakey.pem -name prime256v1 –genkey openssl req -out \
Note: To adhere the high security standards of NIST SP800-131a compliance, requirements of the RFC
6460 for NSA Suite B, provide the optimal performance for encryption. The certificate import process
validates the correct signature algorithm used for a given key or certificate pair.
5. Run the following command to concatenate the list of CA certificates into a chain file.
cat signer.crt inter.crt root.crt > server.cert
Note: The chain should start with the certificate of the signer and ends with the root CA certificate.